nexsight 0.4.1 → 0.4.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/insight.min.js +1 -1
- package/insight3.nxs +1 -1
- package/package.json +1 -1
package/insight.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){var t={389:function(){eventStream.registerEvent("insight.occultism.ague",(function ague(t){insight.hasDef({id:"insulation",player:t.target})?insight.removeDef({id:"insulation",player:t.target}):insight.smartAffs({ids:["shivering","frozen"],player:t.target,ordered:!0})})),eventStream.registerEvent("insight.occultism.instill",(function instill(t){insight.adjustHp({id:"percentage",player:t.target,value:-.03}),insight.adjustMana({id:"percentage",player:t.target,value:-.03}),"sensitivity"===t.affs[0]?insight.hasAff({id:"undeaf",player:t.target})?insight.addAff({id:"sensitivity",player:t.target}):insight.addAff({id:"undeaf",player:t.target}):insight.addAff({id:t.affs[0],player:t.target})})),eventStream.registerEvent("insight.occultism.enervate",(function enervate(t){insight.adjustMana({id:"percentage",player:t.target,value:-.2})})),eventStream.registerEvent("insight.occultism.attend",(function attend(t){insight.addAff({id:"undeaf",player:t.target}),insight.addAff({id:"unblind",player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelTargeted",(function shrivelTargeted(t){insight.addAff({id:t.affs[0],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelArms",(function shrivelArms(t){insight.smartAffs({ids:["brokenrightarm","brokenleftarm"],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelLegs",(function shrivelLegs(t){insight.smartAffs({ids:["brokenrightarm","brokenleftarm"],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelRehit",(function shrivelRehit(t){var r=t.groups.limb.replace(" ","").toLowerCase();"arm"===r?(insight.confirmAff({id:"brokenleftarm",player:t.target,state:!0}),insight.confirmAff({id:"brokenrightarm",player:t.target,state:!0})):"leg"===r?(insight.confirmAff({id:"brokenleftleg",player:t.target,state:!0}),insight.confirmAff({id:"brokenrightleg",player:t.target,state:!0})):insight.confirmAff({id:"broken".concat(r),player:t.target,state:!0})})),eventStream.registerEvent("insight.occultism.unnamableSpeak",(function unnamableSpeak(t){var r=GMCP.RoomPlayers.map((function(t){return t.name}));nexAction.triggers.add({id:"insight.occultism.unnamableSpeak",tags:["insight"],regex:/^(\w+) pales as the blood drains from \w+ face\.$/,action:function action(t){insight.addAff({id:"undeaf",player:t[1]}),r=r.filter((function(r){return r!==t[1]}))},onRemove:function onRemove(){console.log("onremove player",r),r.forEach((function(t){return insight.removeAff({id:"undeaf",player:t})}))}}),eventStream.registerEvent("PromptEvent",(function(){nexAction.triggers.remove("insight.occultism.unnamableSpeak")}),!0)})),eventStream.registerEvent("insight.occultism.unnamableVision",(function unnamableVision(t){var r=GMCP.RoomPlayers.map((function(t){return t.name}));nexAction.triggers.add({id:"insight.occultism.unnamableVision",tags:["insight"],regex:/^(\w+) pales as the blood drains from \w+ face\.$/,action:function action(t){insight.addAff({id:"unblind",player:t[1]}),r=r.filter((function(r){return r!==t[1]}))},onRemove:function onRemove(){r.forEach((function(t){return insight.removeAff({id:"unblind",player:t})}))}}),eventStream.registerEvent("PromptEvent",(function(){nexAction.triggers.remove("insight.occultism.unnamableVision")}),!0)})),eventStream.registerEvent("insight.occultism.devolve",(function devolve(t){insight.addAff({id:"shyness",player:t.target}),insight.addAff({id:"disloyalty",player:t.target})})),eventStream.registerEvent("insight.occultism.whisperingmadness",(function whisperingmadness(t){insight.addAff({id:"whisperingmadness",player:t.target})})),eventStream.registerEvent("insight.occultism.whisperingmadnessMiss",(function whisperingmadnessMiss(t){insight.occultist.whisperingmadness.forEach((function(r){return insight.removeAff({id:r,player:t.target})}))})),eventStream.registerEvent("insight.occultism.cleanseaura",(function cleanseaura(t){insight.checkBlock("A look of sudden concern")?insight.addAff({id:"cleanseaura",player:t.target}):insight.removeAff({id:"cleanseaura",player:t.target})}))},473:function(){eventStream.registerEvent("insight.tarot.magician",(function magician(t){insight.adjustMana({id:"percentage",player:t.target,value:.25})})),eventStream.registerEvent("insight.tarot.priestess",(function priestess(t){insight.adjustHp({id:"percentage",player:t.target,value:.25})})),eventStream.registerEvent("insight.tarot.lovers",(function lovers(t){insight.addAff({id:"lovers",player:t.target})})),eventStream.registerEvent("insight.tarot.aeon",(function aeon(t){insight.removeDef({id:"speed",player:t.target}),insight.addAff({id:"aeon",player:t.target})})),eventStream.registerEvent("insight.tarot.aeonStrip",(function aeonStrip(t){insight.removeDef({id:"speed",player:t.target}),setTimeout((function(){insight.addDef({id:"speed",player:t.target})}),4250)})),eventStream.registerEvent("insight.tarot.justice",(function justice(t){insight.addAff({id:"justice",player:t.target})})),eventStream.registerEvent("insight.tarot.deathRub",(function deathRub(t){insight.hasDef({id:"insulation",player:t.target})?insight.removeDef({id:"insulation",player:t.target}):insight.addAff({id:"shivering",player:t.target})})),eventStream.registerEvent("insight.tarot.ruinateLovers",(function ruinateLovers(t){insight.addAff({id:"manaleech",player:t.target})})),eventStream.registerEvent("insight.tarot.ruinateJustice",(function ruinateJustice(t){insight.nextLine("violently spasms")||["paralysis","asthma","healthleech","haemophilia","sensitivity","clumsiness","weariness"].forEach((function(t){return insight.confirmAff({id:t,state:!1})}))})),eventStream.registerEvent("insight.tarot.moon",(function moon(t){console.log(JSON.stringify(insight.state.queues[insight.state.lastQueue]));var r=insight.state.queues[insight.state.lastQueue].match(/FLING MOON AT \w+ (\w+)/);r?insight.addAff({id:r[1].toLowerCase(),player:t.target}):insight.smartAffs({ids:["stupidity","masochism","hallucinations","hypersomnia","confusion","epilepsy"],player:t.target})}))},864:function(){function disruption(t){insight.addAff({id:"paralysis",player:t.target})}function laceration(t){insight.addAff({id:"haemophilia",player:t.target})}eventStream.registerEvent("insight.weaving.cleaveHit",(function cleaveHit(t){insight.addAff({id:"prone",player:t.target}),insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.weaving.cleaveMiss",(function cleaveMiss(t){insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.weaving.overhand",(function overhand(t){insight.hasAff({id:"prone",player:t.target})?insight.addAff({id:"impatience",player:t.target}):(insight.addAff({id:"stupidity",player:t.target}),insight.addAff({id:"prone",player:t.target}))})),eventStream.registerEvent("insight.weaving.hamstring",(function hamstring(t){insight.addAff({id:"broken".concat(t.limb.replace(" ","")),player:t.target})})),eventStream.registerEvent("insight.weaving.entwineProne",(function entwineProne(t){insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.weaving.entwineEntangle",(function entwineEntangle(t){insight.addAff({id:"entangled",player:t.target})})),eventStream.registerEvent("insight.weaving.puncture",(function puncture(t){insight.addAff({id:"weariness",player:t.target})})),eventStream.registerEvent("insight.weaving.sever",(function sever(t){insight.addAff({id:"clumsiness",player:t.target})})),eventStream.registerEvent("insight.weaving.unweave",(function unweave(t){t.info&&insight.addAff({id:"unweaving".concat(t.info),player:t.target})})),eventStream.registerEvent("insight.weaving.deathblow",(function deathblow(t){insight.addAff({id:"asthma",player:t.target})})),eventStream.registerEvent("insight.weaving.backhand",(function backhand(t){insight.addAff({id:"stupidity",player:t.target}),insight.addAff({id:"dizziness",player:t.target})})),eventStream.registerEvent("insight.weaving.exsanguinate",(function exsanguinate(t){insight.addAff({id:"nausea",player:t.target})})),eventStream.registerEvent("insight.weaving.disruption",disruption),eventStream.registerEvent("insight.weaving.disruption2",disruption),eventStream.registerEvent("insight.weaving.laceration",laceration),eventStream.registerEvent("insight.weaving.laceration2",laceration),eventStream.registerEvent("insight.weaving.dazzle",(function dazzle(t){insight.addAff({id:"clumsiness",player:t.target})})),eventStream.registerEvent("insight.weaving.rattle",(function rattle(t){insight.addAff({id:"epilepsy",player:t.target})})),eventStream.registerEvent("insight.weaving.vapours",(function vapours(t){insight.addAff({id:"asthma",player:t.target})}))}},r={};function __webpack_require__(i){var a=r[i];if(void 0!==a)return a.exports;var o=r[i]={exports:{}};return t[i](o,o.exports,__webpack_require__),o.exports}!function(){"use strict";var t=["itching","paralysis","fear","brokenrightarm","brokenleftarm","brokenrightleg","brokenleftleg","lapsingconsciousness","aeon","lovers","confusion","epilepsy","pacified","blackout","dazed","justice","slashedthroat","hellsight","peace","dazzled","shyness","dizziness","slickness","asthma","nausea","selarnia","weariness","scytherus","haemophilia","clumsiness","hallucinations","healthleech","dementia","recklessness","anorexia","masochism","impatience","stupidity","generosity","addiction","deadening","manaleech","stuttering","paranoia","agoraphobia","loneliness","claustrophobia","vertigo","hypersomnia","shivering","frozen","burning","sensitivity","hypochondria","lethargy","disloyalty","darkshade","voyria","dissonance","phlogisticated","silver","spiritburn","tenderskin","guilt","skullfractures","wristfractures","crackedribs","torntendons","indifference","retribution","shadowmadness","parasite","depression","timeloop","crushedthroat","tension","unweavingspirit","grievouswounds","pyramides","flushings","rebbies","mycalium","sandfever"],r={ferrum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ferrum",order:["darkshade","haemophilia","lethargy","addiction","scytherus","nausea","flushings","unweavingbody"],prio:0},magnesium:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat magnesium",order:["paralysis","slickness","pyramides"],prio:0},aurum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat aurum",order:["clumsiness","healthleech","sensitivity","weariness","asthma","hypochondria","rebbies","parasite"],prio:0},calamine:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat calamine",order:["undeaf","deafness"],delay:2.5,prio:0},argentum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat argentum",order:["masochism","loneliness","vertigo","recklessness","agoraphobia","guilt","whisperingmadness","spiritburn","tenderskin"],prio:0},cuprum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat cuprum",order:["pacified","peace","lovers","justice","generosity","indifference","retribution","pyre","timeloop"],prio:0},antimony:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat antimony",order:["temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine"],prio:0},arsenic:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat arsenic",order:["unblind"],prio:0},stannum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat stannum",order:["claustrophobia","paranoia","confusion","hypersomnia","hallucinations","dementia"],prio:0},plumbum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["horror","stupidity","epilepsy","dizziness","shyness","impatience","dissonance","depression","sandfever","mycalium","shadowmadness","unweavingmind"],command:"eat plumbum",prio:0},calcite:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["pressure"],command:"eat calcite",prio:0},ginseng:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ginseng",order:["darkshade","haemophilia","lethargy","addiction","scytherus","nausea","flushings","unweavingbody"],prio:0},bloodroot:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bloodroot",order:["paralysis","slickness","pyramides"],prio:0},kelp:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat kelp",order:["clumsiness","healthleech","sensitivity","weariness","asthma","hypochondria","rebbies","parasite"],prio:0},hawthorn:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat hawthorn",order:["undeaf","deafness"],delay:2.5,prio:0},lobelia:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat lobelia",order:["masochism","loneliness","vertigo","recklessness","agoraphobia","guilt","whisperingmadness","spiritburn","tenderskin"],prio:0},bellwort:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bellwort",order:["pacified","peace","lovers","justice","generosity","indifference","retribution","pyre","timeloop"],prio:0},ginger:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ginger",order:["temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine"],prio:0},bayberry:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bayberry",order:["unblind"],prio:0},ash:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ash",order:["claustrophobia","paranoia","confusion","hypersomnia","hallucinations","dementia"],prio:0},goldenseal:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat goldenseal",order:["horror","stupidity","epilepsy","dizziness","shyness","impatience","dissonance","depression","sandfever","mycalium","shadowmadness","unweavingmind"],prio:0},pear:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["pressure"],command:"eat pear",prio:0},smoke:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke cinnabar",order:["aeon","disloyalty","hellsight","manaleech","slickness","deadening","tension","unweavingspirit"],prio:0},cinnabar:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke cinnabar",order:["aeon","deadening","tension","unweavingspirit"],prio:0},malachite:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke malachite",prio:0},realgar:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke realgar",order:["disloyalty","hellsight","manaleech","slickness"],prio:0},elm:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke elm",order:["aeon","deadening","tension","unweavingspirit"],prio:0},skullcap:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke skullcap",prio:0},valerian:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke valerian",order:["disloyalty","hellsight","manaleech","slickness"],prio:0},caloric:{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply caloric",order:["frozen","shivering"],prio:0},"epidermal to body":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to body",order:["anorexia"],prio:0},"epidermal to head":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to head",order:["blindness","scalded","stuttering","deafness"],prio:0},"epidermal to ears":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to ears",order:["deafness"],prio:0},"mending to head":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to head",order:["crushedthroat","dazzled"],prio:0},"mending to arms":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to arms",order:["brokenleftarm","brokenrightarm"],prio:0},"mending to legs":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to legs",order:["brokenleftleg","brokenrightleg"],prio:0},"mending to body":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to body",order:["burning"],prio:0},"restoration to head":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to head",order:["mangledhead","damagedhead","calcifiedskull","concussion","tonguetied"],delay:4,prio:0},"restoration to body":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to body",order:["hypothermia","heartseed","serioustrauma","mildtrauma","calcifiedtorso"],delay:4,prio:0},"restoration to arms":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to arms",order:["mangledleftarm","mangledrightarm","damagedleftarm","damagedrightarm"],delay:4,prio:0},"restoration to legs":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to legs",order:["mangledleftleg","mangledrightleg","damagedleftleg","damagedrightleg"],delay:4,prio:0},insomnia:{bals_req:["free"],bals_used:["free"],blocks:["hypersomnia","sleeping"],command:"insomnia",order:["insomnia"],prio:0},focus:{bals_req:["focus"],bals_used:["focus"],blocks:["impatience","sleeping"],command:"focus",order:["stupidity","epilepsy","dizziness","shyness","claustrophobia","paranoia","confusion","hallucinations","dementia","pacified","peace","lovers","generosity","masochism","loneliness","vertigo","recklessness","agoraphobia","anorexia","stuttering"],prio:0},"health to head":{bals_req:["sip"],bals_used:["sip"],command:"apply health to head",order:["skullfractures"],prio:0},"health to torso":{bals_req:["sip"],bals_used:["sip"],command:"apply health to torso",order:["crackedribs","grievouswounds"],prio:0},"health to arms":{bals_req:["sip"],bals_used:["sip"],command:"apply health to arms",order:["wristfractures"],prio:0},"health to legs":{bals_req:["sip"],bals_used:["sip"],command:"apply health to legs",order:["torntendons","latched","kkractlebrand"],prio:0},concentrate:{blocks:["sleeping","confusion"],command:"concentrate",order:["disrupted"],prio:0},immunity:{bals_req:["immunity"],bals_used:["immunity"],blocks:["sleeping","anorexia"],command:"sip immunity",order:["voyria"],prio:0},stand:{bals_req:["balance","equilibrium"],bals_used:[],blocks:["death","sleeping","paralysis","brokenrightleg","brokenleftleg","damagedleftleg","damagedrightleg","mangledrightleg","mangledleftleg","entangled","transfixation","impaled","webbed","bound"],command:"stand",order:["prone"],prio:0},tree:{bals_used:["tree"],bals_req:["tree"],blocks:["death","sleeping","paralysis",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],command:"touch tree",order:t,prio:0},health:{bals_req:["sip"],bals_used:["sip"],blocks:["sleeping","anorexia"],command:"sip health",prio:0},mana:{bals_req:["sip"],bals_used:["sip"],blocks:["sleeping","anorexia"],command:"sip mana",prio:0},potash:{bals_req:["moss"],bals_used:["moss"],blocks:["sleeping","anorexia"],command:"eat potash",prio:0},moss:{bals_req:["moss"],bals_used:["moss"],blocks:["sleeping","anorexia"],command:"eat moss",prio:0},fitness:{bals_req:["equilibrium","balance","fitness"],bals_used:["balance","fitness"],blocks:["weariness","sleeping"],skills:["Monk","Runewarden"],command:"fitness",order:["asthma"],prio:0},bloodboil:{bals_req:["equilibrium","balance","bloodboil"],bals_used:["equilibrium","bloodboil"],blocks:["death","haemophilia","sleeping",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],skills:["Magi"],command:"cast bloodboil",order:t,prio:0},restore:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"restore",order:["brokenleftarm","brokenrightarm","brokenleftleg","brokenrightleg","skullfractures","torntendons","wristfractures","crackedribs"],prio:0},dragonflex:{bals_req:["balance"],bals_used:["balance"],command:"dragonflex",skills:["Dragon"],order:["webbed","entangled"],prio:0},dragonheal:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"dragonheal",skills:["Dragon"],blocks:["sleeping",["recklessness","weariness"]],order:t,prio:0},might:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"dragonheal",skills:["Dragon"],blocks:["sleeping",["recklessness","weariness"]],order:["weariness","paralysis"].concat(t),prio:0},dwinnu:{bals_req:["voice"],bals_used:["voice"],command:"chant dwinnu",skills:["Bard"],order:["webbed","entangled"],prio:0},rage:{bals_req:["rage"],bals_used:["rage"],command:"rage",skills:["Runewarden"],order:["pacified","peace","lovers","generosity"],prio:95},salt:{bals_req:["equilibrium","salt"],bals_used:["salt","equilibrium"],blocks:["stupidity","sleeping"],skills:["Alchemist"],command:"educe salt",order:t,prio:0},siphon:{bals_req:["angel"],bals_used:["angel"],blocks:["sleeping"],skills:["Apostate","Priest"],command:"educe salt",order:t,prio:0},shrugging:{bals_req:["equilibrium","balance","shrugging"],bals_used:["shrugging"],blocks:["weariness","sleeping"],skills:["Serpent"],command:"shrugging",order:t,prio:0},slough:{bals_req:["equilibrium","balance","slough"],bals_used:["slough","balance"],blocks:["weariness","sleeping"],skills:["Fire Elemental Lord"],command:"slough impurities",order:t,prio:0},fool:{bals_req:["equilibrium","balance","fool"],bals_used:["fool","balance"],blocks:["death","prone","paralysis","sleeping",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],skills:["Occultist"],command:"fling fool at me",order:t,prio:0},alleviate:{bals_req:["equilibrium","balance","alleviate"],bals_used:["alleviate","balance"],blocks:["paralysis","sleeping"],skills:["Blademaster"],command:"alleviate",order:t,prio:0},accelerate:{bals_req:["equilibrium","balance","accelerate"],bals_used:["accelerate","balance"],blocks:["recklessness"],skills:["Depthswalker"],command:"accelerate",order:t,prio:0},sun:{bals_req:["sun"],bals_used:["sun"],blocks:[],skills:["Runewarden","Occultist"],command:"sun",order:t,prio:0},generic:{bals_req:["free"],bals_used:["free"],blocks:[],skills:[],command:"generic",order:t,prio:0},ruinateJustice:{bals_req:["free"],bals_used:["free"],blocks:[],command:"ruinate justice",order:["paralysis","asthma","clumsiness","weariness","haemophilia","sensitivity","healthleech"],prio:0}},i=function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)};function ownKeys(t,r){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(i),!0).forEach((function(r){_defineProperty(t,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(i,r))}))}return t}function _defineProperty(t,r,i){return r in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}var a=function generateChunk(t,r,i){var a=document.createElement("span");return a.style.color=r,a.style.backgroundColor=i,a.textContent=t,a},o={antimony:{fg:"olive",bg:""},argentum:{fg:"royalblue",bg:""},arsenic:{fg:"",bg:""},aurum:{fg:"ForestGreen",bg:""},azurite:{fg:"",bg:""},calamine:{fg:"",bg:""},calcite:{fg:"slategray",bg:""},cinnabar:{fg:"greenyellow",bg:""},cuprum:{fg:"DeepSkyBlue",bg:""},ferrum:{fg:"DarkOrange",bg:""},gypsum:{fg:"",bg:""},magnesium:{fg:"Red",bg:""},plumbum:{fg:"Gold",bg:""},quartz:{fg:"",bg:""},quicksilver:{fg:"",bg:""},realgar:{fg:"firebrick",bg:""},stannum:{fg:"Tan",bg:""},caloric:{fg:"darkseagreen",bg:""},mending:{fg:"orchid",bg:""},epidermal:{fg:"sienna",bg:""},restoration:{fg:"darkviolet",bg:""},health:{fg:"lightpink",bg:""},writhe:{fg:"paleyellow",bg:"darkslategray"}},l={addiction:_objectSpread({shortName:"add"},o.ferrum),aeon:_objectSpread({shortName:"ae"},o.cinnabar),agoraphobia:_objectSpread({shortName:"agor"},o.argentum),amnesia:{shortName:"amn",fg:"",bg:""},anorexia:_objectSpread({shortName:"ANO"},o.epidermal),asthma:_objectSpread({shortName:"AST"},o.aurum),blackout:{shortName:"bo",fg:"",bg:""},blindness:_objectSpread({shortName:"unb"},o.arsenic),bound:_objectSpread({shortName:"bnd"},o.writhe),brokenleftarm:_objectSpread({shortName:"la1"},o.mending),brokenleftleg:_objectSpread({shortName:"ll1"},o.mending),brokenrightarm:_objectSpread({shortName:"ra1"},o.mending),brokenrightleg:_objectSpread({shortName:"rl1"},o.mending),bruisedribs:{shortName:"ribs",fg:"",bg:""},burning:_objectSpread({shortName:"burn"},o.mending),calcifiedskull:_objectSpread({shortName:"calh"},o.restoration),calcifiedtorso:_objectSpread({shortName:"calt"},o.restoration),claustrophobia:_objectSpread({shortName:"clau"},o.stannum),cleanseaura:{shortName:"cleanse",fg:"",bg:""},clumsiness:_objectSpread({shortName:"clu"},o.aurum),concussion:_objectSpread({shortName:"conc"},o.restoration),confusion:_objectSpread({shortName:"con"},o.stannum),corruption:{shortName:"corr",fg:"",bg:""},crackedribs:_objectSpread({shortName:"cr"},o.health),crushedthroat:_objectSpread({shortName:"cru"},o.mending),daeggerimpale:_objectSpread({shortName:"daeg"},o.writhe),damage:{shortName:"dmg",fg:"tomato",bg:""},damagedleftarm:_objectSpread({shortName:"la2"},o.restoration),damagedleftleg:_objectSpread({shortName:"ll2"},o.restoration),damagedrightarm:_objectSpread({shortName:"ra2"},o.restoration),damagedrightleg:_objectSpread({shortName:"rl2"},o.restoration),damagedhead:_objectSpread({shortName:"hd2"},o.restoration),darkshade:_objectSpread({shortName:"dark"},o.ferrum),dazed:_objectSpread({shortName:"dzd"},o.cinnabar),dazzled:_objectSpread({shortName:"dzl"},o.mending),deadening:_objectSpread({shortName:"dea"},o.cinnabar),deafness:_objectSpread({shortName:"und"},o.calamine),dehydrated:{shortName:"deh",fg:"",bg:""},dementia:_objectSpread({shortName:"dem"},o.stannum),depression:_objectSpread({shortName:"dep"},o.plumbum),deteriorate:{shortName:"det",fg:"",bg:""},disloyalty:_objectSpread({shortName:"disl"},o.realgar),disrupted:{shortName:"disr",fg:"",bg:""},dissonance:_objectSpread({shortName:"disso"},o.plumbum),dizziness:_objectSpread({shortName:"diz"},o.plumbum),enmesh:_objectSpread({text:"enmsh"},o.writhe),enscorcelled:{shortName:"ensor",fg:"",bg:""},entangled:_objectSpread({shortName:"entgl"},o.writhe),epilepsy:_objectSpread({shortName:"epi"},o.plumbum),fear:{shortName:"fear",fg:"",bg:""},flushings:_objectSpread({shortName:"flush"},o.ferrum),frozen:_objectSpread({shortName:"frz"},o.caloric),generosity:_objectSpread({shortName:"gen"},o.cuprum),grievouswounds:_objectSpread({shortName:"grv"},o.health),guilt:_objectSpread({shortName:"gui"},o.argentum),haemophilia:_objectSpread({shortName:"haem"},o.ferrum),hallucinations:_objectSpread({shortName:"hall"},o.stannum),hamstrung:{shortName:"hms",fg:"",bg:""},healthleech:_objectSpread({shortName:"hthl"},o.aurum),heartseed:_objectSpread({shortName:"heart"},o.restoration),hellsight:_objectSpread({shortName:"hell"},o.realgar),horror:_objectSpread({shortName:"hor"},o.plumbum),hypersomnia:_objectSpread({shortName:"hypers"},o.stannum),hypochondria:_objectSpread({shortName:"hypoch"},o.aurum),hypothermia:_objectSpread({shortName:"hypoth"},o.restoration),icefisted:{shortName:"ice",fg:"",bg:""},impaled:_objectSpread({shortName:"impl"},o.writhe),impatience:_objectSpread({shortName:"IMPAT"},o.plumbum),indifference:_objectSpread({shortName:"ind"},o.cuprum),itching:_objectSpread({shortName:"itch"},o.epidermal),justice:_objectSpread({shortName:"just"},o.cuprum),kkractlebrand:_objectSpread({shortName:"kkr"},o.health),laceratedthroat:_objectSpread({shortName:"lac2"},o.restoration),latched:_objectSpread({shortName:"latch"},o.health),lethargy:_objectSpread({shortName:"let"},o.ferrum),lightbind:{shortName:"light",fg:"",bg:""},loneliness:_objectSpread({shortName:"lon"},o.argentum),lovers:_objectSpread({shortName:"love"},o.cuprum),manaleech:_objectSpread({shortName:"man"},o.realgar),mangledleftarm:_objectSpread({shortName:"la3"},o.restoration),mangledleftleg:_objectSpread({shortName:"ll3"},o.restoration),mangledrightarm:_objectSpread({shortName:"ra3"},o.restoration),mangledrightleg:_objectSpread({shortName:"rl3"},o.restoration),mangledhead:_objectSpread({shortName:"hd3"},o.restoration),masochism:_objectSpread({shortName:"maso"},o.argentum),mildtrauma:_objectSpread({shortName:"tor1"},o.restoration),mycalium:_objectSpread({shortName:"myc"},o.plumbum),nausea:_objectSpread({shortName:"nau"},o.ferrum),numbedleftarm:{shortName:"nbla",fg:"",bg:""},numbedrightarm:{shortName:"nbra",fg:"",bg:""},pacified:_objectSpread({shortName:"pac"},o.cuprum),paralysis:_objectSpread({shortName:"PAR"},o.magnesium),paranoia:_objectSpread({shortName:"prn"},o.stannum),parasite:_objectSpread({shortName:"prs"},o.aurum),peace:_objectSpread({shortName:"pea"},o.cuprum),phlogisticated:{shortName:"phlog",fg:"",bg:""},pinshot:{shortName:"psh",fg:"",bg:""},pressure:_objectSpread({shortName:"pres"},o.calcite),prone:{shortName:"pr",fg:"",bg:""},pyramides:_objectSpread({shortName:"pyra"},o.magnesium),pyre:_objectSpread({shortName:"pyre"},o.cuprum),rebbies:_objectSpread({shortName:"reb"},o.aurum),recklessness:_objectSpread({shortName:"reck"},o.argentum),retardation:{shortName:"ret",fg:"",bg:""},retribution:_objectSpread({shortName:"retr"},o.cuprum),revealed:{shortName:"rev",fg:"",bg:""},sandfever:_objectSpread({shortName:"sand"},o.plumbum),scalded:_objectSpread({shortName:"scald"},o.epidermal),scytherus:_objectSpread({shortName:"scy"},o.ferrum),selarnia:_objectSpread({shortName:"sel"},o.mending),sensitivity:_objectSpread({shortName:"sen"},o.aurum),serioustrauma:_objectSpread({shortName:"tor2"},o.restoration),shadowmadness:_objectSpread({shortName:"shad"},o.plumbum),shivering:_objectSpread({shortName:"shiv"},o.caloric),shyness:_objectSpread({shortName:"shy"},o.plumbum),skullfractures:_objectSpread({shortName:"sf"},o.health),slashedthroat:_objectSpread({shortName:"lac1"},o.epidermal),sleeping:{shortName:"slp",fg:"",bg:""},slickness:_objectSpread({shortName:"SLI"},o.magnesium),slimeobscure:{shortName:"nkh",fg:"",bg:""},spiritburn:_objectSpread({shortName:"spirB"},o.argentum),spiritwrack:{shortName:"spirW",fg:"",bg:""},stupidity:_objectSpread({shortName:"st"},o.plumbum),stuttering:_objectSpread({shortName:"stut"},o.epidermal),homunculusmercury:{shortName:"merc",fg:"",bg:""},temperedcholeric:_objectSpread({shortName:"choH"},o.antimony),temperedmelancholic:_objectSpread({shortName:"melaH"},o.antimony),temperedphlegmatic:_objectSpread({shortName:"phleH"},o.antimony),temperedsanguine:_objectSpread({shortName:"sanH"},o.antimony),tenderskin:_objectSpread({shortName:"tend"},o.argentum),tension:_objectSpread({shortName:"tens"},o.cinnabar),timeflux:{shortName:"tmfx",fg:"",bg:""},timeloop:_objectSpread({shortName:"tmlp"},o.cuprum),tonguetied:_objectSpread({shortName:"tngt"},o.restoration),torntendons:_objectSpread({shortName:"tt"},o.health),transfixation:_objectSpread({shortName:"trfx"},o.writhe),unweavingbody:_objectSpread({shortName:"unwM"},o.ferrum),unweavingspirit:_objectSpread({shortName:"unwS"},o.cinnabar),unweavingmind:_objectSpread({shortName:"unwM"},o.plumbum),unblind:{shortName:"unB",fg:"",bg:""},undeaf:{shortName:"unD",fg:"",bg:""},vertigo:_objectSpread({shortName:"vert"},o.argentum),vitrified:{shortName:"vitri",fg:"",bg:""},voidfisted:{shortName:"void",fg:"",bg:""},voyria:{shortName:"voy",fg:"",bg:""},weariness:_objectSpread({shortName:"wea"},o.aurum),webbed:_objectSpread({shortName:"web"},o.writhe),whisperingmadness:_objectSpread({shortName:"mad"},o.argentum),wristfractures:_objectSpread({shortName:"wf"},o.health)},c=function colorGradation(t){return"hsl(".concat(1.2*t,", 100%, ").concat(t<75?50:Math.abs(t-100)/2+25,"%)")},d={notice:function notice(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i="#784695",a="#CBCE91FF",o="#FFF2D7",l=document.createElement("span");l.setAttribute("class","mono"),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(i),innerHTML:"<<"})),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(a),innerHTML:"insight"})),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(i),innerHTML:">> "})),r?l.insertAdjacentHTML("beforeend",t):l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(o),innerHTML:t})),nexusclient.add_html_line(l.outerHTML)},affUpdate:function affUpdate(t,r){var o,c,d=document.createElement("span");return d.setAttribute("class","mono"),o=r?a("+aff ","lime"):a("-aff ","red"),d.appendChild(o),l[t]?c=a(i(t),l[t].fg||"",l[t].bg||""):(c=a(i(t)),console.error("Insight.display.affUpdate() no affAbrev entry",t)),d.appendChild(c),d.outerHTML},defUpdate:function defUpdate(t,r){var o,l=document.createElement("span");l.setAttribute("class","mono"),o=r?a("+def ","lime"):a("-def ","red"),l.appendChild(o);var c=a(i(t));return l.appendChild(c),l.outerHTML},currentAffDisplayHTML:function currentAffDisplayHTML(){var t=document.createElement("span");t.setAttribute("class","mono"),t.appendChild(a("[","LightGoldenRodYellow")),console.log(insight.currentAffs());for(var r=0;r<insight.currentAffs().length;r++){var i=insight.currentAffs()[r];l[i]?insight.reporting.shortNames?t.appendChild(a(l[i].shortName,l[i].fg,l[i].bg)):t.appendChild(a(i,l[i].fg,l[i].bg)):t.appendChild(a(i));var o=void 0;o=insight.currentAffs().length>1&&r!=insight.currentAffs().length-1?": ".concat(insight.target.affs[i].probability,", "):": ".concat(insight.target.affs[i].probability),t.appendChild(a(o))}return t.appendChild(a("]","LightGoldenRodYellow")),t.outerHTML},currentStatsDisplayHTML:function currentStatsDisplayHTML(){var t=_objectSpread({},insight.target.stats),r=document.createElement("span");r.setAttribute("class","mono");var i=a("".concat(100*t.hp.percentage),c(100*t.hp.percentage));r.appendChild(i);var o=a("|");r.appendChild(o);var l=a("".concat(100*t.mana.percentage),c(100*t.mana.percentage));return r.appendChild(l),r.outerHTML},cureColors:o,affAbbrev:l};function _classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var u=function(){function Timer(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;_classCallCheck(this,Timer),this._id=t,this._enabled=!1,this._startTime=0,this._endTime=0,this._timerId=0,this._defaultLength=r,this.setLength(r),this._callbacks=[]}return function _createClass(t,r,i){return r&&_defineProperties(t.prototype,r),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Timer,[{key:"length",get:function get(){return this._length}},{key:"id",get:function get(){return this._id}},{key:"enabled",get:function get(){return this._enabled}},{key:"setLength",value:function setLength(t){if(t<0)throw new Error("Timer length cannot be negative");this._length=t}},{key:"reset",value:function reset(){clearTimeout(this._timerId),this._enabled=!1,this.setLength(this._defaultLength),this._endTime=performance.now()/1e3,eventStream.raiseEvent("timerReset".concat(this._id))}},{key:"start",value:function start(){clearTimeout(this._timerId),this._startTimer(),eventStream.raiseEvent("timerStarted".concat(this._id))}},{key:"_startTimer",value:function _startTimer(){this._timerId=setTimeout(this.stop.bind(this),1e3*this._length),this._enabled=!0,this._startTime=performance.now()/1e3}},{key:"stop",value:function stop(){this._enabled&&(clearTimeout(this._timerId),this._endTime=performance.now()/1e3,this._enabled=!1,eventStream.raiseEvent("timerStopped".concat(this._id)),this._callbacks.forEach((function(t){return t()})))}},{key:"duration",value:function duration(){return this._enabled?this.elapsed():this._endTime-this._startTime}},{key:"elapsed",value:function elapsed(){return this._enabled?performance.now()/1e3-this._startTime:0}},{key:"remaining",value:function remaining(){return this._enabled?this._length-this.elapsed():this._length}},{key:"addCallback",value:function addCallback(t){if("function"!=typeof t)throw new Error("Callback must be a function");this._callbacks.push(t)}},{key:"clearCallbacks",value:function clearCallbacks(){this._callbacks=[]}}],[{key:"createTimer",value:function createTimer(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Timer(t,r)}}]),Timer}(),h=u.createTimer;function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function _get(t,r,i){var a=_superPropBase(t,r);if(a){var o=Object.getOwnPropertyDescriptor(a,r);return o.get?o.get.call(arguments.length<3?t:i):o.value}},_get.apply(this,arguments)}function _superPropBase(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&null!==(t=_getPrototypeOf(t)););return t}function _inherits(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&_setPrototypeOf(t,r)}function _setPrototypeOf(t,r){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},_setPrototypeOf(t,r)}function _createSuper(t){var r=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var i,a=_getPrototypeOf(t);if(r){var o=_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,o)}else i=a.apply(this,arguments);return _possibleConstructorReturn(this,i)}}function _possibleConstructorReturn(t,r){if(r&&("object"===_typeof(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function Affliction_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Affliction_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Affliction_createClass(t,r,i){return r&&Affliction_defineProperties(t.prototype,r),i&&Affliction_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}var m=function(){function Affliction(t){var i=this;Affliction_classCallCheck(this,Affliction),this.id=t,this._probability=0,this._cures=[],this._have=!1,Object.keys(r).forEach((function(a){var o;null!==(o=r[a].order)&&void 0!==o&&o.includes(t)&&i.cures.push(a)}))}return Affliction_createClass(Affliction,[{key:"cures",get:function get(){return this._cures}},{key:"probability",get:function get(){return this._probability},set:function set(t){this._probability=t}},{key:"have",get:function get(){return this._have},set:function set(t){this._have=t}},{key:"got",value:function got(){this._have||(eventStream.raiseEvent("insightGotAff",this),eventStream.raiseEvent("insightGotAff".concat(this.id),this)),this._have=!0,this._probability=1}},{key:"lost",value:function lost(){this._have&&(eventStream.raiseEvent("insightLostAff",this),eventStream.raiseEvent("insightLostAff".concat(this.id),this)),this.reset()}},{key:"reset",value:function reset(){this._have=!1,this._probability=0}}]),Affliction}(),g=function(t){_inherits(AffTimed,t);var r=_createSuper(AffTimed);function AffTimed(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2?arguments[2]:void 0;return Affliction_classCallCheck(this,AffTimed),(i=r.call(this,t)).timer=h("insightTimer".concat(t),a),i.timer.addCallback((function(){insight.removeAff({id:i.id,player:o})})),i}return Affliction_createClass(AffTimed,[{key:"got",value:function got(){this.timer.start(),_get(_getPrototypeOf(AffTimed.prototype),"got",this).call(this)}},{key:"lost",value:function lost(){this.timer.stop(),_get(_getPrototypeOf(AffTimed.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.timer.stop(),_get(_getPrototypeOf(AffTimed.prototype),"reset",this).call(this)}}]),AffTimed}(m),p=function(t){_inherits(AffCountable,t);var r=_createSuper(AffCountable);function AffCountable(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Affliction_classCallCheck(this,AffCountable),(i=r.call(this,t))._min=a,i._max=o,i._count=a,i._prev=a,i}return Affliction_createClass(AffCountable,[{key:"count",get:function get(){return this._count},set:function set(t){this._prev=this._count,this._count=t}},{key:"prev",get:function get(){return this._prev}},{key:"min",get:function get(){return this._min}},{key:"max",get:function get(){return this._max}},{key:"lost",value:function lost(){this.count=this._min,_get(_getPrototypeOf(AffCountable.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.count=this._min,_get(_getPrototypeOf(AffCountable.prototype),"reset",this).call(this)}},{key:"checkLimits",value:function checkLimits(t){return t>this._max?this._max:t<this._min?this._min:t}},{key:"add",value:function add(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.count=this.checkLimits(this._count+t),this.count>this.min&&!this.have&&this.got()}},{key:"subtract",value:function subtract(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.count=this.checkLimits(this._count-t),count===this.min&&this.lost()}}]),AffCountable}(m),b=["undeaf","unblind","cleanseaura","addiction","aeon","agoraphobia","airfisted","amnesia","anorexia","asphyxiating","asthma","blackout","bleeding","blindness","blistered","bloodfire","bound","brokenleftarm","brokenrightarm","brokenleftleg","brokenrightleg","bruisedribs","burning","cadmuscurse","calcifiedskull","calcifiedtorso","claustrophobia","cleanseaura","clumsiness","coldfate","concussion","condemned","conflagration","confusion","constricted","corruption","crackedribs","cremated","crushedthroat","daeggerimpale","damagedhead","damagedleftarm","damagedleftleg","damagedrightarm","damagedrightleg","darkshade","dazed","dazzled","deadening","deafness","death","deathsickness","deepsleep","degenerate","dehydrated","dementia","demonstain","depression","deteriorate","disloyalty","disrupted","dissonance","dizziness","empoweredmannaz","empoweredloshre","enlightenment","enmesh","ensorcelled","entangled","epilepsy","fear","flamefisted","flushings","frozen","generosity","grievouswounds","guilt","hamstrung","haemophilia","hallucinations","hatred","healthleech","heartseed","hecatecurse","hellsight","hindered","homunculusmercury","horror","hypersomnia","hypochondria","hypothermia","icefisted","impaled","impatience","indifference","inquisition","insomnia","internalbleeding","isolation","itching","justice","kaisurge","kkractlebrand","laceratedthroat","lapsingconsciousness","latched","lethargy","lightbind","loneliness","lovers","lullaby","manaleech","masochism","mildtrauma","mangledleftarm","mangledleftleg","mangledrightarm","mangledrightleg","mangledhead","mindclamp","mindravaged","muddled","mycalium","nausea","numbedleftarm","numbedrightarm","pacified","palpatarfeed","paralysis","paranoia","parasite","peace","penitence","petrified","phlogisticated","pinshot","pressure","prone","pyramides","pyre","rebbies","recklessness","retribution","revealed","sandfever","scalded","scrambledbrains","scytherus","selarnia","sensitivity","serioustrauma","shadowmadness","shivering","shyness","silenced","silver","skullfractures","slashedthroat","sleeping","slickness","slimeobscure","solarburn","spiritburn","stun","stupidity","stuttering","temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine","tenderskin","tension","timeflux","timeloop","tonguetied","torntendons","transfixation","trueblind","unweavingbody","unweavingmind","unweavingspirit","vertigo","vinewreathed","vitiated","vitrified","voidfisted","voyria","waterbonds","weakenedmind","weariness","webbed","whisperingmadness","wristfractures","unconsciousness","harmonic","bop","spiritwrack","bedevil","loki","moon","evileye","dragoncurse","swiftcurse"],v={aeon:{length:16},airfisted:{length:16},blackout:{length:10},blistered:{length:20},bruisedribs:{length:30},cadmuscurse:{length:20},cleanseaura:{length:5},condemned:{length:20},constricted:{length:30},corruption:{length:45},dazzled:{length:60},dehydrated:{length:60},demonstain:{length:120},empoweredloshre:{length:12},empoweredmannaz:{length:20},enmesh:{length:5},ensorcelled:{length:20},flamefisted:{length:30},hamstrung:{length:9},heartseed:{length:11},hecatecurse:{length:16},icefisted:{length:30},internalbleeding:{length:30},inquisition:{length:30},kaisurge:{length:15},lightbind:{length:22},mindravaged:{length:20},mudded:{length:12},numbedleftarm:{length:7.5},numbedrightarm:{length:7.5},petrified:{length:10},palpatarfeed:{length:20},phlogisticated:{length:45},pinshot:{length:18},revealed:{length:60},scalded:{length:20},scrambledbrains:{length:60},silenced:{length:20},silver:{length:180},slimeobscure:{length:60},solarburn:{length:5},stun:{length:3},timeflux:{length:60},trueblind:{length:6},unconsciousness:{length:10},vinewreathed:{length:30},vitrified:{length:45},voidfisted:{length:5},waterbonds:{length:30},weakenedmind:{length:60}},y={pressure:{min:0,max:5},crescendo:{min:0,max:5},unweavingbody:{min:0,max:5},unweavingspirit:{min:0,max:5},unweavingmind:{min:0,max:5},burning:{min:0,max:5},horror:{min:0,max:5},pyre:{min:0,max:3},temperedcholeric:{min:0,max:8},temperedmelancholic:{min:0,max:8},temperedphlegmatic:{min:0,max:8},temperedsanguine:{min:0,max:8},torntendons:{min:0,max:6},crackedribs:{min:0,max:6},skullfractures:{min:0,max:6},wristfractures:{min:0,max:6}};function Balance_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var _=function(){function Balance(t){var r=t.id,i=t.duration;!function Balance_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Balance),this.id=r,this.have=!0,this.timer=h("insightTimer".concat(r),i),this.timer.addCallback(this.reset.bind(this))}return function Balance_createClass(t,r,i){return r&&Balance_defineProperties(t.prototype,r),i&&Balance_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Balance,[{key:"got",value:function got(){this.have=!0,eventStream.raiseEvent("insightGotBal",this),eventStream.raiseEvent("insightGot".concat(this.id),this),this.timer.stop()}},{key:"lost",value:function lost(){var t;this.have=!1,eventStream.raiseEvent("insightLostBal",this),eventStream.raiseEvent("insightLost".concat(this.id),this),null===(t=this.timer)||void 0===t||t.start()}},{key:"reset",value:function reset(){this.have=!0,this.timer.stop()}}]),Balance}(),k={},w=[{id:"balance",duration:1.7},{id:"equilibrium",duration:1.7},{id:"herb",duration:1.2},{id:"smoke",duration:1.2},{id:"salve",duration:.7},{id:"restoration",duration:3.7},{id:"focus",duration:2.2},{id:"tree",duration:14.7},{id:"shrugging",duration:9.7},{id:"fool",duration:9.7},{id:"sun",duration:19.7},{id:"accelerate",duration:9.7}];w.forEach((function(t){return k[t.id]=new _(t)}));function Defence_typeof(t){return Defence_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Defence_typeof(t)}function Defence_get(){return Defence_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function _get(t,r,i){var a=Defence_superPropBase(t,r);if(a){var o=Object.getOwnPropertyDescriptor(a,r);return o.get?o.get.call(arguments.length<3?t:i):o.value}},Defence_get.apply(this,arguments)}function Defence_superPropBase(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&null!==(t=Defence_getPrototypeOf(t)););return t}function Defence_setPrototypeOf(t,r){return Defence_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},Defence_setPrototypeOf(t,r)}function Defence_createSuper(t){var r=function Defence_isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var i,a=Defence_getPrototypeOf(t);if(r){var o=Defence_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,o)}else i=a.apply(this,arguments);return Defence_possibleConstructorReturn(this,i)}}function Defence_possibleConstructorReturn(t,r){if(r&&("object"===Defence_typeof(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return Defence_assertThisInitialized(t)}function Defence_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Defence_getPrototypeOf(t){return Defence_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},Defence_getPrototypeOf(t)}function Defence_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Defence_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Defence_createClass(t,r,i){return r&&Defence_defineProperties(t.prototype,r),i&&Defence_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}var S=function(){function Defence(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Defence_classCallCheck(this,Defence),this.id=t,this.have=r,this.defaultValue=r}return Defence_createClass(Defence,[{key:"got",value:function got(){this.have||(eventStream.raiseEvent("insightGotDef",this),eventStream.raiseEvent("insightGot".concat(this.id),this)),this.have=!0}},{key:"lost",value:function lost(){this.have&&(eventStream.raiseEvent("insightLostDef",this),eventStream.raiseEvent("insightLost".concat(this.id),this)),this.have=!1}},{key:"reset",value:function reset(){this.have=this.defaultValue}}]),Defence}(),A=function(t){!function Defence_inherits(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&Defence_setPrototypeOf(t,r)}(DefTimed,t);var r=Defence_createSuper(DefTimed);function DefTimed(t){var i,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Defence_classCallCheck(this,DefTimed),(i=r.call(this,t,a)).timer=h("insightTimer".concat(t),o),i.timer.addCallback(i.lost.bind(Defence_assertThisInitialized(i))),i}return Defence_createClass(DefTimed,[{key:"got",value:function got(){this.timer.start(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"got",this).call(this)}},{key:"lost",value:function lost(){this.timer.stop(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.timer.stop(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"reset",this).call(this)}}]),DefTimed}(S),j={insomnia:!0,insulation:!0,kola:!0,speed:!0,shield:!1,rebounding:!0,prismatic:!1,cloak:!0,fangbarrier:!0,curseward:!1,selfishness:!0},C={tentacles:{have:!1,length:180}};function Stat_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var O=function(){function Stat(t){var r=t.id,i=t.value;!function Stat_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Stat),this.id=r,this._value=i,this._max=i,this._percentage=1}return function Stat_createClass(t,r,i){return r&&Stat_defineProperties(t.prototype,r),i&&Stat_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Stat,[{key:"value",get:function get(){return this._value},set:function set(t){this._value=t,this._percentage=parseFloat((this._value/this._max).toFixed(3))}},{key:"max",get:function get(){return this._max},set:function set(t){this._max=t,this._percentage=parseFloat((this._value/this._max).toFixed(3))}},{key:"percentage",get:function get(){return this._percentage},set:function set(t){this._percentage=t,this._value=parseInt(this._max*this._percentage)}},{key:"reset",value:function reset(){this._value=this._max,this._percentage=1}}]),Stat}(),E={hp:8e3,mana:8e3};function Limb_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var P=function(){function Limb(t){var r=t.id;!function Limb_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Limb),this.id=r,this.percent=0,this.timer=h("insightTimer".concat(r),180),this.timer.addCallback(this.reset.bind(this))}return function Limb_createClass(t,r,i){return r&&Limb_defineProperties(t.prototype,r),i&&Limb_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Limb,[{key:"hit",value:function hit(t){this.percent+=t,this.percent>=100?this.break():this.timer.start(),eventStream.raiseEvent("insightLimbHit",this),eventStream.raiseEvent("insightLimbHit".concat(this.id),this)}},{key:"break",value:function _break(){this.percent=0,eventStream.raiseEvent("insightLimbBreak",this),eventStream.raiseEvent("insightLimbBreak".concat(this.id),this),this.timer.stop()}},{key:"reset",value:function reset(){this.percent=0,this.timer.stop(),eventStream.raiseEvent("insightLimbReset",this),eventStream.raiseEvent("insightLimbReset".concat(this.id),this)}},{key:"set",value:function set(t){this.percent=t,this.percent>=100?this.break():this.timer.start()}}]),Limb}(),N=["head","torso","leftleg","leftarm","rightleg","rightarm"];function Timeline_ownKeys(t,r){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),i.push.apply(i,a)}return i}function Timeline_objectSpread(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?Timeline_ownKeys(Object(i),!0).forEach((function(r){Timeline_defineProperty(t,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Timeline_ownKeys(Object(i)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(i,r))}))}return t}function Timeline_defineProperty(t,r,i){return r in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||_unsupportedIterableToArray(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _slicedToArray(t,r){return function _arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function _iterableToArrayLimit(t,r){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==i)return;var a,o,l=[],c=!0,d=!1;try{for(i=i.call(t);!(c=(a=i.next()).done)&&(l.push(a.value),!r||l.length!==r);c=!0);}catch(t){d=!0,o=t}finally{try{c||null==i.return||i.return()}finally{if(d)throw o}}return l}(t,r)||_unsupportedIterableToArray(t,r)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _createForOfIteratorHelper(t,r){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||r&&t&&"number"==typeof t.length){i&&(t=i);var a=0,o=function F(){};return{s:o,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){i=i.call(t)},n:function n(){var t=i.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==i.return||i.return()}finally{if(d)throw l}}}}function _unsupportedIterableToArray(t,r){if(t){if("string"==typeof t)return _arrayLikeToArray(t,r);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,r):void 0}}function _arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var i=0,a=new Array(r);i<r;i++)a[i]=t[i];return a}function Timeline_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Timeline_createClass(t,r,i){return r&&Timeline_defineProperties(t.prototype,r),i&&Timeline_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function Timeline_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}var T=Timeline_createClass((function Fork(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Timeline_classCallCheck(this,Fork),this.probability=t,this.affs=r})),x=function(){function Timeline(t){var r=t.affs,i=t.id;Timeline_classCallCheck(this,Timeline),this.playerId=i,this.affs=r,this.present=[new T],this.currentAffs=[],this.history=[],this.isPredicting=!1,this.predictiveCureTimer=null}return Timeline_createClass(Timeline,[{key:"startPredictiveCuring",value:function startPredictiveCuring(){this.isPredicting=!0,this.scheduleNextPredictiveCure()}},{key:"stopPredictiveCuring",value:function stopPredictiveCuring(){this.isPredicting=!1,this.predictiveCureTimer&&(this.predictiveCureTimer.stop(),this.predictiveCureTimer=null)}},{key:"scheduleNextPredictiveCure",value:function scheduleNextPredictiveCure(){var t=this;if(this.isPredicting){var r=this.getNextPredictiveCure();if(r){var i=this.getCureCooldown(r);this.predictiveCureTimer=new Timer(i,(function(){t.applyPredictiveCure(r),t.scheduleNextPredictiveCure()})),this.predictiveCureTimer.start()}}}},{key:"getNextPredictiveCure",value:function getNextPredictiveCure(){var t,r=_createForOfIteratorHelper(curePriorityList);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(this.canPredictivelyCureAff(i)){var a=this.getCureForAff(i);if(a&&this.canUseCure(a))return a}}}catch(t){r.e(t)}finally{r.f()}return null}},{key:"applyPredictiveCure",value:function applyPredictiveCure(t){this.cure(t);var i,a=_createForOfIteratorHelper(r[t].bals_used);try{for(a.s();!(i=a.n()).done;){var o=i.value;this.player.bals[o]&&this.player.bals[o].lost()}}catch(t){a.e(t)}finally{a.f()}}},{key:"canPredictivelyCureAff",value:function canPredictivelyCureAff(t){return this.currentAffs.includes(t)}},{key:"getCureForAff",value:function getCureForAff(t){for(var i=0,a=Object.entries(r);i<a.length;i++){var o=_slicedToArray(a[i],2),l=o[0];if(o[1].order.includes(t))return l}return null}},{key:"canUseCure",value:function canUseCure(t){var i=this;return r[t].bals_req.every((function(t){var r;return null===(r=i.player.bals[t])||void 0===r?void 0:r.have}))}},{key:"getCureCooldown",value:function getCureCooldown(t){var i=this,a=r[t].bals_req.map((function(t){var r;return(null===(r=i.player.bals[t])||void 0===r?void 0:r.remaining())||0}));return Math.max.apply(Math,_toConsumableArray(a))}},{key:"reset",value:function reset(){this.present=[new T],this.currentAffs=[],this.history=[]}},{key:"add",value:function add(t){insight.state.logging&&console.log("add(".concat(t,")"));var r,i=this.affs[t],a=i instanceof p,o=_createForOfIteratorHelper(this.present);try{for(o.s();!(r=o.n()).done;){var l=r.value;if(a){var c=l.affs[t]||i.min;l.affs[t]=i.checkLimits(c+1)}else l.affs[t]=!0}}catch(t){o.e(t)}finally{o.f()}i.got(),this.history.push(t),this.updateAffs(),insight.state.logging&&(console.log("add "+t),console.log(JSON.stringify(this.present)))}},{key:"remove",value:function remove(t){insight.state.logging&&console.log("remove(".concat(t,")")),this.affs[t].lost(),this.present.forEach((function(r){delete r.affs[t]})),this.pruneDuplicates(),this.updateAffs()}},{key:"random",value:function random(t){var r=this;insight.state.logging&&console.log("random(".concat(t,")"));var i=[];t.forEach((function(t){var a,o=_createForOfIteratorHelper(r.present);try{for(o.s();!(a=o.n()).done;){var l=a.value,c=new T(l.probability,Timeline_objectSpread({},l.affs));c.affs[t]||(r.affs[t].have=!0,c.affs[t]=!0),i.push(c)}}catch(t){o.e(t)}finally{o.f()}})),this.present=i.length>0?i:[new T],this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("add ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"smart",value:function smart(t){var r=this;insight.state.logging&&console.log("smart(".concat(t,")"));var i=[];t.forEach((function(t){var a,o=_createForOfIteratorHelper(r.present);try{for(o.s();!(a=o.n()).done;){var l=a.value;l.affs[t]||(r.affs[t].have=!0,i.push(new T(l.probability,Timeline_objectSpread(Timeline_objectSpread({},l.affs),{},Timeline_defineProperty({},t,!0)))))}}catch(t){o.e(t)}finally{o.f()}})),this.present.forEach((function(r){t.every((function(t){return r.affs[t]}))&&i.push(r)})),i.length>0&&(this.present=i),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("smart ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"ordered",value:function ordered(t){insight.state.logging&&console.log("ordered(".concat(t,")"));var r,i=[],a=_createForOfIteratorHelper(this.present);try{for(a.s();!(r=a.n()).done;){var o,l=r.value,c=_createForOfIteratorHelper(t);try{for(c.s();!(o=c.n()).done;){var d=o.value;if(!l.affs[d]){this.affs[d].have=!0,i.push(new T(l.probability,Timeline_objectSpread(Timeline_objectSpread({},l.affs),{},Timeline_defineProperty({},d,!0))));break}}}catch(t){c.e(t)}finally{c.f()}}}catch(t){a.e(t)}finally{a.f()}this.present.forEach((function(r){t.every((function(t){return r.affs[t]}))&&i.push(Timeline_objectSpread({},r))})),i.length>0&&(this.present=i),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("ordered ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"cure",value:function cure(t){var i=this;if(insight.state.logging&&console.log("cure(".concat(t,")")),r[t].bals_used.includes("salve")&&this.salveCure(t))console.log("salveCure() true return");else{var a=r[t].order,o=[],l=!1;this.present.forEach((function(t){var r=Object.keys(t.affs).filter((function(t){return a.includes(t)}));if(insight.state.logging&&console.log("curableAffs",r),0!==r.length){l=!0;var c,d=_createForOfIteratorHelper(r);try{for(d.s();!(c=d.n()).done;){var u=c.value,h=i.affs[u],m=h instanceof p,g=Timeline_objectSpread({},t.affs);if(m){var b=g[u]||h.min,v=h.checkLimits(b-1);v<=h.min?delete g[u]:g[u]=v}else delete g[u];o.push(new T(t.probability/r.length,g))}}catch(t){d.e(t)}finally{d.f()}}})),l&&(this.present=o),this.pruneDuplicates(),this.updateAffs(),this.history.push(t),insight.state.logging&&(console.log("cure ".concat(t)),console.log(JSON.stringify(this.present)))}}},{key:"salveCure",value:function salveCure(t){insight.state.logging&&console.log("salveCure(".concat(t,")"));var i,a=_createForOfIteratorHelper(r[t].order);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(1===this.affs[o].probability)return this.remove(o),!0}}catch(t){a.e(t)}finally{a.f()}return!1}},{key:"confirm",value:function confirm(t,r){insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,")"));var i=this.affs[t].probability;if(r&&1===i||!r&&0===i)insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,") redunant return"));else if(r&&0===i)this.add(t);else if(r||1!==i){var a=this.present.filter((function(i){return insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,") ").concat(Object.keys(i.affs))),Object.keys(i.affs).includes(t)===r}));this.present=a,this.history.push("".concat(t,":").concat(r)),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("confirm ".concat(t," ").concat(r)),console.log(JSON.stringify(this.present)))}else this.remove(t)}},{key:"confirmMultiple",value:function confirmMultiple(t,r){insight.state.logging&&console.log("confirmMultiple(".concat(t,", ").concat(r,")"));var i=this.present.filter((function(i){return t.every((function(t){return i.affs[t]}))===r}));this.present=i,this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("confirmMultiple ".concat(t," ").concat(r)),console.log(JSON.stringify(this.present)))}},{key:"confirmByAfflictionCount",value:function confirmByAfflictionCount(t){var r=t.ids,i=t.count,a=t.condition;insight.state.logging&&console.log("pruneForksByAfflictionCount({ affIds: ".concat(r,", count: ").concat(i,", condition: ").concat(a,"})"));var o,l=[],c=0,d=_createForOfIteratorHelper(this.present);try{for(d.s();!(o=d.n()).done;){var u,h=o.value,m=0,g=_createForOfIteratorHelper(r);try{for(g.s();!(u=g.n()).done;){var p=u.value;h.affs[p]&&(m+=1)}}catch(t){g.e(t)}finally{g.f()}var b=!1;switch(a){case">=":b=m>=i;break;case"<":b=m<i;break;case"=":b=m==i;break;case">":b=m>i;break;case"!=":b=m!==i;break;default:console.error("Invalid condition: ".concat(a)),b=!0}b?(l.push(h),c+=h.probability):console.log("confirmByAfflictionCount",r[0],i,a,h.affs)}}catch(t){d.e(t)}finally{d.f()}if(l.length>0&&c>0){var v,y=_createForOfIteratorHelper(l);try{for(y.s();!(v=y.n()).done;){v.value.probability/=c}}catch(t){y.e(t)}finally{y.f()}this.present=l}else this.present=[new T];this.pruneDuplicates(),this.updateAffs()}},{key:"convert",value:function convert(t,r){insight.state.logging&&console.log("convert(".concat(t,", ").concat(r,")")),this.affs[t].have&&(this.affs[r].got(),this.present.forEach((function(i){i.affs[t]&&(i.affs[r]=i.affs[t],delete i.affs[t])})),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("convert ".concat(t," to ").concat(r)),console.log(JSON.stringify(this.present))))}},{key:"pruneDuplicates",value:function pruneDuplicates(){var t=this;if(insight.state.logging&&console.log("pruneDuplicates()",JSON.stringify(this.present)),1!==this.present.length){var r,i=new Map,a=_createForOfIteratorHelper(this.present);try{for(a.s();!(r=a.n()).done;){var o=r.value,l=Object.entries(o.affs).map((function(r){var i=_slicedToArray(r,2),a=i[0],o=i[1];return 10*t.affs[a].index+(!0===o?1:o)}));l.sort((function(t,r){return t-r}));var c=l.join(",");if(i.has(c))i.get(c).probability+=o.probability;else i.set(c,new T(o.probability,Timeline_objectSpread({},o.affs)))}}catch(t){a.e(t)}finally{a.f()}var d=Array.from(i.values()).reduce((function(t,r){return t+r.probability}),0),u=Array.from(i.values()).map((function(t){return new T(t.probability/d,t.affs)}));this.present=u}else this.present[0].probability=1}},{key:"updateAffs",value:function updateAffs(){insight.state.logging&&console.log("updateAffs()");var t,r={},i=_createForOfIteratorHelper(this.present);try{for(i.s();!(t=i.n()).done;)for(var a=t.value,o=0,l=Object.entries(a.affs);o<l.length;o++){var c=_slicedToArray(l[o],2),d=c[0];c[1];r[d]=(r[d]||0)+a.probability}}catch(t){i.e(t)}finally{i.f()}var u,h=new Set(Object.keys(r)),m=this.currentAffs.filter((function(t){return!h.has(t)})),g=_createForOfIteratorHelper(m);try{for(g.s();!(u=g.n()).done;){var b=u.value;this.affs[b].lost()}}catch(t){g.e(t)}finally{g.f()}this.currentAffs=Array.from(h);var v,y=_createForOfIteratorHelper(this.currentAffs);try{for(y.s();!(v=y.n()).done;){var _=v.value,k=this.affs[_];if(k.probability=parseFloat(r[_].toFixed(2)),k instanceof p){var w,S=0,A=_createForOfIteratorHelper(this.present);try{for(A.s();!(w=A.n()).done;){var j=w.value;if(j.affs[_]){var C=j.affs[_];S+=(!0===C?1:C)*j.probability}}}catch(t){A.e(t)}finally{A.f()}k.count=S/r[_]}}}catch(t){y.e(t)}finally{y.f()}eventStream.raiseEvent("insightAffsUpdated")}}]),Timeline}();function Player_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var D=function(){function Player(t){!function Player_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Player),this._id=t.toLowerCase(),this._properName=i(t.toLowerCase()),this._affs=function generateAffs(t){var r={},i=0;return b.forEach((function(a){var o;(o=v[a]?new g(a,v[a].length,t.id):y[a]?new p(a,y[a].min,y[a].max):new m(a)).index=i,r[a]=o,i++})),r}(this),this._defs=function generateDefs(t){var r={};for(var i in j)Object.hasOwnProperty.call(j,i)&&(r[i]=new S(i,j[i]));for(var a in C)Object.hasOwnProperty.call(C,a)&&(r[a]=new A(a,C[a].have,C[a].length));return r}(),this._stats=function generateStats(){var t={};for(var r in E)Object.hasOwnProperty.call(E,r)&&(t[r]=new O({id:r,value:E[r]}));return t}(),this._bals=function generateBals(){var t={};return w.forEach((function(r){return t[r.id]=new _(r)})),t.restoration.timer.addCallback((function restorationCure(){insight.players[insight.restorationCure.player].timeline.cure(insight.restorationCure.id)})),t}(),this._limbs=function generateLimbs(t){var r={};return N.forEach((function(i){return r[i]=new P({id:i,player:t})})),r}(),this._timeline=new x(this),this.isObservable=!1}return function Player_createClass(t,r,i){return r&&Player_defineProperties(t.prototype,r),i&&Player_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Player,[{key:"id",get:function get(){return this._id}},{key:"properName",get:function get(){return this._properName}},{key:"affs",get:function get(){return this._affs}},{key:"defs",get:function get(){return this._defs}},{key:"stats",get:function get(){return this._stats}},{key:"bals",get:function get(){return this._bals}},{key:"limbs",get:function get(){return this._limbs}},{key:"timeline",get:function get(){return this._timeline}},{key:"currentAffs",get:function get(){return this.timeline.currentAffs}},{key:"present",get:function get(){return this.timeline.present}},{key:"reset",value:function reset(){for(var t in this.timeline.reset(),this.stats)this.stats[t].reset();for(var r in this.defs)this.defs[r].reset();for(var i in this.bals)this.bals[i].reset();for(var a in this.limbs)this.limbs[a].reset();for(var o in this.affs)Object.prototype.hasOwnProperty.call(this.affs,o)&&this.affs[o].reset()}},{key:"setObservable",value:function setObservable(t){this.isObservable=t,t?this.timeline.stopPredictiveCuring():this.timeline.startPredictiveCuring()}}]),Player}(),q={mentals:["claustrophobia","agoraphobia","lovers","dementia","epilepsy","hallucinations","confusion","stupidity","paranoia","vertigo","shyness","addiction","recklessness","masochism"],physicals:["asthma","paralysis","slickness","haemophilia","clumsiness","healthleech","sensitivity","darkshade"],bubonis:["vertigo","recklessness","confusion","masochism","paranoia","shyness","claustrophobia"],chimera:["confusion","hallucinations","agoraphobia","claustrophobia","dementia"],moon:["stupidity","masochism","hallucinations","hypersomnia","confusion","epilepsy","claustrophobia","agoraphobia"],whisperingmadness:["dementia","stupidity","confusion","hypersomnia","paranoia","hallucinations","impatience","addiction","agoraphobia","lovers","loneliness","recklessness","masochism"],justice:["paralysis","sensitivity","healthleech","haemophilia","weariness","asthma","clumsiness"]};function api_createForOfIteratorHelper(t,r){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=function api_unsupportedIterableToArray(t,r){if(!t)return;if("string"==typeof t)return api_arrayLikeToArray(t,r);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return api_arrayLikeToArray(t,r)}(t))||r&&t&&"number"==typeof t.length){i&&(t=i);var a=0,o=function F(){};return{s:o,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){i=i.call(t)},n:function n(){var t=i.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==i.return||i.return()}finally{if(d)throw l}}}}function api_arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var i=0,a=new Array(r);i<r;i++)a[i]=t[i];return a}var L=function playerCheck(t){if(void 0===t)return insight.target;if(parseInt(t)||0===t.length)return insight.reporting.logging&&console.error("Insight playerCheck() id must be a string",t),!1;var r=t.toLowerCase();return void 0===insight.players[r]&&(insight.players[r]=new D(r)),insight.players[r]},I=function hasAff(t){var r=t.id,i=t.player,a=t.probability,o=void 0===a?0:a,l=L(i);if(l){o>1&&(o/=100);var c=l.affs[r];return!!(c.have&&c.probability>=o)}},z=function hasAffs(t){var r=t.ids,i=t.probability,a=void 0===i?0:i,o=t.player,l=L(o);if(l){a>1&&(a/=100);var c=!1;return Array.isArray(r)&&(c=r.every((function(t){return l.currentAffs.includes(t)&&l.affs[t].probability>=a}))),c}};function asthmaConfirmOnCure(t){if(insight.hasAnAff({ids:["aeon","deadening","tension","unweavingspirit","disloyalty","hellsight","manaleech","slickness"],player:t.id})){insight.checkBlock(/^\w+ takes a long drag off \w+ pipe\.$/)||insight.confirmAff({id:"asthma",player:t.id,state:!0})}}eventStream.registerEvent("insightUsedCureaurum",asthmaConfirmOnCure),eventStream.registerEvent("insightUsedCurekelp",asthmaConfirmOnCure);var R={blast:["impatience","stupidity","blackout","dizziness","epilepsy","unweavingmind"]};function croneCommand(t){insight.addAff({id:"broken".concat(affs[0]),player:t.target})}function gremlinCommand(t){insight.removeDef({id:"shield",player:t.target})}eventStream.registerEvent("insight.domination.humbugCommand",(function humbugCommand(t){insight.addAff({id:"addiction",player:t.target})})),eventStream.registerEvent("insight.domination.houndCommand",(function houndCommand(t){insight.addAff({id:"weariness",player:t.target})})),eventStream.registerEvent("insight.domination.stormCommand",(function stormCommand(t){insight.addAff({id:"vertigo",player:t.target})})),eventStream.registerEvent("insight.domination.bloodleechCommand",(function bloodleechCommand(t){insight.addAff({id:"haemophilia",player:t.target})})),eventStream.registerEvent("insight.domination.sycophantCommand",(function sycophantCommand(t){insight.addAff({id:"weakenedmind",player:t.target})})),eventStream.registerEvent("insight.domination.slimeCommand",(function slimeCommand(t){insight.addAff({id:"slimeobscure",player:t.target}),insight.confirmAff({id:"asthma",player:t.target,state:insight.checkBlock(/^Horror overcomes \w+'s face as \w+ body stiffens into paralysis\.$/)})})),eventStream.registerEvent("insight.domination.chimeraCommandDeaf",(function chimeraCommandDeaf(t){insight.confirmAff({id:"undeaf",state:!1,player:t.target})})),eventStream.registerEvent("insight.domination.chimeraCommand",(function chimeraCommand(t){insight.confirmAff({id:"undeaf",state:!0,player:t.target}),insight.checkBlock(i(insight.target.id))||insight.addAff({id:"hallucinations",player:t.target})})),eventStream.registerEvent("insight.domination.bubonisCommand",(function bubonisCommand(t){insight.hasDef({id:"fangbarrier",player:t.target})?insight.nextLine("The protective coating covering the skin of")?(insight.confirmAff({id:"asthma",player:t.target,state:!0}),insight.addAff({id:"slickness",player:t.target})):insight.addAff({id:"asthma",player:t.target,state:!0}):insight.hasAff({id:"asthma",player:t.target,probability:.49})?insight.addAff({id:"slickness",player:t.target}):insight.addAff({id:"asthma",player:t.target,state:!0})})),eventStream.registerEvent("insight.domination.wormCommand",(function wormCommand(t){insight.addAff({id:"palpatarfeed",player:t.target})})),eventStream.registerEvent("insight.domination.wormTick",(function wormTick(t){insight.addAff({id:"healthleech",player:t.target})})),eventStream.registerEvent("insight.domination.croneCommand",croneCommand),eventStream.registerEvent("insight.domination.cronePrimebond",croneCommand),eventStream.registerEvent("insight.domination.abominationCommandFail",(function abominationCommandFail(t){insight.removeAff({id:"cleanseaura",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinCommand",gremlinCommand),eventStream.registerEvent("insight.domination.gremlinCommandFail",gremlinCommand),eventStream.registerEvent("insight.domination.firelordCommand",(function firelordCommand(t){insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.domination.firelordCommandFail",(function firelordCommandFail(t){})),eventStream.registerEvent("insight.domination.wormPrimebond",(function wormPrimebond(t){insight.addAff({id:"nausea",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinPrimebond",(function gremlinPrimebond(t){insight.addAff({id:"dizziness",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinPrimebond2",(function gremlinPrimebond2(t){insight.confirmAff({id:"dizziness",state:!0,player:t.target})})),eventStream.registerEvent("insight.domination.humbugPrimebond",(function humbugPrimebond(t){insight.hasAff({id:"addiction",player:t.target,probability:.49})?(insight.adjustHp({id:"percentage",player:t.target,value:-.1}),insight.adjustMana({id:"percentage",player:t.target,value:-.1})):(insight.adjustHp({id:"percentage",player:t.target,value:-.05}),insight.adjustMana({id:"percentage",player:t.target,value:-.05}))})),eventStream.registerEvent("insight.domination.bubonisPrimebond",(function bubonisPrimebond(t){insight.smartAffs({ids:insight.occultist.bubonis,player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondGas",(function chimeraPrimebondGas(t){insight.removeDef({id:"insomnia",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondRam",(function chimeraPrimebondRam(t){insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondRoar",(function chimeraPrimebondRoar(t){insight.addAff({id:"undeaf",player:t.target}),insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondUndeaf",(function chimeraPrimebondUndeaf(t){insight.addAff({id:"undeaf",player:t.target})}));__webpack_require__(389),__webpack_require__(473),__webpack_require__(864);var H={version:"0.2.5",reset:function reset(t){(t&&void 0!==insight.players[t]?insight.players[t]:insight.target).reset(),insight.reporting.notices&&d.notice("Reset")},setTarget:function setTarget(t){var r=L(t);r&&(insight.target=r)},addAff:function addAff(t){var r=t.id,i=t.player,a=L(i);a&&a.affs[r]&&a.timeline.add(r)},getAff:function getAff(t){var r=t.id,i=t.player,a=L(i);if(a)return a.affs[r]},removeAff:function removeAff(t){var r=t.id,i=t.player,a=L(i);a&&a.timeline.remove(r)},usedCure:function usedCure(t){var i=t.id,a=t.player,o=L(a);o&&function cureBalanceConfirm(t,i){var a=r[t].bals_req.find((function(t){return!i.bals[t].have}));return!a||(insight.reporting.logging&&console.error("insight usedCure() off balance",t,i.bals[a]),!1)}(i,o)&&(!function cureBlockersConfirm(t,i){var a=r[t].blocks;void 0!==a&&a.forEach((function(t){Array.isArray(t)?z({ids:t})&&t.forEach((function(t){return i.timeline.confirm(t,!1)})):I({id:t})&&(console.log("cureBlockersConfirm ".concat(t)),i.timeline.confirm(t,!1))}))}(i,o),i.includes("restoration")?insight.restorationCure={id:i,player:o.id}:o.timeline.cure(i),r[i].bals_used.forEach((function(t){"free"!==t&&o.bals[t].lost()})),eventStream.raiseEvent("insightUsedCure",{id:i,person:o}),eventStream.raiseEvent("insightUsedCure".concat(i),o))},confirmAff:function confirmAff(t){var r=t.id,i=t.state,a=void 0===i||i,o=t.player,l=L(o);l&&l.timeline.confirm(r,a)},confirmAffs:function confirmAffs(t){var r=t.ids,i=t.state,a=t.player;if(void 0!==r&&Array.isArray(r)){var o=L(a);o&&o.timeline.confirmMultiple(r,i)}},randomAffs:function randomAffs(t){var r=t.ids,i=t.player;if(void 0!==r&&Array.isArray(r)){var a=L(i);a&&a.timeline.random(r)}},readAuraConfirm:function readAuraConfirm(t){var r=t.p,i=t.m,a=t.player,o=L(a);o&&(o.timeline.confirmByAfflictionCount({ids:q.physicals,count:r,condition:"="}),o.timeline.confirmByAfflictionCount({ids:q.mentals,count:i,condition:"="}))},smartAffs:function smartAffs(t){var r=t.ids,i=t.player,a=t.ordered,o=void 0!==a&&a;if(void 0!==r&&Array.isArray(r)){var l=L(i);l&&(o?l.timeline.ordered(r):l.timeline.smart(r))}},convertAff:function convertAff(t){var r=t.id,i=t.to,a=t.player;if(void 0!==r&&void 0!==i){var o=L(a);o&&o.timeline.convert(r,i)}},countAffs:function countAffs(t){var r=t.ids,i=t.player,a=L(i);if(a){var o,l=0,c=api_createForOfIteratorHelper(r);try{for(c.s();!(o=c.n()).done;){var d,u=o.value;null!==(d=a.affs[u])&&void 0!==d&&d.have&&l++}}catch(t){c.e(t)}finally{c.f()}return l}},addDef:function addDef(t){var r=t.id,i=t.player,a=L(i);a&&a.defs[r].got()},removeDef:function removeDef(t){var r=t.id,i=t.player,a=L(i);a&&a.defs[r].lost()},hasAff:I,hasAffs:z,hasAnAff:function hasAnAff(t){var r=t.ids,i=t.player,a=t.probability,o=void 0===a?0:a,l=L(i);if(l){o>1&&(o/=100);var c=!1;return Array.isArray(r)&&(c=r.some((function(t){return l.currentAffs.includes(t)&&l.affs[t].probability>=o}))),c}},hasDef:function hasDef(t){var r=t.id,i=t.player,a=L(i);if(a)return a.defs[r].have},hasBal:function hasBal(t){var r=t.id,i=t.player,a=L(i);if(a)return a.bals[r].have},lostBal:function lostBal(t){var r=t.id,i=t.player,a=L(i);a&&a.bals[r].lost()},balRemaining:function balRemaining(t){var r=t.id,i=t.player,a=L(i);if(a)return a.bals[r].timer.remaining()},setState:function setState(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&o.state[r].value!==i&&(o.state[r].value=i)},getStat:function getStat(t){var r=t.id,i=t.player,a=L(i);if(a)return a.stats[r]},adjustHp:function adjustHp(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&(o.stats.hp[r]+=i)},adjustMana:function adjustMana(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&(o.stats.mana[r]+=i)},getLimb:function getLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r]},hitLimb:function hitLimb(t){var r=t.id,i=t.player,a=t.value,o=L(i);o&&o.limbs[r].hit(a)},resetLimb:function resetLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r].reset()},breakLimb:function breakLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r].break()},currentAffs:function currentAffs(){return insight.target.currentAffs},display:d,nextLine:function nextLine(t){for(var r=!1,i=nexusclient.current_line.index+1;i<nexusclient.current_block.length;i++){var a=nexusclient.current_block[i];if(!a.html_text&&!a.is_prompt&&void 0!==a.line){var o=a.parsed_line.text();return t instanceof RegExp?r=t.test(o):"string"==typeof t&&(r=o.includes(t)),r}}},checkBlock:function checkBlock(t){var r=nexusclient.current_block,i=!1;return t instanceof RegExp?i=!!r.find((function(r){return void 0!==r.line&&t.test(r.line)})):"string"==typeof t&&(i=!!r.find((function(r){return void 0!==r.line&&r.line.includes(t)}))),i},venomToAff:{xentio:"clumsiness",eurypteria:"recklessness",kalmia:"asthma",digitalis:"shyness",darkshade:"darkshade",curare:"paralysis",epteth:"",prefarar:"sensitivity",monkshood:"disloyalty",euphorbia:"nausea",oculus:"unblind",vernalius:"weariness",epseth:"",larkspur:"dizziness",slike:"anorexia",delphinium:"sleep",notechis:"haemophilia",vardrax:"addiction",loki:"loki",aconite:"stupidity",selarnia:"",gecko:"slickness",scytherus:"scytherus",nechamadra:"shivering"},target:{},players:{},state:{emoteColor:"#afffff",lastQueue:!1,queues:{},serverAliases:{}},reporting:{promptDisplay:!0,shouldShow:!1,notices:!1,shortNames:!0,colors:!0,logging:!1,log:function log(t){this.logging&&console.log(t)}},depthswalker:{shadowInstill:!1,timeloop:{count:0,max:3}},occultist:q,psion:R,stupidityEmotes:[/^(\w+) makes a strangled meowing noise and quickly shuts up, blushing\.$/,/^(\w+) attempts to do a standing backflip, but merely stumbles over \w+ own feet\.$/,/^Tears fill (\w+)'s eyes and begin to slowly run down \w+ face\.$/,/^(\w+) sweeps across the floor, leaping and twirling like a true master\.$/,/^(\w+) gets down on one knee and serenades the world\.$/,/^(\w+) grunts a bit and then lets out a loud "OINK!"$/,/^(\w+) lets out a loud, long "MOOOOOOOOOOO!"$/,/^(\w+) breaks down and sobs uncontrollably\.$/,/^(\w+) pulls down \w+ pants and moons the world\.$/,/^(\w+) looks around vainly for a partner to tango with\.$/,/^(\w+) waggles \w+ eyebrows comically\.$/,/^(\w+) falls to \w+ knees in worship\.$/,/^(\w+) picks \w+ nose absently\.$/,/^(\w+) gives up a round of applause\.$/,/^(\w+) flaps \w+ arms madly\.$/,/^(\w+) giggles happily\.$/,/^(\w+) drops to one knee\.$/,/^(\w+) wails like an old woman\.$/,/^(\w+) twitches spasmodically\.$/,/^(\w+) burps obscenely\.$/,/^(\w+) blinks\.$/,/^(\w+) hugs \w+ compassionately\.$/,/^(\w+) stumbles and pokes \w+ in the eye\.$/],debug:function debug(){insight.display.notice("Target: ".concat(insight.target.id)),console.log("Target: ".concat(insight.target.id)),insight.display.notice("Display settings: ".concat(JSON.stringify(insight.reporting))),console.log("Display settings: ".concat(JSON.stringify(insight.reporting))),insight.display.notice("Display event: ".concat(eventStream.stream.PromptEvent.has("insightDisplay"))),console.log("Display event: ".concat(eventStream.stream.PromptEvent.has("insightDisplay"))),insight.display.notice("Skill event: ".concat(eventStream.stream.nexSkillMatch.has("insightSkills"))),console.log("Skill event: ".concat(eventStream.stream.nexSkillMatch.has("insightSkills"))),insight.display.notice("Affs: ".concat(insight.currentAffs())),console.log("Affs: ".concat(insight.currentAffs())),insight.display.notice('Simulating affliction "asthma"...');var t=insight.target.id;insight.setTarget("Khaseem"),console.log('Simulating affliction "asthma"...'),insight.addAff({id:"asthma"}),console.log("Affs: ".concat(insight.currentAffs())),nexusclient.send_commands("x"),insight.display.notice("Affs: ".concat(insight.currentAffs())),insight.setTarget(t)},currentAffDisplay:function currentAffDisplay(){var t=[];return insight.target.currentAffs.forEach((function(r){var i=insight.target.affs[r]instanceof p?"".concat(r).concat(parseFloat(insight.target.affs[r].count.toFixed(1))):r;t.push("".concat(i,": ").concat(insight.target.affs[r].probability))})),t}};globalThis.insight=H,globalThis.insight.setTarget("khaseem"),globalThis.insight.reset(),"undefined"!=typeof nexusclient?(!function insightEvents(){function limbCures(t){var r={brokenleftleg:"mangledleftleg",brokenleftarm:"mangledleftarm",brokenrightleg:"mangledrightleg",brokenrightarm:"mangledrightarm"};console.log(t);var i={mangledleftleg:"damagedleftleg",mangledleftarm:"damagedleftarm",mangledrightleg:"damagedrightleg",mangledrightarm:"damagedrightarm",mangledhead:"damagedhead",serioustrauma:"mildtrauma",damagedleftleg:"brokenleftleg",damagedleftarm:"brokenleftarm",damagedrightleg:"brokenrightleg",damagedrightarm:"brokenrightarm"}[t.id];void 0!==r[i]&&insight.hasAff({id:r[i],player:t.player})||insight.addAff({id:i,player:t.player})}eventStream.registerEvent("insightLostAff",(function noticeLostAff(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.affUpdate(t.id,!1))})),eventStream.registerEvent("insightGotAff",(function noticeGotAff(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.affUpdate(t.id,!0))})),eventStream.registerEvent("insightLostDef",(function noticeLostDef(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.defUpdate(t.id,!1))})),eventStream.registerEvent("insightGotDef",(function noticeGotDef(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.defUpdate(t.id,!0))})),eventStream.registerEvent("IRE.Target.Set",(function insightTarget(t){"number"!=typeof t&&insight.setTarget(t)})),eventStream.registerEvent("insightAffsUpdated",(function insightDisplayShow(){insight.reporting.shouldShow=!0})),eventStream.registerEvent("PromptEvent",(function insightDisplay(){insight.reporting.promptDisplay&&insight.reporting.shouldShow&&insight.currentAffs().length>0&&(nexusclient.add_html_line(d.currentAffDisplayHTML()),insight.reporting.shouldShow=!1)})),eventStream.registerEvent("nexSkillMatch",(function insightSkills(t){"secondPerson"!==t.match&&eventStream.raiseEvent("insight.".concat(t.skill,".").concat(t.id),t)})),eventStream.registerEvent("insightLimbBreak",(function limbBreaks(t){switch(t.id){case"leftleg":case"rightleg":case"rightarm":case"leftarm":case"head":insight.hasAff({id:"damaged".concat(t.id),player:t.player})?insight.convertAff({id:"damaged".concat(t.id),to:"mangled".concat(t.id),player:t.player}):insight.hasAff({id:"mangled".concat(t.id),player:t.player})||((t.id.includes("leg")||t.id.includes("arm"))&&insight.removeAff({id:"broken".concat(t.id),player:t.player}),insight.addAff({id:"damaged".concat(t.id),player:t.player}));break;case"torso":insight.hasAff({id:"mildtrauma",player:t.player})?insight.convertAff({id:"mildtrauma",to:"serioustrauma",player:t.player}):insight.addAff({id:"mildtrauma",player:t.player});default:console.error("insight event limbBreak no case found",t)}})),eventStream.registerEvent("insightLostAffmangledleftleg",limbCures),eventStream.registerEvent("insightLostAffmangledleftarm",limbCures),eventStream.registerEvent("insightLostAffmangledrightleg",limbCures),eventStream.registerEvent("insightLostAffmangledrightarm",limbCures),eventStream.registerEvent("insightLostAffmangledhead",limbCures),eventStream.registerEvent("insightLostAffserioustrauma",limbCures),eventStream.registerEvent("insightLostAffdamagedleftleg",limbCures),eventStream.registerEvent("insightLostAffdamagedleftarm",limbCures),eventStream.registerEvent("insightLostAffdamagedrightleg",limbCures),eventStream.registerEvent("insightLostAffdamagedrightarm",limbCures)}(),H.reporting.notices=!0,"khaseem"!==nexusclient.charname?fetch("https://unpkg.com/nexsight/insight3.nxs",{cache:"no-store"}).then((function(t){return t.json()})).then((function(t){nexusclient.packages().get("insight3").apply(t,nexusclient.reflexes()),console.log("insight package update successful"),eventStream.raiseEvent("insightLoaded")})).catch((function(t){nexusclient.display_notice("[Error]: Insight package update failed.","red"),console.error("Insight package update failed.",t)})):eventStream.raiseEvent("insightLoaded")):console.error('Insight failed to load on nexusclient !== "undefined"')}()}();
|
|
1
|
+
!function(){var t={389:function(){eventStream.registerEvent("insight.occultism.ague",(function ague(t){insight.hasDef({id:"insulation",player:t.target})?insight.removeDef({id:"insulation",player:t.target}):insight.smartAffs({ids:["shivering","frozen"],player:t.target,ordered:!0})})),eventStream.registerEvent("insight.occultism.instill",(function instill(t){insight.adjustHp({id:"percentage",player:t.target,value:-.03}),insight.adjustMana({id:"percentage",player:t.target,value:-.03}),"sensitivity"===t.affs[0]?insight.hasAff({id:"undeaf",player:t.target})?insight.addAff({id:"sensitivity",player:t.target}):insight.addAff({id:"undeaf",player:t.target}):insight.addAff({id:t.affs[0],player:t.target})})),eventStream.registerEvent("insight.occultism.enervate",(function enervate(t){insight.adjustMana({id:"percentage",player:t.target,value:-.2})})),eventStream.registerEvent("insight.occultism.attend",(function attend(t){insight.addAff({id:"undeaf",player:t.target}),insight.addAff({id:"unblind",player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelTargeted",(function shrivelTargeted(t){insight.addAff({id:t.affs[0],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelArms",(function shrivelArms(t){insight.smartAffs({ids:["brokenrightarm","brokenleftarm"],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelLegs",(function shrivelLegs(t){insight.smartAffs({ids:["brokenrightarm","brokenleftarm"],player:t.target})})),eventStream.registerEvent("insight.occultism.shrivelRehit",(function shrivelRehit(t){var r=t.groups.limb.replace(" ","").toLowerCase();"arm"===r?(insight.confirmAff({id:"brokenleftarm",player:t.target,state:!0}),insight.confirmAff({id:"brokenrightarm",player:t.target,state:!0})):"leg"===r?(insight.confirmAff({id:"brokenleftleg",player:t.target,state:!0}),insight.confirmAff({id:"brokenrightleg",player:t.target,state:!0})):insight.confirmAff({id:"broken".concat(r),player:t.target,state:!0})})),eventStream.registerEvent("insight.occultism.unnamableSpeak",(function unnamableSpeak(t){var r=GMCP.RoomPlayers.map((function(t){return t.name}));nexAction.triggers.add({id:"insight.occultism.unnamableSpeak",tags:["insight"],regex:/^(\w+) pales as the blood drains from \w+ face\.$/,action:function action(t){insight.addAff({id:"undeaf",player:t[1]}),r=r.filter((function(r){return r!==t[1]}))},onRemove:function onRemove(){console.log("onremove player",r),r.forEach((function(t){return insight.removeAff({id:"undeaf",player:t})}))}}),eventStream.registerEvent("PromptEvent",(function(){nexAction.triggers.remove("insight.occultism.unnamableSpeak")}),!0)})),eventStream.registerEvent("insight.occultism.unnamableVision",(function unnamableVision(t){var r=GMCP.RoomPlayers.map((function(t){return t.name}));nexAction.triggers.add({id:"insight.occultism.unnamableVision",tags:["insight"],regex:/^(\w+) pales as the blood drains from \w+ face\.$/,action:function action(t){insight.addAff({id:"unblind",player:t[1]}),r=r.filter((function(r){return r!==t[1]}))},onRemove:function onRemove(){r.forEach((function(t){return insight.removeAff({id:"unblind",player:t})}))}}),eventStream.registerEvent("PromptEvent",(function(){nexAction.triggers.remove("insight.occultism.unnamableVision")}),!0)})),eventStream.registerEvent("insight.occultism.devolve",(function devolve(t){insight.addAff({id:"shyness",player:t.target}),insight.addAff({id:"disloyalty",player:t.target})})),eventStream.registerEvent("insight.occultism.whisperingmadness",(function whisperingmadness(t){insight.addAff({id:"whisperingmadness",player:t.target})})),eventStream.registerEvent("insight.occultism.whisperingmadnessMiss",(function whisperingmadnessMiss(t){insight.occultist.whisperingmadness.forEach((function(r){return insight.removeAff({id:r,player:t.target})}))})),eventStream.registerEvent("insight.occultism.cleanseaura",(function cleanseaura(t){insight.checkBlock("A look of sudden concern")?insight.addAff({id:"cleanseaura",player:t.target}):insight.removeAff({id:"cleanseaura",player:t.target})}))},473:function(){eventStream.registerEvent("insight.tarot.magician",(function magician(t){insight.adjustMana({id:"percentage",player:t.target,value:.25})})),eventStream.registerEvent("insight.tarot.priestess",(function priestess(t){insight.adjustHp({id:"percentage",player:t.target,value:.25})})),eventStream.registerEvent("insight.tarot.lovers",(function lovers(t){insight.addAff({id:"lovers",player:t.target})})),eventStream.registerEvent("insight.tarot.aeon",(function aeon(t){insight.removeDef({id:"speed",player:t.target}),insight.addAff({id:"aeon",player:t.target})})),eventStream.registerEvent("insight.tarot.aeonStrip",(function aeonStrip(t){insight.removeDef({id:"speed",player:t.target}),setTimeout((function(){insight.addDef({id:"speed",player:t.target})}),4250)})),eventStream.registerEvent("insight.tarot.justice",(function justice(t){insight.addAff({id:"justice",player:t.target})})),eventStream.registerEvent("insight.tarot.deathRub",(function deathRub(t){insight.hasDef({id:"insulation",player:t.target})?insight.removeDef({id:"insulation",player:t.target}):insight.addAff({id:"shivering",player:t.target})})),eventStream.registerEvent("insight.tarot.ruinateLovers",(function ruinateLovers(t){insight.addAff({id:"manaleech",player:t.target})})),eventStream.registerEvent("insight.tarot.ruinateJustice",(function ruinateJustice(t){insight.nextLine("violently spasms")||["paralysis","asthma","healthleech","haemophilia","sensitivity","clumsiness","weariness"].forEach((function(t){return insight.confirmAff({id:t,state:!1})}))})),eventStream.registerEvent("insight.tarot.moon",(function moon(t){console.log(JSON.stringify(insight.state.queues[insight.state.lastQueue]));var r=insight.state.queues[insight.state.lastQueue].match(/FLING MOON AT \w+ (\w+)/);r?insight.addAff({id:r[1].toLowerCase(),player:t.target}):insight.smartAffs({ids:["stupidity","masochism","hallucinations","hypersomnia","confusion","epilepsy"],player:t.target})}))},864:function(){function disruption(t){insight.addAff({id:"paralysis",player:t.target})}function laceration(t){insight.addAff({id:"haemophilia",player:t.target})}eventStream.registerEvent("insight.weaving.cleaveHit",(function cleaveHit(t){insight.addAff({id:"prone",player:t.target}),insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.weaving.cleaveMiss",(function cleaveMiss(t){insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.weaving.overhand",(function overhand(t){insight.hasAff({id:"prone",player:t.target})?insight.addAff({id:"impatience",player:t.target}):(insight.addAff({id:"stupidity",player:t.target}),insight.addAff({id:"prone",player:t.target}))})),eventStream.registerEvent("insight.weaving.hamstring",(function hamstring(t){insight.addAff({id:"broken".concat(t.limb.replace(" ","")),player:t.target})})),eventStream.registerEvent("insight.weaving.entwineProne",(function entwineProne(t){insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.weaving.entwineEntangle",(function entwineEntangle(t){insight.addAff({id:"entangled",player:t.target})})),eventStream.registerEvent("insight.weaving.puncture",(function puncture(t){insight.addAff({id:"weariness",player:t.target})})),eventStream.registerEvent("insight.weaving.sever",(function sever(t){insight.addAff({id:"clumsiness",player:t.target})})),eventStream.registerEvent("insight.weaving.unweave",(function unweave(t){t.info&&insight.addAff({id:"unweaving".concat(t.info),player:t.target})})),eventStream.registerEvent("insight.weaving.deathblow",(function deathblow(t){insight.addAff({id:"asthma",player:t.target})})),eventStream.registerEvent("insight.weaving.backhand",(function backhand(t){insight.addAff({id:"stupidity",player:t.target}),insight.addAff({id:"dizziness",player:t.target})})),eventStream.registerEvent("insight.weaving.exsanguinate",(function exsanguinate(t){insight.addAff({id:"nausea",player:t.target})})),eventStream.registerEvent("insight.weaving.disruption",disruption),eventStream.registerEvent("insight.weaving.disruption2",disruption),eventStream.registerEvent("insight.weaving.laceration",laceration),eventStream.registerEvent("insight.weaving.laceration2",laceration),eventStream.registerEvent("insight.weaving.dazzle",(function dazzle(t){insight.addAff({id:"clumsiness",player:t.target})})),eventStream.registerEvent("insight.weaving.rattle",(function rattle(t){insight.addAff({id:"epilepsy",player:t.target})})),eventStream.registerEvent("insight.weaving.vapours",(function vapours(t){insight.addAff({id:"asthma",player:t.target})}))}},r={};function __webpack_require__(i){var a=r[i];if(void 0!==a)return a.exports;var o=r[i]={exports:{}};return t[i](o,o.exports,__webpack_require__),o.exports}!function(){"use strict";var t=["itching","paralysis","fear","brokenrightarm","brokenleftarm","brokenrightleg","brokenleftleg","lapsingconsciousness","aeon","lovers","confusion","epilepsy","pacified","blackout","dazed","justice","slashedthroat","hellsight","peace","dazzled","shyness","dizziness","slickness","asthma","nausea","selarnia","weariness","scytherus","haemophilia","clumsiness","hallucinations","healthleech","dementia","recklessness","anorexia","masochism","impatience","stupidity","generosity","addiction","deadening","manaleech","stuttering","paranoia","agoraphobia","loneliness","claustrophobia","vertigo","hypersomnia","shivering","frozen","burning","sensitivity","hypochondria","lethargy","disloyalty","darkshade","voyria","dissonance","phlogisticated","silver","spiritburn","tenderskin","guilt","skullfractures","wristfractures","crackedribs","torntendons","indifference","retribution","shadowmadness","parasite","depression","timeloop","crushedthroat","tension","unweavingspirit","grievouswounds","pyramides","flushings","rebbies","mycalium","sandfever"],r={ferrum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ferrum",order:["darkshade","haemophilia","lethargy","addiction","scytherus","nausea","flushings","unweavingbody"],prio:0},magnesium:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat magnesium",order:["paralysis","slickness","pyramides"],prio:0},aurum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat aurum",order:["clumsiness","healthleech","sensitivity","weariness","asthma","hypochondria","rebbies","parasite"],prio:0},calamine:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat calamine",order:["undeaf","deafness"],delay:2.5,prio:0},argentum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat argentum",order:["masochism","loneliness","vertigo","recklessness","agoraphobia","guilt","whisperingmadness","spiritburn","tenderskin"],prio:0},cuprum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat cuprum",order:["pacified","peace","lovers","justice","generosity","indifference","retribution","pyre","timeloop"],prio:0},antimony:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat antimony",order:["temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine"],prio:0},arsenic:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat arsenic",order:["unblind"],prio:0},stannum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat stannum",order:["claustrophobia","paranoia","confusion","hypersomnia","hallucinations","dementia"],prio:0},plumbum:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["horror","stupidity","epilepsy","dizziness","shyness","impatience","dissonance","depression","sandfever","mycalium","shadowmadness","unweavingmind"],command:"eat plumbum",prio:0},calcite:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["pressure"],command:"eat calcite",prio:0},ginseng:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ginseng",order:["darkshade","haemophilia","lethargy","addiction","scytherus","nausea","flushings","unweavingbody"],prio:0},bloodroot:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bloodroot",order:["paralysis","slickness","pyramides"],prio:0},kelp:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat kelp",order:["clumsiness","healthleech","sensitivity","weariness","asthma","hypochondria","rebbies","parasite"],prio:0},hawthorn:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat hawthorn",order:["undeaf","deafness"],delay:2.5,prio:0},lobelia:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat lobelia",order:["masochism","loneliness","vertigo","recklessness","agoraphobia","guilt","whisperingmadness","spiritburn","tenderskin"],prio:0},bellwort:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bellwort",order:["pacified","peace","lovers","justice","generosity","indifference","retribution","pyre","timeloop"],prio:0},ginger:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ginger",order:["temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine"],prio:0},bayberry:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat bayberry",order:["unblind"],prio:0},ash:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat ash",order:["claustrophobia","paranoia","confusion","hypersomnia","hallucinations","dementia"],prio:0},goldenseal:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],command:"eat goldenseal",order:["horror","stupidity","epilepsy","dizziness","shyness","impatience","dissonance","depression","sandfever","mycalium","shadowmadness","unweavingmind"],prio:0},pear:{bals_used:["herb"],bals_req:["herb"],blocks:["anorexia","sleeping"],order:["pressure"],command:"eat pear",prio:0},smoke:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke cinnabar",order:["aeon","disloyalty","hellsight","manaleech","slickness","deadening","tension","unweavingspirit"],prio:0},cinnabar:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke cinnabar",order:["aeon","deadening","tension","unweavingspirit"],prio:0},malachite:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke malachite",prio:0},realgar:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke realgar",order:["disloyalty","hellsight","manaleech","slickness"],prio:0},elm:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke elm",order:["aeon","deadening","tension","unweavingspirit"],prio:0},skullcap:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke skullcap",prio:0},valerian:{bals_used:["smoke"],bals_req:["smoke"],blocks:["asthma","sleeping"],command:"smoke valerian",order:["disloyalty","hellsight","manaleech","slickness"],prio:0},caloric:{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply caloric",order:["frozen","shivering"],prio:0},"epidermal to body":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to body",order:["anorexia"],prio:0},"epidermal to head":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to head",order:["blindness","scalded","stuttering","deafness"],prio:0},"epidermal to ears":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply epidermal to ears",order:["deafness"],prio:0},"mending to head":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to head",order:["crushedthroat","dazzled"],prio:0},"mending to arms":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to arms",order:["brokenleftarm","brokenrightarm"],prio:0},"mending to legs":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to legs",order:["brokenleftleg","brokenrightleg"],prio:0},"mending to body":{bals_used:["salve"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply mending to body",order:["burning"],prio:0},"restoration to head":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to head",order:["mangledhead","damagedhead","calcifiedskull","concussion","tonguetied"],delay:4,prio:0},"restoration to body":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to body",order:["hypothermia","heartseed","serioustrauma","mildtrauma","calcifiedtorso"],delay:4,prio:0},"restoration to arms":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to arms",order:["mangledleftarm","mangledrightarm","damagedleftarm","damagedrightarm"],delay:4,prio:0},"restoration to legs":{bals_used:["salve","restoration"],bals_req:["salve"],blocks:["slickness","bloodfire","sleeping"],command:"apply restoration to legs",order:["mangledleftleg","mangledrightleg","damagedleftleg","damagedrightleg"],delay:4,prio:0},insomnia:{bals_req:["free"],bals_used:["free"],blocks:["hypersomnia","sleeping"],command:"insomnia",order:["insomnia"],prio:0},focus:{bals_req:["focus"],bals_used:["focus"],blocks:["impatience","sleeping"],command:"focus",order:["stupidity","epilepsy","dizziness","shyness","claustrophobia","paranoia","confusion","hallucinations","dementia","pacified","peace","lovers","generosity","masochism","loneliness","vertigo","recklessness","agoraphobia","anorexia","stuttering"],prio:0},"health to head":{bals_req:["sip"],bals_used:["sip"],command:"apply health to head",order:["skullfractures"],prio:0},"health to torso":{bals_req:["sip"],bals_used:["sip"],command:"apply health to torso",order:["crackedribs","grievouswounds"],prio:0},"health to arms":{bals_req:["sip"],bals_used:["sip"],command:"apply health to arms",order:["wristfractures"],prio:0},"health to legs":{bals_req:["sip"],bals_used:["sip"],command:"apply health to legs",order:["torntendons","latched","kkractlebrand"],prio:0},concentrate:{blocks:["sleeping","confusion"],command:"concentrate",order:["disrupted"],prio:0},immunity:{bals_req:["immunity"],bals_used:["immunity"],blocks:["sleeping","anorexia"],command:"sip immunity",order:["voyria"],prio:0},stand:{bals_req:["balance","equilibrium"],bals_used:[],blocks:["death","sleeping","paralysis","brokenrightleg","brokenleftleg","damagedleftleg","damagedrightleg","mangledrightleg","mangledleftleg","entangled","transfixation","impaled","webbed","bound"],command:"stand",order:["prone"],prio:0},tree:{bals_used:["tree"],bals_req:["tree"],blocks:["death","sleeping","paralysis",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],command:"touch tree",order:t,prio:0},health:{bals_req:["sip"],bals_used:["sip"],blocks:["sleeping","anorexia"],command:"sip health",prio:0},mana:{bals_req:["sip"],bals_used:["sip"],blocks:["sleeping","anorexia"],command:"sip mana",prio:0},potash:{bals_req:["moss"],bals_used:["moss"],blocks:["sleeping","anorexia"],command:"eat potash",prio:0},moss:{bals_req:["moss"],bals_used:["moss"],blocks:["sleeping","anorexia"],command:"eat moss",prio:0},fitness:{bals_req:["equilibrium","balance","fitness"],bals_used:["balance","fitness"],blocks:["weariness","sleeping"],skills:["Monk","Runewarden"],command:"fitness",order:["asthma"],prio:0},bloodboil:{bals_req:["equilibrium","balance","bloodboil"],bals_used:["equilibrium","bloodboil"],blocks:["death","haemophilia","sleeping",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],skills:["Magi"],command:"cast bloodboil",order:t,prio:0},restore:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"restore",order:["brokenleftarm","brokenrightarm","brokenleftleg","brokenrightleg","skullfractures","torntendons","wristfractures","crackedribs"],prio:0},dragonflex:{bals_req:["balance"],bals_used:["balance"],command:"dragonflex",skills:["Dragon"],order:["webbed","entangled"],prio:0},dragonheal:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"dragonheal",skills:["Dragon"],blocks:["sleeping",["recklessness","weariness"]],order:t,prio:0},might:{bals_req:["balance","equilibrium"],bals_used:["equilibrium"],command:"dragonheal",skills:["Dragon"],blocks:["sleeping",["recklessness","weariness"]],order:["weariness","paralysis"].concat(t),prio:0},dwinnu:{bals_req:["voice"],bals_used:["voice"],command:"chant dwinnu",skills:["Bard"],order:["webbed","entangled"],prio:0},rage:{bals_req:["rage"],bals_used:["rage"],command:"rage",skills:["Runewarden"],order:["pacified","peace","lovers","generosity"],prio:95},salt:{bals_req:["equilibrium","salt"],bals_used:["salt","equilibrium"],blocks:["stupidity","sleeping"],skills:["Alchemist"],command:"educe salt",order:t,prio:0},siphon:{bals_req:["angel"],bals_used:["angel"],blocks:["sleeping"],skills:["Apostate","Priest"],command:"educe salt",order:t,prio:0},shrugging:{bals_req:["equilibrium","balance","shrugging"],bals_used:["shrugging"],blocks:["weariness","sleeping"],skills:["Serpent"],command:"shrugging",order:t,prio:0},slough:{bals_req:["equilibrium","balance","slough"],bals_used:["slough","balance"],blocks:["weariness","sleeping"],skills:["Fire Elemental Lord"],command:"slough impurities",order:t,prio:0},fool:{bals_req:["equilibrium","balance","fool"],bals_used:["fool","balance"],blocks:["death","prone","paralysis","sleeping",["brokenleftarm","brokenrightarm"],["brokenleftarm","damagedrightarm"],["brokenleftarm","mangledrightarm"],["damagedleftarm","brokenrightarm"],["damagedleftarm","damagedrightarm"],["damagedleftarm","mangledrightarm"],["mangledleftarm","brokenrightarm"],["mangledleftarm","damagedrightarm"],["mangledleftarm","mangledrightarm"],"entangled","transfixation","impaled","webbed","bound"],skills:["Occultist"],command:"fling fool at me",order:t,prio:0},alleviate:{bals_req:["equilibrium","balance","alleviate"],bals_used:["alleviate","balance"],blocks:["paralysis","sleeping"],skills:["Blademaster"],command:"alleviate",order:t,prio:0},accelerate:{bals_req:["equilibrium","balance","accelerate"],bals_used:["accelerate","balance"],blocks:["recklessness"],skills:["Depthswalker"],command:"accelerate",order:t,prio:0},sun:{bals_req:["sun"],bals_used:["sun"],blocks:[],skills:["Runewarden","Occultist"],command:"sun",order:t,prio:0},generic:{bals_req:["free"],bals_used:["free"],blocks:[],skills:[],command:"generic",order:t,prio:0},ruinateJustice:{bals_req:["free"],bals_used:["free"],blocks:[],command:"ruinate justice",order:["paralysis","asthma","clumsiness","weariness","haemophilia","sensitivity","healthleech"],prio:0}},i=function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)};function ownKeys(t,r){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),i.push.apply(i,a)}return i}function _objectSpread(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(i),!0).forEach((function(r){_defineProperty(t,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(i,r))}))}return t}function _defineProperty(t,r,i){return r in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}var a=function generateChunk(t,r,i){var a=document.createElement("span");return a.style.color=r,a.style.backgroundColor=i,a.textContent=t,a},o={antimony:{fg:"olive",bg:""},argentum:{fg:"royalblue",bg:""},arsenic:{fg:"",bg:""},aurum:{fg:"ForestGreen",bg:""},azurite:{fg:"",bg:""},calamine:{fg:"",bg:""},calcite:{fg:"slategray",bg:""},cinnabar:{fg:"greenyellow",bg:""},cuprum:{fg:"DeepSkyBlue",bg:""},ferrum:{fg:"DarkOrange",bg:""},gypsum:{fg:"",bg:""},magnesium:{fg:"Red",bg:""},plumbum:{fg:"Gold",bg:""},quartz:{fg:"",bg:""},quicksilver:{fg:"",bg:""},realgar:{fg:"firebrick",bg:""},stannum:{fg:"Tan",bg:""},caloric:{fg:"darkseagreen",bg:""},mending:{fg:"orchid",bg:""},epidermal:{fg:"sienna",bg:""},restoration:{fg:"darkviolet",bg:""},health:{fg:"lightpink",bg:""},writhe:{fg:"paleyellow",bg:"darkslategray"}},l={addiction:_objectSpread({shortName:"add"},o.ferrum),aeon:_objectSpread({shortName:"ae"},o.cinnabar),agoraphobia:_objectSpread({shortName:"agor"},o.argentum),amnesia:{shortName:"amn",fg:"",bg:""},anorexia:_objectSpread({shortName:"ANO"},o.epidermal),asthma:_objectSpread({shortName:"AST"},o.aurum),blackout:{shortName:"bo",fg:"",bg:""},blindness:_objectSpread({shortName:"unb"},o.arsenic),bound:_objectSpread({shortName:"bnd"},o.writhe),brokenleftarm:_objectSpread({shortName:"la1"},o.mending),brokenleftleg:_objectSpread({shortName:"ll1"},o.mending),brokenrightarm:_objectSpread({shortName:"ra1"},o.mending),brokenrightleg:_objectSpread({shortName:"rl1"},o.mending),bruisedribs:{shortName:"ribs",fg:"",bg:""},burning:_objectSpread({shortName:"burn"},o.mending),calcifiedskull:_objectSpread({shortName:"calh"},o.restoration),calcifiedtorso:_objectSpread({shortName:"calt"},o.restoration),claustrophobia:_objectSpread({shortName:"clau"},o.stannum),cleanseaura:{shortName:"cleanse",fg:"",bg:""},clumsiness:_objectSpread({shortName:"clu"},o.aurum),concussion:_objectSpread({shortName:"conc"},o.restoration),confusion:_objectSpread({shortName:"con"},o.stannum),corruption:{shortName:"corr",fg:"",bg:""},crackedribs:_objectSpread({shortName:"cr"},o.health),crushedthroat:_objectSpread({shortName:"cru"},o.mending),daeggerimpale:_objectSpread({shortName:"daeg"},o.writhe),damage:{shortName:"dmg",fg:"tomato",bg:""},damagedleftarm:_objectSpread({shortName:"la2"},o.restoration),damagedleftleg:_objectSpread({shortName:"ll2"},o.restoration),damagedrightarm:_objectSpread({shortName:"ra2"},o.restoration),damagedrightleg:_objectSpread({shortName:"rl2"},o.restoration),damagedhead:_objectSpread({shortName:"hd2"},o.restoration),darkshade:_objectSpread({shortName:"dark"},o.ferrum),dazed:_objectSpread({shortName:"dzd"},o.cinnabar),dazzled:_objectSpread({shortName:"dzl"},o.mending),deadening:_objectSpread({shortName:"dea"},o.cinnabar),deafness:_objectSpread({shortName:"und"},o.calamine),dehydrated:{shortName:"deh",fg:"",bg:""},dementia:_objectSpread({shortName:"dem"},o.stannum),depression:_objectSpread({shortName:"dep"},o.plumbum),deteriorate:{shortName:"det",fg:"",bg:""},disloyalty:_objectSpread({shortName:"disl"},o.realgar),disrupted:{shortName:"disr",fg:"",bg:""},dissonance:_objectSpread({shortName:"disso"},o.plumbum),dizziness:_objectSpread({shortName:"diz"},o.plumbum),enmesh:_objectSpread({text:"enmsh"},o.writhe),enscorcelled:{shortName:"ensor",fg:"",bg:""},entangled:_objectSpread({shortName:"entgl"},o.writhe),epilepsy:_objectSpread({shortName:"epi"},o.plumbum),fear:{shortName:"fear",fg:"",bg:""},flushings:_objectSpread({shortName:"flush"},o.ferrum),frozen:_objectSpread({shortName:"frz"},o.caloric),generosity:_objectSpread({shortName:"gen"},o.cuprum),grievouswounds:_objectSpread({shortName:"grv"},o.health),guilt:_objectSpread({shortName:"gui"},o.argentum),haemophilia:_objectSpread({shortName:"haem"},o.ferrum),hallucinations:_objectSpread({shortName:"hall"},o.stannum),hamstrung:{shortName:"hms",fg:"",bg:""},healthleech:_objectSpread({shortName:"hthl"},o.aurum),heartseed:_objectSpread({shortName:"heart"},o.restoration),hellsight:_objectSpread({shortName:"hell"},o.realgar),horror:_objectSpread({shortName:"hor"},o.plumbum),hypersomnia:_objectSpread({shortName:"hypers"},o.stannum),hypochondria:_objectSpread({shortName:"hypoch"},o.aurum),hypothermia:_objectSpread({shortName:"hypoth"},o.restoration),icefisted:{shortName:"ice",fg:"",bg:""},impaled:_objectSpread({shortName:"impl"},o.writhe),impatience:_objectSpread({shortName:"IMPAT"},o.plumbum),indifference:_objectSpread({shortName:"ind"},o.cuprum),itching:_objectSpread({shortName:"itch"},o.epidermal),justice:_objectSpread({shortName:"just"},o.cuprum),kkractlebrand:_objectSpread({shortName:"kkr"},o.health),laceratedthroat:_objectSpread({shortName:"lac2"},o.restoration),latched:_objectSpread({shortName:"latch"},o.health),lethargy:_objectSpread({shortName:"let"},o.ferrum),lightbind:{shortName:"light",fg:"",bg:""},loneliness:_objectSpread({shortName:"lon"},o.argentum),lovers:_objectSpread({shortName:"love"},o.cuprum),manaleech:_objectSpread({shortName:"man"},o.realgar),mangledleftarm:_objectSpread({shortName:"la3"},o.restoration),mangledleftleg:_objectSpread({shortName:"ll3"},o.restoration),mangledrightarm:_objectSpread({shortName:"ra3"},o.restoration),mangledrightleg:_objectSpread({shortName:"rl3"},o.restoration),mangledhead:_objectSpread({shortName:"hd3"},o.restoration),masochism:_objectSpread({shortName:"maso"},o.argentum),mildtrauma:_objectSpread({shortName:"tor1"},o.restoration),mycalium:_objectSpread({shortName:"myc"},o.plumbum),nausea:_objectSpread({shortName:"nau"},o.ferrum),numbedleftarm:{shortName:"nbla",fg:"",bg:""},numbedrightarm:{shortName:"nbra",fg:"",bg:""},pacified:_objectSpread({shortName:"pac"},o.cuprum),paralysis:_objectSpread({shortName:"PAR"},o.magnesium),paranoia:_objectSpread({shortName:"prn"},o.stannum),parasite:_objectSpread({shortName:"prs"},o.aurum),peace:_objectSpread({shortName:"pea"},o.cuprum),phlogisticated:{shortName:"phlog",fg:"",bg:""},pinshot:{shortName:"psh",fg:"",bg:""},pressure:_objectSpread({shortName:"pres"},o.calcite),prone:{shortName:"pr",fg:"",bg:""},pyramides:_objectSpread({shortName:"pyra"},o.magnesium),pyre:_objectSpread({shortName:"pyre"},o.cuprum),rebbies:_objectSpread({shortName:"reb"},o.aurum),recklessness:_objectSpread({shortName:"reck"},o.argentum),retardation:{shortName:"ret",fg:"",bg:""},retribution:_objectSpread({shortName:"retr"},o.cuprum),revealed:{shortName:"rev",fg:"",bg:""},sandfever:_objectSpread({shortName:"sand"},o.plumbum),scalded:_objectSpread({shortName:"scald"},o.epidermal),scytherus:_objectSpread({shortName:"scy"},o.ferrum),selarnia:_objectSpread({shortName:"sel"},o.mending),sensitivity:_objectSpread({shortName:"sen"},o.aurum),serioustrauma:_objectSpread({shortName:"tor2"},o.restoration),shadowmadness:_objectSpread({shortName:"shad"},o.plumbum),shivering:_objectSpread({shortName:"shiv"},o.caloric),shyness:_objectSpread({shortName:"shy"},o.plumbum),skullfractures:_objectSpread({shortName:"sf"},o.health),slashedthroat:_objectSpread({shortName:"lac1"},o.epidermal),sleeping:{shortName:"slp",fg:"",bg:""},slickness:_objectSpread({shortName:"SLI"},o.magnesium),slimeobscure:{shortName:"nkh",fg:"",bg:""},spiritburn:_objectSpread({shortName:"spirB"},o.argentum),spiritwrack:{shortName:"spirW",fg:"",bg:""},stupidity:_objectSpread({shortName:"st"},o.plumbum),stuttering:_objectSpread({shortName:"stut"},o.epidermal),homunculusmercury:{shortName:"merc",fg:"",bg:""},temperedcholeric:_objectSpread({shortName:"choH"},o.antimony),temperedmelancholic:_objectSpread({shortName:"melaH"},o.antimony),temperedphlegmatic:_objectSpread({shortName:"phleH"},o.antimony),temperedsanguine:_objectSpread({shortName:"sanH"},o.antimony),tenderskin:_objectSpread({shortName:"tend"},o.argentum),tension:_objectSpread({shortName:"tens"},o.cinnabar),timeflux:{shortName:"tmfx",fg:"",bg:""},timeloop:_objectSpread({shortName:"tmlp"},o.cuprum),tonguetied:_objectSpread({shortName:"tngt"},o.restoration),torntendons:_objectSpread({shortName:"tt"},o.health),transfixation:_objectSpread({shortName:"trfx"},o.writhe),unweavingbody:_objectSpread({shortName:"unwM"},o.ferrum),unweavingspirit:_objectSpread({shortName:"unwS"},o.cinnabar),unweavingmind:_objectSpread({shortName:"unwM"},o.plumbum),unblind:{shortName:"unB",fg:"",bg:""},undeaf:{shortName:"unD",fg:"",bg:""},vertigo:_objectSpread({shortName:"vert"},o.argentum),vitrified:{shortName:"vitri",fg:"",bg:""},voidfisted:{shortName:"void",fg:"",bg:""},voyria:{shortName:"voy",fg:"",bg:""},weariness:_objectSpread({shortName:"wea"},o.aurum),webbed:_objectSpread({shortName:"web"},o.writhe),whisperingmadness:_objectSpread({shortName:"mad"},o.argentum),wristfractures:_objectSpread({shortName:"wf"},o.health)},c=function colorGradation(t){return"hsl(".concat(1.2*t,", 100%, ").concat(t<75?50:Math.abs(t-100)/2+25,"%)")},d={notice:function notice(t){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i="#784695",a="#CBCE91FF",o="#FFF2D7",l=document.createElement("span");l.setAttribute("class","mono"),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(i),innerHTML:"<<"})),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(a),innerHTML:"insight"})),l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(i),innerHTML:">> "})),r?l.insertAdjacentHTML("beforeend",t):l.appendChild(Object.assign(document.createElement("span"),{style:"color:".concat(o),innerHTML:t})),nexusclient.add_html_line(l.outerHTML)},affUpdate:function affUpdate(t,r){var o,c,d=document.createElement("span");return d.setAttribute("class","mono"),o=r?a("+aff ","lime"):a("-aff ","red"),d.appendChild(o),l[t]?c=a(i(t),l[t].fg||"",l[t].bg||""):(c=a(i(t)),console.error("Insight.display.affUpdate() no affAbrev entry",t)),d.appendChild(c),d.outerHTML},defUpdate:function defUpdate(t,r){var o,l=document.createElement("span");l.setAttribute("class","mono"),o=r?a("+def ","lime"):a("-def ","red"),l.appendChild(o);var c=a(i(t));return l.appendChild(c),l.outerHTML},currentAffDisplayHTML:function currentAffDisplayHTML(){var t=document.createElement("span");t.setAttribute("class","mono"),t.appendChild(a("[","LightGoldenRodYellow")),console.log(insight.currentAffs());for(var r=0;r<insight.currentAffs().length;r++){var i=insight.currentAffs()[r];l[i]?insight.reporting.shortNames?t.appendChild(a(l[i].shortName,l[i].fg,l[i].bg)):t.appendChild(a(i,l[i].fg,l[i].bg)):t.appendChild(a(i));var o=void 0;o=insight.currentAffs().length>1&&r!=insight.currentAffs().length-1?": ".concat(insight.target.affs[i].probability,", "):": ".concat(insight.target.affs[i].probability),t.appendChild(a(o))}return t.appendChild(a("]","LightGoldenRodYellow")),t.outerHTML},currentStatsDisplayHTML:function currentStatsDisplayHTML(){var t=_objectSpread({},insight.target.stats),r=document.createElement("span");r.setAttribute("class","mono");var i=a("".concat(100*t.hp.percentage),c(100*t.hp.percentage));r.appendChild(i);var o=a("|");r.appendChild(o);var l=a("".concat(100*t.mana.percentage),c(100*t.mana.percentage));return r.appendChild(l),r.outerHTML},cureColors:o,affAbbrev:l};function _classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var u=function(){function Timer(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;_classCallCheck(this,Timer),this._id=t,this._enabled=!1,this._startTime=0,this._endTime=0,this._timerId=0,this._defaultLength=r,this.setLength(r),this._callbacks=[]}return function _createClass(t,r,i){return r&&_defineProperties(t.prototype,r),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Timer,[{key:"length",get:function get(){return this._length}},{key:"id",get:function get(){return this._id}},{key:"enabled",get:function get(){return this._enabled}},{key:"setLength",value:function setLength(t){if(t<0)throw new Error("Timer length cannot be negative");this._length=t}},{key:"reset",value:function reset(){clearTimeout(this._timerId),this._enabled=!1,this.setLength(this._defaultLength),this._endTime=performance.now()/1e3,eventStream.raiseEvent("timerReset".concat(this._id))}},{key:"start",value:function start(){clearTimeout(this._timerId),this._startTimer(),eventStream.raiseEvent("timerStarted".concat(this._id))}},{key:"_startTimer",value:function _startTimer(){this._timerId=setTimeout(this.stop.bind(this),1e3*this._length),this._enabled=!0,this._startTime=performance.now()/1e3}},{key:"stop",value:function stop(){this._enabled&&(clearTimeout(this._timerId),this._endTime=performance.now()/1e3,this._enabled=!1,eventStream.raiseEvent("timerStopped".concat(this._id)),this._callbacks.forEach((function(t){return t()})))}},{key:"duration",value:function duration(){return this._enabled?this.elapsed():this._endTime-this._startTime}},{key:"elapsed",value:function elapsed(){return this._enabled?performance.now()/1e3-this._startTime:0}},{key:"remaining",value:function remaining(){return this._enabled?this._length-this.elapsed():this._length}},{key:"addCallback",value:function addCallback(t){if("function"!=typeof t)throw new Error("Callback must be a function");this._callbacks.push(t)}},{key:"clearCallbacks",value:function clearCallbacks(){this._callbacks=[]}}],[{key:"createTimer",value:function createTimer(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return new Timer(t,r)}}]),Timer}(),h=u.createTimer;function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function _get(t,r,i){var a=_superPropBase(t,r);if(a){var o=Object.getOwnPropertyDescriptor(a,r);return o.get?o.get.call(arguments.length<3?t:i):o.value}},_get.apply(this,arguments)}function _superPropBase(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&null!==(t=_getPrototypeOf(t)););return t}function _inherits(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&_setPrototypeOf(t,r)}function _setPrototypeOf(t,r){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},_setPrototypeOf(t,r)}function _createSuper(t){var r=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var i,a=_getPrototypeOf(t);if(r){var o=_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,o)}else i=a.apply(this,arguments);return _possibleConstructorReturn(this,i)}}function _possibleConstructorReturn(t,r){if(r&&("object"===_typeof(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},_getPrototypeOf(t)}function Affliction_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Affliction_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Affliction_createClass(t,r,i){return r&&Affliction_defineProperties(t.prototype,r),i&&Affliction_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}var m=function(){function Affliction(t){var i=this;Affliction_classCallCheck(this,Affliction),this.id=t,this._probability=0,this._cures=[],this._have=!1,Object.keys(r).forEach((function(a){var o;null!==(o=r[a].order)&&void 0!==o&&o.includes(t)&&i.cures.push(a)}))}return Affliction_createClass(Affliction,[{key:"cures",get:function get(){return this._cures}},{key:"probability",get:function get(){return this._probability},set:function set(t){this._probability=t}},{key:"have",get:function get(){return this._have},set:function set(t){this._have=t}},{key:"got",value:function got(){this._have||(eventStream.raiseEvent("insightGotAff",this),eventStream.raiseEvent("insightGotAff".concat(this.id),this)),this._have=!0,this._probability=1}},{key:"lost",value:function lost(){this._have&&(eventStream.raiseEvent("insightLostAff",this),eventStream.raiseEvent("insightLostAff".concat(this.id),this)),this.reset()}},{key:"reset",value:function reset(){this._have=!1,this._probability=0}}]),Affliction}(),g=function(t){_inherits(AffTimed,t);var r=_createSuper(AffTimed);function AffTimed(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2?arguments[2]:void 0;return Affliction_classCallCheck(this,AffTimed),(i=r.call(this,t)).timer=h("insightTimer".concat(t),a),i.timer.addCallback((function(){insight.removeAff({id:i.id,player:o})})),i}return Affliction_createClass(AffTimed,[{key:"got",value:function got(){this.timer.start(),_get(_getPrototypeOf(AffTimed.prototype),"got",this).call(this)}},{key:"lost",value:function lost(){this.timer.stop(),_get(_getPrototypeOf(AffTimed.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.timer.stop(),_get(_getPrototypeOf(AffTimed.prototype),"reset",this).call(this)}}]),AffTimed}(m),p=function(t){_inherits(AffCountable,t);var r=_createSuper(AffCountable);function AffCountable(t){var i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Affliction_classCallCheck(this,AffCountable),(i=r.call(this,t))._min=a,i._max=o,i._count=a,i._prev=a,i}return Affliction_createClass(AffCountable,[{key:"count",get:function get(){return this._count},set:function set(t){this._prev=this._count,this._count=t}},{key:"prev",get:function get(){return this._prev}},{key:"min",get:function get(){return this._min}},{key:"max",get:function get(){return this._max}},{key:"lost",value:function lost(){this.count=this._min,_get(_getPrototypeOf(AffCountable.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.count=this._min,_get(_getPrototypeOf(AffCountable.prototype),"reset",this).call(this)}},{key:"checkLimits",value:function checkLimits(t){return t>this._max?this._max:t<this._min?this._min:t}},{key:"add",value:function add(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.count=this.checkLimits(this._count+t),this.count>this.min&&!this.have&&this.got()}},{key:"subtract",value:function subtract(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.count=this.checkLimits(this._count-t),count===this.min&&this.lost()}}]),AffCountable}(m),b=["undeaf","unblind","cleanseaura","addiction","aeon","agoraphobia","airfisted","amnesia","anorexia","asphyxiating","asthma","blackout","bleeding","blindness","blistered","bloodfire","bound","brokenleftarm","brokenrightarm","brokenleftleg","brokenrightleg","bruisedribs","burning","cadmuscurse","calcifiedskull","calcifiedtorso","claustrophobia","cleanseaura","clumsiness","coldfate","concussion","condemned","conflagration","confusion","constricted","corruption","crackedribs","cremated","crushedthroat","daeggerimpale","damagedhead","damagedleftarm","damagedleftleg","damagedrightarm","damagedrightleg","darkshade","dazed","dazzled","deadening","deafness","death","deathsickness","deepsleep","degenerate","dehydrated","dementia","demonstain","depression","deteriorate","disloyalty","disrupted","dissonance","dizziness","empoweredmannaz","empoweredloshre","enlightenment","enmesh","ensorcelled","entangled","epilepsy","fear","flamefisted","flushings","frozen","generosity","grievouswounds","guilt","hamstrung","haemophilia","hallucinations","hatred","healthleech","heartseed","hecatecurse","hellsight","hindered","homunculusmercury","horror","hypersomnia","hypochondria","hypothermia","icefisted","impaled","impatience","indifference","inquisition","insomnia","internalbleeding","isolation","itching","justice","kaisurge","kkractlebrand","laceratedthroat","lapsingconsciousness","latched","lethargy","lightbind","loneliness","lovers","lullaby","manaleech","masochism","mildtrauma","mangledleftarm","mangledleftleg","mangledrightarm","mangledrightleg","mangledhead","mindclamp","mindravaged","muddled","mycalium","nausea","numbedleftarm","numbedrightarm","pacified","palpatarfeed","paralysis","paranoia","parasite","peace","penitence","petrified","phlogisticated","pinshot","pressure","prone","pyramides","pyre","rebbies","recklessness","retribution","revealed","sandfever","scalded","scrambledbrains","scytherus","selarnia","sensitivity","serioustrauma","shadowmadness","shivering","shyness","silenced","silver","skullfractures","slashedthroat","sleeping","slickness","slimeobscure","solarburn","spiritburn","stun","stupidity","stuttering","temperedcholeric","temperedmelancholic","temperedphlegmatic","temperedsanguine","tenderskin","tension","timeflux","timeloop","tonguetied","torntendons","transfixation","trueblind","unweavingbody","unweavingmind","unweavingspirit","vertigo","vinewreathed","vitiated","vitrified","voidfisted","voyria","waterbonds","weakenedmind","weariness","webbed","whisperingmadness","wristfractures","unconsciousness","harmonic","bop","spiritwrack","bedevil","loki","moon","evileye","dragoncurse","swiftcurse"],v={aeon:{length:16},airfisted:{length:16},blackout:{length:10},blistered:{length:20},bruisedribs:{length:30},cadmuscurse:{length:20},cleanseaura:{length:5},condemned:{length:20},constricted:{length:30},corruption:{length:45},dazzled:{length:60},dehydrated:{length:60},demonstain:{length:120},empoweredloshre:{length:12},empoweredmannaz:{length:20},enmesh:{length:5},ensorcelled:{length:20},flamefisted:{length:30},hamstrung:{length:9},heartseed:{length:11},hecatecurse:{length:16},icefisted:{length:30},internalbleeding:{length:30},inquisition:{length:30},kaisurge:{length:15},lightbind:{length:22},mindravaged:{length:20},mudded:{length:12},numbedleftarm:{length:7.5},numbedrightarm:{length:7.5},petrified:{length:10},palpatarfeed:{length:20},phlogisticated:{length:45},pinshot:{length:18},revealed:{length:60},scalded:{length:20},scrambledbrains:{length:60},silenced:{length:20},silver:{length:180},slimeobscure:{length:60},solarburn:{length:5},stun:{length:3},timeflux:{length:60},trueblind:{length:6},unconsciousness:{length:10},vinewreathed:{length:30},vitrified:{length:45},voidfisted:{length:5},waterbonds:{length:30},weakenedmind:{length:60}},y={pressure:{min:0,max:5},crescendo:{min:0,max:5},unweavingbody:{min:0,max:5},unweavingspirit:{min:0,max:5},unweavingmind:{min:0,max:5},burning:{min:0,max:5},horror:{min:0,max:5},pyre:{min:0,max:3},temperedcholeric:{min:0,max:8},temperedmelancholic:{min:0,max:8},temperedphlegmatic:{min:0,max:8},temperedsanguine:{min:0,max:8},torntendons:{min:0,max:6},crackedribs:{min:0,max:6},skullfractures:{min:0,max:6},wristfractures:{min:0,max:6}};function Balance_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var _=function(){function Balance(t){var r=t.id,i=t.duration;!function Balance_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Balance),this.id=r,this.have=!0,this.timer=h("insightTimer".concat(r),i),this.timer.addCallback(this.reset.bind(this))}return function Balance_createClass(t,r,i){return r&&Balance_defineProperties(t.prototype,r),i&&Balance_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Balance,[{key:"got",value:function got(){this.have=!0,eventStream.raiseEvent("insightGotBal",this),eventStream.raiseEvent("insightGot".concat(this.id),this),this.timer.stop()}},{key:"lost",value:function lost(){var t;this.have=!1,eventStream.raiseEvent("insightLostBal",this),eventStream.raiseEvent("insightLost".concat(this.id),this),null===(t=this.timer)||void 0===t||t.start()}},{key:"reset",value:function reset(){this.have=!0,this.timer.stop()}}]),Balance}(),k={},w=[{id:"balance",duration:1.7},{id:"equilibrium",duration:1.7},{id:"herb",duration:1.2},{id:"smoke",duration:1.2},{id:"salve",duration:.7},{id:"restoration",duration:3.7},{id:"focus",duration:2.2},{id:"tree",duration:14.7},{id:"shrugging",duration:9.7},{id:"fool",duration:9.7},{id:"sun",duration:19.7},{id:"accelerate",duration:9.7}];w.forEach((function(t){return k[t.id]=new _(t)}));function Defence_typeof(t){return Defence_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Defence_typeof(t)}function Defence_get(){return Defence_get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function _get(t,r,i){var a=Defence_superPropBase(t,r);if(a){var o=Object.getOwnPropertyDescriptor(a,r);return o.get?o.get.call(arguments.length<3?t:i):o.value}},Defence_get.apply(this,arguments)}function Defence_superPropBase(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&null!==(t=Defence_getPrototypeOf(t)););return t}function Defence_setPrototypeOf(t,r){return Defence_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(t,r){return t.__proto__=r,t},Defence_setPrototypeOf(t,r)}function Defence_createSuper(t){var r=function Defence_isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function _createSuperInternal(){var i,a=Defence_getPrototypeOf(t);if(r){var o=Defence_getPrototypeOf(this).constructor;i=Reflect.construct(a,arguments,o)}else i=a.apply(this,arguments);return Defence_possibleConstructorReturn(this,i)}}function Defence_possibleConstructorReturn(t,r){if(r&&("object"===Defence_typeof(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return Defence_assertThisInitialized(t)}function Defence_assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Defence_getPrototypeOf(t){return Defence_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(t){return t.__proto__||Object.getPrototypeOf(t)},Defence_getPrototypeOf(t)}function Defence_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Defence_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Defence_createClass(t,r,i){return r&&Defence_defineProperties(t.prototype,r),i&&Defence_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}var S=function(){function Defence(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];Defence_classCallCheck(this,Defence),this.id=t,this.have=r,this.defaultValue=r}return Defence_createClass(Defence,[{key:"got",value:function got(){this.have||(eventStream.raiseEvent("insightGotDef",this),eventStream.raiseEvent("insightGot".concat(this.id),this)),this.have=!0}},{key:"lost",value:function lost(){this.have&&(eventStream.raiseEvent("insightLostDef",this),eventStream.raiseEvent("insightLost".concat(this.id),this)),this.have=!1}},{key:"reset",value:function reset(){this.have=this.defaultValue}}]),Defence}(),A=function(t){!function Defence_inherits(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&Defence_setPrototypeOf(t,r)}(DefTimed,t);var r=Defence_createSuper(DefTimed);function DefTimed(t){var i,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Defence_classCallCheck(this,DefTimed),(i=r.call(this,t,a)).timer=h("insightTimer".concat(t),o),i.timer.addCallback(i.lost.bind(Defence_assertThisInitialized(i))),i}return Defence_createClass(DefTimed,[{key:"got",value:function got(){this.timer.start(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"got",this).call(this)}},{key:"lost",value:function lost(){this.timer.stop(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"lost",this).call(this)}},{key:"reset",value:function reset(){this.timer.stop(),Defence_get(Defence_getPrototypeOf(DefTimed.prototype),"reset",this).call(this)}}]),DefTimed}(S),j={insomnia:!0,insulation:!0,kola:!0,speed:!0,shield:!1,rebounding:!0,prismatic:!1,cloak:!0,fangbarrier:!0,curseward:!1,selfishness:!0},C={tentacles:{have:!1,length:180}};function Stat_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var O=function(){function Stat(t){var r=t.id,i=t.value;!function Stat_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Stat),this.id=r,this._value=i,this._max=i,this._percentage=1}return function Stat_createClass(t,r,i){return r&&Stat_defineProperties(t.prototype,r),i&&Stat_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Stat,[{key:"value",get:function get(){return this._value},set:function set(t){this._value=t,this._percentage=parseFloat((this._value/this._max).toFixed(3))}},{key:"max",get:function get(){return this._max},set:function set(t){this._max=t,this._percentage=parseFloat((this._value/this._max).toFixed(3))}},{key:"percentage",get:function get(){return this._percentage},set:function set(t){this._percentage=t,this._value=parseInt(this._max*this._percentage)}},{key:"reset",value:function reset(){this._value=this._max,this._percentage=1}}]),Stat}(),E={hp:8e3,mana:8e3};function Limb_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var P=function(){function Limb(t){var r=t.id;!function Limb_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Limb),this.id=r,this.percent=0,this.timer=h("insightTimer".concat(r),180),this.timer.addCallback(this.reset.bind(this))}return function Limb_createClass(t,r,i){return r&&Limb_defineProperties(t.prototype,r),i&&Limb_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Limb,[{key:"hit",value:function hit(t){this.percent+=t,this.percent>=100?this.break():this.timer.start(),eventStream.raiseEvent("insightLimbHit",this),eventStream.raiseEvent("insightLimbHit".concat(this.id),this)}},{key:"break",value:function _break(){this.percent=0,eventStream.raiseEvent("insightLimbBreak",this),eventStream.raiseEvent("insightLimbBreak".concat(this.id),this),this.timer.stop()}},{key:"reset",value:function reset(){this.percent=0,this.timer.stop(),eventStream.raiseEvent("insightLimbReset",this),eventStream.raiseEvent("insightLimbReset".concat(this.id),this)}},{key:"set",value:function set(t){this.percent=t,this.percent>=100?this.break():this.timer.start()}}]),Limb}(),N=["head","torso","leftleg","leftarm","rightleg","rightarm"];function Timeline_ownKeys(t,r){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),i.push.apply(i,a)}return i}function Timeline_objectSpread(t){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?Timeline_ownKeys(Object(i),!0).forEach((function(r){Timeline_defineProperty(t,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):Timeline_ownKeys(Object(i)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(i,r))}))}return t}function Timeline_defineProperty(t,r,i){return r in t?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i,t}function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||_unsupportedIterableToArray(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _slicedToArray(t,r){return function _arrayWithHoles(t){if(Array.isArray(t))return t}(t)||function _iterableToArrayLimit(t,r){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null==i)return;var a,o,l=[],c=!0,d=!1;try{for(i=i.call(t);!(c=(a=i.next()).done)&&(l.push(a.value),!r||l.length!==r);c=!0);}catch(t){d=!0,o=t}finally{try{c||null==i.return||i.return()}finally{if(d)throw o}}return l}(t,r)||_unsupportedIterableToArray(t,r)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _createForOfIteratorHelper(t,r){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||r&&t&&"number"==typeof t.length){i&&(t=i);var a=0,o=function F(){};return{s:o,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){i=i.call(t)},n:function n(){var t=i.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==i.return||i.return()}finally{if(d)throw l}}}}function _unsupportedIterableToArray(t,r){if(t){if("string"==typeof t)return _arrayLikeToArray(t,r);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,r):void 0}}function _arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var i=0,a=new Array(r);i<r;i++)a[i]=t[i];return a}function Timeline_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function Timeline_createClass(t,r,i){return r&&Timeline_defineProperties(t.prototype,r),i&&Timeline_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function Timeline_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}var T=Timeline_createClass((function Fork(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Timeline_classCallCheck(this,Fork),this.probability=t,this.affs=r})),x=function(){function Timeline(t){var r=t.affs,i=t.id;Timeline_classCallCheck(this,Timeline),this.playerId=i,this.affs=r,this.present=[new T],this.currentAffs=[],this.history=[],this.isPredicting=!1,this.predictiveCureTimer=null}return Timeline_createClass(Timeline,[{key:"startPredictiveCuring",value:function startPredictiveCuring(){this.isPredicting=!0,this.scheduleNextPredictiveCure()}},{key:"stopPredictiveCuring",value:function stopPredictiveCuring(){this.isPredicting=!1,this.predictiveCureTimer&&(this.predictiveCureTimer.stop(),this.predictiveCureTimer=null)}},{key:"scheduleNextPredictiveCure",value:function scheduleNextPredictiveCure(){var t=this;if(this.isPredicting){var r=this.getNextPredictiveCure();if(r){var i=this.getCureCooldown(r);this.predictiveCureTimer=new Timer(i,(function(){t.applyPredictiveCure(r),t.scheduleNextPredictiveCure()})),this.predictiveCureTimer.start()}}}},{key:"getNextPredictiveCure",value:function getNextPredictiveCure(){var t,r=_createForOfIteratorHelper(curePriorityList);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(this.canPredictivelyCureAff(i)){var a=this.getCureForAff(i);if(a&&this.canUseCure(a))return a}}}catch(t){r.e(t)}finally{r.f()}return null}},{key:"applyPredictiveCure",value:function applyPredictiveCure(t){this.cure(t);var i,a=_createForOfIteratorHelper(r[t].bals_used);try{for(a.s();!(i=a.n()).done;){var o=i.value;this.player.bals[o]&&this.player.bals[o].lost()}}catch(t){a.e(t)}finally{a.f()}}},{key:"canPredictivelyCureAff",value:function canPredictivelyCureAff(t){return this.currentAffs.includes(t)}},{key:"getCureForAff",value:function getCureForAff(t){for(var i=0,a=Object.entries(r);i<a.length;i++){var o=_slicedToArray(a[i],2),l=o[0];if(o[1].order.includes(t))return l}return null}},{key:"canUseCure",value:function canUseCure(t){var i=this;return r[t].bals_req.every((function(t){var r;return null===(r=i.player.bals[t])||void 0===r?void 0:r.have}))}},{key:"getCureCooldown",value:function getCureCooldown(t){var i=this,a=r[t].bals_req.map((function(t){var r;return(null===(r=i.player.bals[t])||void 0===r?void 0:r.remaining())||0}));return Math.max.apply(Math,_toConsumableArray(a))}},{key:"reset",value:function reset(){this.present=[new T],this.currentAffs=[],this.history=[]}},{key:"add",value:function add(t){insight.state.logging&&console.log("add(".concat(t,")"));var r,i=this.affs[t],a=i instanceof p,o=_createForOfIteratorHelper(this.present);try{for(o.s();!(r=o.n()).done;){var l=r.value;if(a){var c=l.affs[t]||i.min;l.affs[t]=i.checkLimits(c+1)}else l.affs[t]=!0}}catch(t){o.e(t)}finally{o.f()}i.got(),this.history.push(t),this.updateAffs(),insight.state.logging&&(console.log("add "+t),console.log(JSON.stringify(this.present)))}},{key:"remove",value:function remove(t){insight.state.logging&&console.log("remove(".concat(t,")")),this.affs[t].lost(),this.present.forEach((function(r){delete r.affs[t]})),this.pruneDuplicates(),this.updateAffs()}},{key:"random",value:function random(t){var r=this;insight.state.logging&&console.log("random(".concat(t,")"));var i=[];t.forEach((function(t){var a,o=_createForOfIteratorHelper(r.present);try{for(o.s();!(a=o.n()).done;){var l=a.value,c=new T(l.probability,Timeline_objectSpread({},l.affs));c.affs[t]||(r.affs[t].have=!0,c.affs[t]=!0),i.push(c)}}catch(t){o.e(t)}finally{o.f()}})),this.present=i.length>0?i:[new T],this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("add ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"smart",value:function smart(t){var r=this;insight.state.logging&&console.log("smart(".concat(t,")"));var i=[];t.forEach((function(t){var a,o=_createForOfIteratorHelper(r.present);try{for(o.s();!(a=o.n()).done;){var l=a.value;l.affs[t]||(r.affs[t].have=!0,i.push(new T(l.probability,Timeline_objectSpread(Timeline_objectSpread({},l.affs),{},Timeline_defineProperty({},t,!0)))))}}catch(t){o.e(t)}finally{o.f()}})),this.present.forEach((function(r){t.every((function(t){return r.affs[t]}))&&i.push(r)})),i.length>0&&(this.present=i),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("smart ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"ordered",value:function ordered(t){insight.state.logging&&console.log("ordered(".concat(t,")"));var r,i=[],a=_createForOfIteratorHelper(this.present);try{for(a.s();!(r=a.n()).done;){var o,l=r.value,c=_createForOfIteratorHelper(t);try{for(c.s();!(o=c.n()).done;){var d=o.value;if(!l.affs[d]){this.affs[d].have=!0,i.push(new T(l.probability,Timeline_objectSpread(Timeline_objectSpread({},l.affs),{},Timeline_defineProperty({},d,!0))));break}}}catch(t){c.e(t)}finally{c.f()}}}catch(t){a.e(t)}finally{a.f()}this.present.forEach((function(r){t.every((function(t){return r.affs[t]}))&&i.push(Timeline_objectSpread({},r))})),i.length>0&&(this.present=i),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("ordered ".concat(t)),console.log(JSON.stringify(this.present)))}},{key:"cure",value:function cure(t){var i=this;if(insight.state.logging&&console.log("cure(".concat(t,")")),r[t].bals_used.includes("salve")&&this.salveCure(t))console.log("salveCure() true return");else{var a=r[t].order,o=[],l=!1;this.present.forEach((function(t){var r=Object.keys(t.affs).filter((function(t){return a.includes(t)}));if(insight.state.logging&&console.log("curableAffs",r),0!==r.length){l=!0;var c,d=_createForOfIteratorHelper(r);try{for(d.s();!(c=d.n()).done;){var u=c.value,h=i.affs[u],m=h instanceof p,g=Timeline_objectSpread({},t.affs);if(m){var b=g[u]||h.min,v=h.checkLimits(b-1);v<=h.min?delete g[u]:g[u]=v}else delete g[u];o.push(new T(t.probability/r.length,g))}}catch(t){d.e(t)}finally{d.f()}}})),l&&(this.present=o),this.pruneDuplicates(),this.updateAffs(),this.history.push(t),insight.state.logging&&(console.log("cure ".concat(t)),console.log(JSON.stringify(this.present)))}}},{key:"salveCure",value:function salveCure(t){insight.state.logging&&console.log("salveCure(".concat(t,")"));var i,a=_createForOfIteratorHelper(r[t].order);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(1===this.affs[o].probability)return this.remove(o),!0}}catch(t){a.e(t)}finally{a.f()}return!1}},{key:"confirm",value:function confirm(t,r){insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,")"));var i=this.affs[t].probability;if(r&&1===i||!r&&0===i)insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,") redunant return"));else if(r&&0===i)this.add(t);else if(r||1!==i){var a=this.present.filter((function(i){return insight.state.logging&&console.log("confirm(".concat(t,", ").concat(r,") ").concat(Object.keys(i.affs))),Object.keys(i.affs).includes(t)===r}));this.present=a,this.history.push("".concat(t,":").concat(r)),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("confirm ".concat(t," ").concat(r)),console.log(JSON.stringify(this.present)))}else this.remove(t)}},{key:"confirmMultiple",value:function confirmMultiple(t,r){insight.state.logging&&console.log("confirmMultiple(".concat(t,", ").concat(r,")"));var i=this.present.filter((function(i){return t.every((function(t){return i.affs[t]}))===r}));this.present=i,this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("confirmMultiple ".concat(t," ").concat(r)),console.log(JSON.stringify(this.present)))}},{key:"confirmByAfflictionCount",value:function confirmByAfflictionCount(t){var r=t.ids,i=t.count,a=t.condition;insight.state.logging&&console.log("pruneForksByAfflictionCount({ affIds: ".concat(r,", count: ").concat(i,", condition: ").concat(a,"})"));var o,l=[],c=0,d=_createForOfIteratorHelper(this.present);try{for(d.s();!(o=d.n()).done;){var u,h=o.value,m=0,g=_createForOfIteratorHelper(r);try{for(g.s();!(u=g.n()).done;){var p=u.value;h.affs[p]&&(m+=1)}}catch(t){g.e(t)}finally{g.f()}var b=!1;switch(a){case">=":b=m>=i;break;case"<":b=m<i;break;case"=":b=m==i;break;case">":b=m>i;break;case"!=":b=m!==i;break;default:console.error("Invalid condition: ".concat(a)),b=!0}b?(l.push(h),c+=h.probability):console.log("confirmByAfflictionCount",r[0],i,a,h.affs)}}catch(t){d.e(t)}finally{d.f()}if(l.length>0&&c>0){var v,y=_createForOfIteratorHelper(l);try{for(y.s();!(v=y.n()).done;){v.value.probability/=c}}catch(t){y.e(t)}finally{y.f()}this.present=l}else this.present=[new T];this.pruneDuplicates(),this.updateAffs()}},{key:"convert",value:function convert(t,r){insight.state.logging&&console.log("convert(".concat(t,", ").concat(r,")")),this.affs[t].have&&(this.affs[r].got(),this.present.forEach((function(i){i.affs[t]&&(i.affs[r]=i.affs[t],delete i.affs[t])})),this.pruneDuplicates(),this.updateAffs(),insight.state.logging&&(console.log("convert ".concat(t," to ").concat(r)),console.log(JSON.stringify(this.present))))}},{key:"pruneDuplicates",value:function pruneDuplicates(){var t=this;if(insight.state.logging&&console.log("pruneDuplicates()",JSON.stringify(this.present)),1!==this.present.length){var r,i=new Map,a=_createForOfIteratorHelper(this.present);try{for(a.s();!(r=a.n()).done;){var o=r.value,l=Object.entries(o.affs).map((function(r){var i=_slicedToArray(r,2),a=i[0],o=i[1];return 10*t.affs[a].index+(!0===o?1:o)}));l.sort((function(t,r){return t-r}));var c=l.join(",");if(i.has(c))i.get(c).probability+=o.probability;else i.set(c,new T(o.probability,Timeline_objectSpread({},o.affs)))}}catch(t){a.e(t)}finally{a.f()}var d=Array.from(i.values()).reduce((function(t,r){return t+r.probability}),0),u=Array.from(i.values()).map((function(t){return new T(t.probability/d,t.affs)}));this.present=u}else this.present[0].probability=1}},{key:"updateAffs",value:function updateAffs(){insight.state.logging&&console.log("updateAffs()");var t,r={},i=_createForOfIteratorHelper(this.present);try{for(i.s();!(t=i.n()).done;)for(var a=t.value,o=0,l=Object.entries(a.affs);o<l.length;o++){var c=_slicedToArray(l[o],2),d=c[0];c[1];r[d]=(r[d]||0)+a.probability}}catch(t){i.e(t)}finally{i.f()}var u,h=new Set(Object.keys(r)),m=this.currentAffs.filter((function(t){return!h.has(t)})),g=_createForOfIteratorHelper(m);try{for(g.s();!(u=g.n()).done;){var b=u.value;this.affs[b].lost()}}catch(t){g.e(t)}finally{g.f()}this.currentAffs=Array.from(h);var v,y=_createForOfIteratorHelper(this.currentAffs);try{for(y.s();!(v=y.n()).done;){var _=v.value,k=this.affs[_];if(k.probability=parseFloat(r[_].toFixed(2)),k instanceof p){var w,S=0,A=_createForOfIteratorHelper(this.present);try{for(A.s();!(w=A.n()).done;){var j=w.value;if(j.affs[_]){var C=j.affs[_];S+=(!0===C?1:C)*j.probability}}}catch(t){A.e(t)}finally{A.f()}k.count=S/r[_]}}}catch(t){y.e(t)}finally{y.f()}eventStream.raiseEvent("insightAffsUpdated")}}]),Timeline}();function Player_defineProperties(t,r){for(var i=0;i<r.length;i++){var a=r[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}var D=function(){function Player(t){!function Player_classCallCheck(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this,Player),this._id=t.toLowerCase(),this._properName=i(t.toLowerCase()),this._affs=function generateAffs(t){var r={},i=0;return b.forEach((function(a){var o;(o=v[a]?new g(a,v[a].length,t.id):y[a]?new p(a,y[a].min,y[a].max):new m(a)).index=i,r[a]=o,i++})),r}(this),this._defs=function generateDefs(t){var r={};for(var i in j)Object.hasOwnProperty.call(j,i)&&(r[i]=new S(i,j[i]));for(var a in C)Object.hasOwnProperty.call(C,a)&&(r[a]=new A(a,C[a].have,C[a].length));return r}(),this._stats=function generateStats(){var t={};for(var r in E)Object.hasOwnProperty.call(E,r)&&(t[r]=new O({id:r,value:E[r]}));return t}(),this._bals=function generateBals(){var t={};return w.forEach((function(r){return t[r.id]=new _(r)})),t.restoration.timer.addCallback((function restorationCure(){insight.players[insight.restorationCure.player].timeline.cure(insight.restorationCure.id)})),t}(),this._limbs=function generateLimbs(t){var r={};return N.forEach((function(i){return r[i]=new P({id:i,player:t})})),r}(),this._timeline=new x(this),this.isObservable=!1}return function Player_createClass(t,r,i){return r&&Player_defineProperties(t.prototype,r),i&&Player_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}(Player,[{key:"id",get:function get(){return this._id}},{key:"properName",get:function get(){return this._properName}},{key:"affs",get:function get(){return this._affs}},{key:"defs",get:function get(){return this._defs}},{key:"stats",get:function get(){return this._stats}},{key:"bals",get:function get(){return this._bals}},{key:"limbs",get:function get(){return this._limbs}},{key:"timeline",get:function get(){return this._timeline}},{key:"currentAffs",get:function get(){return this.timeline.currentAffs}},{key:"present",get:function get(){return this.timeline.present}},{key:"reset",value:function reset(){for(var t in this.timeline.reset(),this.stats)this.stats[t].reset();for(var r in this.defs)this.defs[r].reset();for(var i in this.bals)this.bals[i].reset();for(var a in this.limbs)this.limbs[a].reset();for(var o in this.affs)Object.prototype.hasOwnProperty.call(this.affs,o)&&this.affs[o].reset()}},{key:"setObservable",value:function setObservable(t){this.isObservable=t,t?this.timeline.stopPredictiveCuring():this.timeline.startPredictiveCuring()}}]),Player}(),q={mentals:["claustrophobia","agoraphobia","lovers","dementia","epilepsy","hallucinations","confusion","stupidity","paranoia","vertigo","shyness","addiction","recklessness","masochism"],physicals:["asthma","paralysis","slickness","haemophilia","clumsiness","healthleech","sensitivity","darkshade"],bubonis:["vertigo","recklessness","confusion","masochism","paranoia","shyness","claustrophobia"],chimera:["confusion","hallucinations","agoraphobia","claustrophobia","dementia"],moon:["stupidity","masochism","hallucinations","hypersomnia","confusion","epilepsy","claustrophobia","agoraphobia"],whisperingmadness:["dementia","stupidity","confusion","hypersomnia","paranoia","hallucinations","impatience","addiction","agoraphobia","lovers","loneliness","recklessness","masochism"],justice:["paralysis","sensitivity","healthleech","haemophilia","weariness","asthma","clumsiness"]};function api_createForOfIteratorHelper(t,r){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=function api_unsupportedIterableToArray(t,r){if(!t)return;if("string"==typeof t)return api_arrayLikeToArray(t,r);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return api_arrayLikeToArray(t,r)}(t))||r&&t&&"number"==typeof t.length){i&&(t=i);var a=0,o=function F(){};return{s:o,n:function n(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function e(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,c=!0,d=!1;return{s:function s(){i=i.call(t)},n:function n(){var t=i.next();return c=t.done,t},e:function e(t){d=!0,l=t},f:function f(){try{c||null==i.return||i.return()}finally{if(d)throw l}}}}function api_arrayLikeToArray(t,r){(null==r||r>t.length)&&(r=t.length);for(var i=0,a=new Array(r);i<r;i++)a[i]=t[i];return a}var L=function playerCheck(t){if(void 0===t)return insight.target;if(parseInt(t)||0===t.length)return insight.reporting.logging&&console.error("Insight playerCheck() id must be a string",t),!1;var r=t.toLowerCase();return void 0===insight.players[r]&&(insight.players[r]=new D(r)),insight.players[r]},I=function hasAff(t){var r=t.id,i=t.player,a=t.probability,o=void 0===a?0:a,l=L(i);if(l){o>1&&(o/=100);var c=l.affs[r];return!!(c.have&&c.probability>=o)}},z=function hasAffs(t){var r=t.ids,i=t.probability,a=void 0===i?0:i,o=t.player,l=L(o);if(l){a>1&&(a/=100);var c=!1;return Array.isArray(r)&&(c=r.every((function(t){return l.currentAffs.includes(t)&&l.affs[t].probability>=a}))),c}};function asthmaConfirmOnCure(t){if(insight.hasAnAff({ids:["aeon","deadening","tension","unweavingspirit","disloyalty","hellsight","manaleech","slickness"],player:t.id})){insight.checkBlock(/^\w+ takes a long drag off \w+ pipe\.$/)||insight.confirmAff({id:"asthma",player:t.id,state:!0})}}eventStream.registerEvent("insightUsedCureaurum",asthmaConfirmOnCure),eventStream.registerEvent("insightUsedCurekelp",asthmaConfirmOnCure);var R={blast:["impatience","stupidity","blackout","dizziness","epilepsy","unweavingmind"]};function croneCommand(t){insight.addAff({id:"broken".concat(affs[0]),player:t.target})}function gremlinCommand(t){insight.removeDef({id:"shield",player:t.target})}eventStream.registerEvent("insight.domination.humbugCommand",(function humbugCommand(t){insight.addAff({id:"addiction",player:t.target})})),eventStream.registerEvent("insight.domination.houndCommand",(function houndCommand(t){insight.addAff({id:"weariness",player:t.target})})),eventStream.registerEvent("insight.domination.stormCommand",(function stormCommand(t){insight.addAff({id:"vertigo",player:t.target})})),eventStream.registerEvent("insight.domination.bloodleechCommand",(function bloodleechCommand(t){insight.addAff({id:"haemophilia",player:t.target})})),eventStream.registerEvent("insight.domination.sycophantCommand",(function sycophantCommand(t){insight.addAff({id:"weakenedmind",player:t.target})})),eventStream.registerEvent("insight.domination.slimeCommand",(function slimeCommand(t){insight.addAff({id:"slimeobscure",player:t.target}),insight.confirmAff({id:"asthma",player:t.target,state:insight.checkBlock(/^Horror overcomes \w+'s face as \w+ body stiffens into paralysis\.$/)})})),eventStream.registerEvent("insight.domination.chimeraCommandDeaf",(function chimeraCommandDeaf(t){insight.confirmAff({id:"undeaf",state:!1,player:t.target})})),eventStream.registerEvent("insight.domination.chimeraCommand",(function chimeraCommand(t){insight.confirmAff({id:"undeaf",state:!0,player:t.target}),insight.checkBlock(i(insight.target.id))||insight.addAff({id:"hallucinations",player:t.target})})),eventStream.registerEvent("insight.domination.bubonisCommand",(function bubonisCommand(t){insight.hasDef({id:"fangbarrier",player:t.target})?insight.nextLine("The protective coating covering the skin of")?(insight.confirmAff({id:"asthma",player:t.target,state:!0}),insight.addAff({id:"slickness",player:t.target})):insight.addAff({id:"asthma",player:t.target,state:!0}):insight.hasAff({id:"asthma",player:t.target,probability:.49})?insight.addAff({id:"slickness",player:t.target}):insight.addAff({id:"asthma",player:t.target,state:!0})})),eventStream.registerEvent("insight.domination.wormCommand",(function wormCommand(t){insight.addAff({id:"palpatarfeed",player:t.target})})),eventStream.registerEvent("insight.domination.wormTick",(function wormTick(t){insight.addAff({id:"healthleech",player:t.target})})),eventStream.registerEvent("insight.domination.croneCommand",croneCommand),eventStream.registerEvent("insight.domination.cronePrimebond",croneCommand),eventStream.registerEvent("insight.domination.abominationCommandFail",(function abominationCommandFail(t){insight.removeAff({id:"cleanseaura",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinCommand",gremlinCommand),eventStream.registerEvent("insight.domination.gremlinCommandFail",gremlinCommand),eventStream.registerEvent("insight.domination.firelordCommand",(function firelordCommand(t){insight.removeDef({id:"shield",player:t.target})})),eventStream.registerEvent("insight.domination.firelordCommandFail",(function firelordCommandFail(t){})),eventStream.registerEvent("insight.domination.wormPrimebond",(function wormPrimebond(t){insight.addAff({id:"nausea",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinPrimebond",(function gremlinPrimebond(t){insight.addAff({id:"dizziness",player:t.target})})),eventStream.registerEvent("insight.domination.gremlinPrimebond2",(function gremlinPrimebond2(t){insight.confirmAff({id:"dizziness",state:!0,player:t.target})})),eventStream.registerEvent("insight.domination.humbugPrimebond",(function humbugPrimebond(t){insight.hasAff({id:"addiction",player:t.target,probability:.49})?(insight.adjustHp({id:"percentage",player:t.target,value:-.1}),insight.adjustMana({id:"percentage",player:t.target,value:-.1})):(insight.adjustHp({id:"percentage",player:t.target,value:-.05}),insight.adjustMana({id:"percentage",player:t.target,value:-.05}))})),eventStream.registerEvent("insight.domination.bubonisPrimebond",(function bubonisPrimebond(t){insight.smartAffs({ids:insight.occultist.bubonis,player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondGas",(function chimeraPrimebondGas(t){insight.removeDef({id:"insomnia",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondRam",(function chimeraPrimebondRam(t){insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondRoar",(function chimeraPrimebondRoar(t){insight.addAff({id:"undeaf",player:t.target}),insight.addAff({id:"prone",player:t.target})})),eventStream.registerEvent("insight.domination.chimeraPrimebondUndeaf",(function chimeraPrimebondUndeaf(t){insight.addAff({id:"undeaf",player:t.target})}));__webpack_require__(389),__webpack_require__(473),__webpack_require__(864);var H={version:"0.4.2",reset:function reset(t){(t&&void 0!==insight.players[t]?insight.players[t]:insight.target).reset(),insight.reporting.notices&&d.notice("Reset")},setTarget:function setTarget(t){var r=L(t);r&&(insight.target=r)},addAff:function addAff(t){var r=t.id,i=t.player,a=L(i);a&&a.affs[r]&&a.timeline.add(r)},getAff:function getAff(t){var r=t.id,i=t.player,a=L(i);if(a)return a.affs[r]},removeAff:function removeAff(t){var r=t.id,i=t.player,a=L(i);a&&a.timeline.remove(r)},usedCure:function usedCure(t){var i=t.id,a=t.player,o=L(a);o&&function cureBalanceConfirm(t,i){var a=r[t].bals_req.find((function(t){return!i.bals[t].have}));return!a||(insight.reporting.logging&&console.error("insight usedCure() off balance",t,i.bals[a]),!1)}(i,o)&&(!function cureBlockersConfirm(t,i){var a=r[t].blocks;void 0!==a&&a.forEach((function(t){Array.isArray(t)?z({ids:t})&&t.forEach((function(t){return i.timeline.confirm(t,!1)})):I({id:t})&&(console.log("cureBlockersConfirm ".concat(t)),i.timeline.confirm(t,!1))}))}(i,o),i.includes("restoration")?insight.restorationCure={id:i,player:o.id}:o.timeline.cure(i),r[i].bals_used.forEach((function(t){"free"!==t&&o.bals[t].lost()})),eventStream.raiseEvent("insightUsedCure",{id:i,person:o}),eventStream.raiseEvent("insightUsedCure".concat(i),o))},confirmAff:function confirmAff(t){var r=t.id,i=t.state,a=void 0===i||i,o=t.player,l=L(o);l&&l.timeline.confirm(r,a)},confirmAffs:function confirmAffs(t){var r=t.ids,i=t.state,a=t.player;if(void 0!==r&&Array.isArray(r)){var o=L(a);o&&o.timeline.confirmMultiple(r,i)}},randomAffs:function randomAffs(t){var r=t.ids,i=t.player;if(void 0!==r&&Array.isArray(r)){var a=L(i);a&&a.timeline.random(r)}},readAuraConfirm:function readAuraConfirm(t){var r=t.p,i=t.m,a=t.player,o=L(a);o&&(o.timeline.confirmByAfflictionCount({ids:q.physicals,count:r,condition:"="}),o.timeline.confirmByAfflictionCount({ids:q.mentals,count:i,condition:"="}))},smartAffs:function smartAffs(t){var r=t.ids,i=t.player,a=t.ordered,o=void 0!==a&&a;if(void 0!==r&&Array.isArray(r)){var l=L(i);l&&(o?l.timeline.ordered(r):l.timeline.smart(r))}},convertAff:function convertAff(t){var r=t.id,i=t.to,a=t.player;if(void 0!==r&&void 0!==i){var o=L(a);o&&o.timeline.convert(r,i)}},countAffs:function countAffs(t){var r=t.ids,i=t.player,a=L(i);if(a){var o,l=0,c=api_createForOfIteratorHelper(r);try{for(c.s();!(o=c.n()).done;){var d,u=o.value;null!==(d=a.affs[u])&&void 0!==d&&d.have&&l++}}catch(t){c.e(t)}finally{c.f()}return l}},addDef:function addDef(t){var r=t.id,i=t.player,a=L(i);a&&a.defs[r].got()},removeDef:function removeDef(t){var r=t.id,i=t.player,a=L(i);a&&a.defs[r].lost()},hasAff:I,hasAffs:z,hasAnAff:function hasAnAff(t){var r=t.ids,i=t.player,a=t.probability,o=void 0===a?0:a,l=L(i);if(l){o>1&&(o/=100);var c=!1;return Array.isArray(r)&&(c=r.some((function(t){return l.currentAffs.includes(t)&&l.affs[t].probability>=o}))),c}},hasDef:function hasDef(t){var r=t.id,i=t.player,a=L(i);if(a)return a.defs[r].have},hasBal:function hasBal(t){var r=t.id,i=t.player,a=L(i);if(a)return a.bals[r].have},lostBal:function lostBal(t){var r=t.id,i=t.player,a=L(i);a&&a.bals[r].lost()},balRemaining:function balRemaining(t){var r=t.id,i=t.player,a=L(i);if(a)return a.bals[r].timer.remaining()},setState:function setState(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&o.state[r].value!==i&&(o.state[r].value=i)},getStat:function getStat(t){var r=t.id,i=t.player,a=L(i);if(a)return a.stats[r]},adjustHp:function adjustHp(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&(o.stats.hp[r]+=i)},adjustMana:function adjustMana(t){var r=t.id,i=t.value,a=t.player,o=L(a);o&&(o.stats.mana[r]+=i)},getLimb:function getLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r]},hitLimb:function hitLimb(t){var r=t.id,i=t.player,a=t.value,o=L(i);o&&o.limbs[r].hit(a)},resetLimb:function resetLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r].reset()},breakLimb:function breakLimb(t){var r=t.id,i=t.player,a=L(i);if(a)return a.limbs[r].break()},currentAffs:function currentAffs(){return insight.target.currentAffs},display:d,nextLine:function nextLine(t){for(var r=!1,i=nexusclient.current_line.index+1;i<nexusclient.current_block.length;i++){var a=nexusclient.current_block[i];if(!a.html_text&&!a.is_prompt&&void 0!==a.line){var o=a.parsed_line.text();return t instanceof RegExp?r=t.test(o):"string"==typeof t&&(r=o.includes(t)),r}}},checkBlock:function checkBlock(t){var r=nexusclient.current_block,i=!1;return t instanceof RegExp?i=!!r.find((function(r){return void 0!==r.line&&t.test(r.line)})):"string"==typeof t&&(i=!!r.find((function(r){return void 0!==r.line&&r.line.includes(t)}))),i},venomToAff:{xentio:"clumsiness",eurypteria:"recklessness",kalmia:"asthma",digitalis:"shyness",darkshade:"darkshade",curare:"paralysis",epteth:"",prefarar:"sensitivity",monkshood:"disloyalty",euphorbia:"nausea",oculus:"unblind",vernalius:"weariness",epseth:"",larkspur:"dizziness",slike:"anorexia",delphinium:"sleep",notechis:"haemophilia",vardrax:"addiction",loki:"loki",aconite:"stupidity",selarnia:"",gecko:"slickness",scytherus:"scytherus",nechamadra:"shivering"},target:{},players:{},state:{emoteColor:"#afffff",lastQueue:!1,queues:{},serverAliases:{}},reporting:{promptDisplay:!0,shouldShow:!1,notices:!1,shortNames:!0,colors:!0,logging:!1,log:function log(t){this.logging&&console.log(t)}},depthswalker:{shadowInstill:!1,timeloop:{count:0,max:3}},occultist:q,psion:R,stupidityEmotes:[/^(\w+) makes a strangled meowing noise and quickly shuts up, blushing\.$/,/^(\w+) attempts to do a standing backflip, but merely stumbles over \w+ own feet\.$/,/^Tears fill (\w+)'s eyes and begin to slowly run down \w+ face\.$/,/^(\w+) sweeps across the floor, leaping and twirling like a true master\.$/,/^(\w+) gets down on one knee and serenades the world\.$/,/^(\w+) grunts a bit and then lets out a loud "OINK!"$/,/^(\w+) lets out a loud, long "MOOOOOOOOOOO!"$/,/^(\w+) breaks down and sobs uncontrollably\.$/,/^(\w+) pulls down \w+ pants and moons the world\.$/,/^(\w+) looks around vainly for a partner to tango with\.$/,/^(\w+) waggles \w+ eyebrows comically\.$/,/^(\w+) falls to \w+ knees in worship\.$/,/^(\w+) picks \w+ nose absently\.$/,/^(\w+) gives up a round of applause\.$/,/^(\w+) flaps \w+ arms madly\.$/,/^(\w+) giggles happily\.$/,/^(\w+) drops to one knee\.$/,/^(\w+) wails like an old woman\.$/,/^(\w+) twitches spasmodically\.$/,/^(\w+) burps obscenely\.$/,/^(\w+) blinks\.$/,/^(\w+) hugs \w+ compassionately\.$/,/^(\w+) stumbles and pokes \w+ in the eye\.$/],debug:function debug(){insight.display.notice("Version: ".concat(insight.version)),console.log("Version: ".concat(insight.version)),insight.display.notice("Target: ".concat(insight.target.id)),console.log("Target: ".concat(insight.target.id)),insight.display.notice("Display settings: ".concat(JSON.stringify(insight.reporting))),console.log("Display settings: ".concat(JSON.stringify(insight.reporting))),insight.display.notice("Display event: ".concat(eventStream.stream.PromptEvent.has("insightDisplay"))),console.log("Display event: ".concat(eventStream.stream.PromptEvent.has("insightDisplay"))),insight.display.notice("Skill event: ".concat(eventStream.stream.nexSkillMatch.has("insightSkills"))),console.log("Skill event: ".concat(eventStream.stream.nexSkillMatch.has("insightSkills"))),insight.display.notice("Affs: ".concat(insight.currentAffs())),console.log("Affs: ".concat(insight.currentAffs())),insight.display.notice('Simulating affliction "asthma"...');var t=insight.target.id;insight.setTarget("Khaseem"),console.log('Simulating affliction "asthma"...'),insight.addAff({id:"asthma"}),console.log("Affs: ".concat(insight.currentAffs())),nexusclient.send_commands("x"),insight.display.notice("Affs: ".concat(insight.currentAffs())),insight.setTarget(t)},currentAffDisplay:function currentAffDisplay(){var t=[];return insight.target.currentAffs.forEach((function(r){var i=insight.target.affs[r]instanceof p?"".concat(r).concat(parseFloat(insight.target.affs[r].count.toFixed(1))):r;t.push("".concat(i,": ").concat(insight.target.affs[r].probability))})),t}};globalThis.insight=H,globalThis.insight.setTarget("khaseem"),globalThis.insight.reset(),"undefined"!=typeof nexusclient?(!function insightEvents(){function limbCures(t){var r={brokenleftleg:"mangledleftleg",brokenleftarm:"mangledleftarm",brokenrightleg:"mangledrightleg",brokenrightarm:"mangledrightarm"};console.log(t);var i={mangledleftleg:"damagedleftleg",mangledleftarm:"damagedleftarm",mangledrightleg:"damagedrightleg",mangledrightarm:"damagedrightarm",mangledhead:"damagedhead",serioustrauma:"mildtrauma",damagedleftleg:"brokenleftleg",damagedleftarm:"brokenleftarm",damagedrightleg:"brokenrightleg",damagedrightarm:"brokenrightarm"}[t.id];void 0!==r[i]&&insight.hasAff({id:r[i],player:t.player})||insight.addAff({id:i,player:t.player})}eventStream.registerEvent("insightLostAff",(function noticeLostAff(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.affUpdate(t.id,!1))})),eventStream.registerEvent("insightGotAff",(function noticeGotAff(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.affUpdate(t.id,!0))})),eventStream.registerEvent("insightLostDef",(function noticeLostDef(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.defUpdate(t.id,!1))})),eventStream.registerEvent("insightGotDef",(function noticeGotDef(t){insight.reporting.notices&&insight.target.id===t.player&&d.notice(d.defUpdate(t.id,!0))})),eventStream.registerEvent("IRE.Target.Set",(function insightTarget(t){"number"!=typeof t&&insight.setTarget(t)})),eventStream.registerEvent("insightAffsUpdated",(function insightDisplayShow(){insight.reporting.shouldShow=!0})),eventStream.registerEvent("PromptEvent",(function insightDisplay(){insight.reporting.promptDisplay&&insight.reporting.shouldShow&&insight.currentAffs().length>0&&(nexusclient.add_html_line(d.currentAffDisplayHTML()),insight.reporting.shouldShow=!1)})),eventStream.registerEvent("nexSkillMatch",(function insightSkills(t){"secondPerson"!==t.match&&eventStream.raiseEvent("insight.".concat(t.skill,".").concat(t.id),t)})),eventStream.registerEvent("insightLimbBreak",(function limbBreaks(t){switch(t.id){case"leftleg":case"rightleg":case"rightarm":case"leftarm":case"head":insight.hasAff({id:"damaged".concat(t.id),player:t.player})?insight.convertAff({id:"damaged".concat(t.id),to:"mangled".concat(t.id),player:t.player}):insight.hasAff({id:"mangled".concat(t.id),player:t.player})||((t.id.includes("leg")||t.id.includes("arm"))&&insight.removeAff({id:"broken".concat(t.id),player:t.player}),insight.addAff({id:"damaged".concat(t.id),player:t.player}));break;case"torso":insight.hasAff({id:"mildtrauma",player:t.player})?insight.convertAff({id:"mildtrauma",to:"serioustrauma",player:t.player}):insight.addAff({id:"mildtrauma",player:t.player});default:console.error("insight event limbBreak no case found",t)}})),eventStream.registerEvent("insightLostAffmangledleftleg",limbCures),eventStream.registerEvent("insightLostAffmangledleftarm",limbCures),eventStream.registerEvent("insightLostAffmangledrightleg",limbCures),eventStream.registerEvent("insightLostAffmangledrightarm",limbCures),eventStream.registerEvent("insightLostAffmangledhead",limbCures),eventStream.registerEvent("insightLostAffserioustrauma",limbCures),eventStream.registerEvent("insightLostAffdamagedleftleg",limbCures),eventStream.registerEvent("insightLostAffdamagedleftarm",limbCures),eventStream.registerEvent("insightLostAffdamagedrightleg",limbCures),eventStream.registerEvent("insightLostAffdamagedrightarm",limbCures)}(),H.reporting.notices=!0,"khaseem"!==nexusclient.charname?fetch("https://unpkg.com/nexsight/insight3.nxs",{cache:"no-store"}).then((function(t){return t.json()})).then((function(t){nexusclient.packages().get("insight3").apply(t,nexusclient.reflexes()),console.log("insight package update successful"),eventStream.raiseEvent("insightLoaded")})).catch((function(t){nexusclient.display_notice("[Error]: Insight package update failed.","red"),console.error("Insight package update failed.",t)})):eventStream.raiseEvent("insightLoaded")):console.error('Insight failed to load on nexusclient !== "undefined"')}()}();
|
package/insight3.nxs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"group","name":"insight3","enabled":true,"items":[{"type":"function","name":"__meta","enabled":true,"code":"{\n \"description\": \"Nexus affliction tracker\",\n \"version\": \"0.4.1\",\n \"website\": \"https://github.com/NexusUnleashed/insight3\",\n \"dependencies\": [\n \"eventStream3\"\n ]\n}"},{"type":"function","name":"SCRATCH","enabled":true,"code":"/*\n20241123\n- The general curative triggers could be changed to functions firing off of nexSkills (eat/smoke/salve/etc)\n-- Maybe easier to troubleshoot as triggers?\n-- Technically, redundant pattern matching\n\n- Should add a \"gate\" to the Cure confirms to prevent possible illusions.\n-- Gate on when any cure is used\n-- Gate off on prompt? On time (1s?)?\n\n- Should we add a constraint on the Aff confirms to only accept if we thought they had the aff at all?\n-- possibly cut down on illusions?\n-- Currently confirmAff will convert to addAff if you confirm an aff that wasn't being tracked.\n--- Do we want this?\n\n- There is a school of thought that aff tracking should always assume the best case scenario for the attacker.\n-- The theory being if you always assume uncertainty you will never have green light to go for a kill sequence.\n-- Example would be target has Asthma and Clumsiness and eats kelp.\n--- You're going for a lock and now have a 50/50 probability they still have asthma.\n--- This school of thought prescribes that you assume they have asthma and go for the lock.\n--- I think insight should provide the player the information as accurately as possible, and they can code those types of decisions into their own offense.\n--- Should we reconsider this?\n*/"},{"type":"function","name":"onInstall","enabled":true,"code":"nexusclient.reflexes().run_function('esLoad', {}, 'insight3');"},{"type":"function","name":"onUninstall","enabled":true,"code":"// Place any code here you'd like to autorun when the package is uninstalled"},{"type":"function","name":"onLoad","enabled":true,"code":"nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Curing', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Affliction Indicators', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Defences', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Skills', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Prep', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Queues', true, false, 'insight3'));"},{"type":"function","name":"esLoad","enabled":true,"code":"/* Run all skill functions \"pseudo triggers\"\n// Get the insight3 package reference\nconst insightPackage = nexusclient.packages().get('insight3');\n// only check the Skills group\nconst skillsGroup = insightPackage.items.find(e => e.name === \"Skills\");\n// Array of all groups under Skills, filter out triggers/aliases\nconst groups = skillsGroup.items.filter(e => e.type === \"group\");\n//Run any functions within each group\ngroups.forEach(group => {\n const funcs = group.items.filter(e => e.type === \"function\");\n funcs.forEach(f => f.exec())\n})\n*/\nconst enableGroups = function() {\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Curing', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Affliction Indicators', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Defences', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Skills', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Prep', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Queues', true, false, 'insight3'));\n}\n\n// Development short circuit\n//enableGroups();\n//return;\n\nimport('https://unpkg.com/nexsight/insight.min.js').then(() => {\n console.log('insightDisplay then()');\n insight.display.notice('Loaded');\n enableGroups();\n})\n.catch(error => {\n nexusclient.display_notice(\"[Error]: Insight failed to load\", \"red\");\n console.error('Error during inisght import:', error);\n });"},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.debug();"}],"text":"insight.debug","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"alias","name":"","enabled":true,"actions":[{"type":"function","enabled":true,"fn":"esLoad"}],"text":"insight.reload","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"group","name":"Target Curing","enabled":true,"items":[{"type":"group","name":"Curatives","enabled":true,"items":[{"type":"trigger","name":"Antimony","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'antimony'})"}],"text":"^(\\w+) eats (?:a ginger root|an antimony flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Argentum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'argentum'})"}],"text":"^(\\w+) eats (?:a lobelia seed|an argentum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Arsenic","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'arsenic'})"}],"text":"^(\\w+) eats (?:some bayberry bark|an arsenic pellet)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Aurum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'aurum'})"}],"text":"^(\\w+) eats (?:a piece of kelp|an aurum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Cuprum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'cuprum'});"}],"text":"^(\\w+) eats a (?:bellwort flower|cuprum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Calamine","enabled":true,"actions":[{"type":"script","enabled":true,"script":"let insightDeafnessTimer\nclearTimeout(insightDeafnessTimer);\ninsightDeafnessTimer = setTimeout(() => { \n insight.usedCure({player: args[1], id: 'calamine'}); \n}, 3000);"}],"text":"^(\\w+) eats a (?:hawthorn berry|calamine crystal)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Ferrum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'ferrum'})"}],"text":"^(\\w+) eats a (?:ginseng root|ferrum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Magnesium","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'magnesium'})"}],"text":"^(\\w+) eats a (?:bloodroot leaf|magnesium chip)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Plumbum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'plumbum'})"}],"text":"^(\\w+) eats a (?:goldenseal root|plumbum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Stannum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'stannum'})"}],"text":"^(\\w+) eats (?:some prickly ash bark|a stannum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Potash","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.adjustMana({id: \"percentage\", value: 0.08, player: args[1]});\ninsight.adjustHp({id: \"percentage\", value: 0.08, player: args[1]});"}],"text":"^(\\w+) eats (?:some irid moss|a potash crystal)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Body","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Epidermal to body for anorexia\n// Mending to body for burning\nif (insight.hasAff({id: 'anorexia', player: args[1]})) {\n insight.usedCure({player: args[1], id: 'epidermal to body'});\n} else if (insight.hasAnAff({ids: [\"hypothermia\",\n \"heartseed\",\n \"serioustrauma\",\n \"mildtrauma\",\n \"calcifiedtorso\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to body\", player: args[1]});\n} else {\n insight.usedCure({player: args[1], id: 'mending to body'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ body\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Torso","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Epidermal to body for anorexia\n// Mending to body for burning\nif (insight.hasAff({id: 'anorexia', player: args[1]})) {\n insight.usedCure({player: args[1], id: 'epidermal to body'});\n} else if (insight.hasAnAff({ids: [\"hypothermia\",\n \"heartseed\",\n \"serioustrauma\",\n \"mildtrauma\",\n \"calcifiedtorso\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to body\", player: args[1]});\n} else {\n insight.usedCure({player: args[1], id: 'mending to body'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ torso\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Head","enabled":true,"actions":[{"type":"script","enabled":true,"script":"\nif (insight.hasAnAff({ids: ['damagedhead', 'mangledhead'], player: args[1]})) {\n insight.usedCure({id: \"restoration to head\", player: args[1]});\n} else if (insight.hasAff({id: 'unblind', player: args[1]})) {\n insight.addAff({player: args[1], id: 'undeaf'});\n} else if (insight.hasAff({id: 'undeaf', player: args[1]})) {\n\tinsight.addAff({player: args[1], id: 'undeaf'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Arms","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his arms.\nif (insight.hasAnAff({ids: [\"damagedleftarm\", \"damagedrightarm\", \"mangledleftarm\", \"mangledrightarm\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to arms\", player: args[1]});\n} else {\n\tinsight.usedCure({id: \"mending to arms\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ arms\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Legs","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his legs.\nif (insight.hasAnAff({ids: [\"damagedleftleg\", \"damagedrightleg\", \"mangledleftleg\", \"mangledrightleg\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to legs\", player: args[1]});\n} else {\n\tinsight.usedCure({id: \"mending to legs\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ legs\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Skin","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his skin.\n// Untargetted apply.\n// Caloric, Mass\nif (insight.hasAnAff({ids: [\"frozen\", \"shivering\"], player: args[1]})) {\n\tinsight.usedCure({id: \"caloric\", player: args[1]});\n} else {\n\tinsight.addDef({id: \"insulation\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ skin\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Smoke Pipe","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.hasAnAff({ids: [\"aeon\", \"deadening\", \"tension\", \"unweavingspirit\"], player: args[1]})) {\n\tinsight.usedCure({id: \"cinnabar\", player: args[1]});\n} else if (insight.hasAnAff({ids: [\"disloyalty\", \"hellsight\", \"manaleech\", \"slickness\"], player: args[1]})) {\n\tinsight.usedCure({id: \"realgar\", player: args[1]});\n}"}],"text":"^(\\w+) takes a long drag off \\w+ pipe\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tree Tattoo","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"tree\", player: args[1]});"}],"text":"^(\\w+) touches a tree of life tattoo\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Focus","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"focus\", player: args[1]});\n\neventStream.raiseEvent('focusLostInsightTracker');"}],"text":"^A look of extreme focus crosses the face of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Restore","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"brokenrightarm\", player: args[1]});\ninsight.removeAff({id: \"brokenrightleg\", player: args[1]});\ninsight.removeAff({id: \"brokenleftarm\", player: args[1]});\ninsight.removeAff({id: \"brokenleftleg\", player: args[1]});"}],"text":"^(\\w+) crackles with blue energy that wreathes itself about \\w+ limbs\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Class Cures","enabled":true,"items":[{"type":"trigger","name":"Sun Tarot","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^The globe of light illuminates (\\w+) with its brilliance\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Runewarden Sun","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^A rune like a rising sun upon the ground flares, bathing (\\w+) with healing magic\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shrugging","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"shrugging\", player: args[1]});"}],"text":"^(\\w+?) hunches \\w+ shoulders and lets out a soft hiss\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^(\\w+) is surrounded in a cool, refreshing mist\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^A demonic crimson glow emanates from (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Pariah Leech","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^Something pulses from within the chest of (\\w+), and \\w+ seems more vital\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonheal","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^(\\w+) lets out a great keening, casting the impurities from \\w+ form\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Accelerate","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Khaseem grows older before your eyes.\nconsole.log(nexusclient.current_block)\nconst boost = insight.nextLine('grows older before your eyes.');\nif (boost) {\n insight.usedCure({id: \"accelerate\", player: args[1]});\n insight.usedCure({id: \"accelerate\", player: args[1]});\n} else {\n insight.usedCure({id: \"accelerate\", player: args[1]});\n}"}],"text":"^A look of relief comes over (\\w+) as \\w+ grows less pale\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]}]},{"type":"group","name":"Affliction Indicators","enabled":true,"items":[{"type":"group","name":"Cure Confirms","enabled":true,"items":[{"type":"trigger","name":"Stand","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"stand\", player: args[1]});"}],"text":"^(\\w+) stands up\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Lovers Cure Confirm","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"lovers\", state: false, player: args[1]});"}],"text":"^(\\w+) shakes \\w+ head and a look of clarity returns to \\w+ eyes\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Whispering Madness Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"whisperingmadness\", player: args[1], state: false});"}],"text":"^(\\w+) ceases \\w+ violent trembling\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Slime Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"slimeobscure\", player: args[1]});"}],"text":"^(\\w+) finally rids \\w+ of the slime covering \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"slickness\", state: false, player: args[1]});"}],"text":"^(\\w+) applies a (?:quicksilver droplet|sileris berry) to \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shadowmadness Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shadowmadness\", player: args[1], state: false});"}],"text":"^Lucidity returns to the eyes of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingspirit Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingspirit\", player: args[1], state: false});"}],"text":"^(\\w+) seems suddenly unburdened, clarity reasserting itself upon \\w+ features\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingmind Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingmind\", player: args[1], state: false});"}],"text":"^The light behind the eyes of (\\w+) reignites\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingbody Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingbody\", player: args[1], state: false});"}],"text":"^(\\w+) suddenly seems much more vital\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Bloodfire Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"bloodfire\", player: args[1], state: false});"}],"text":"^The unnatural flames that burn upon the skin of (\\w+) wink out\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Aff Confirms","enabled":true,"items":[{"type":"trigger","name":"Agoraphobia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"agoraphobia\", state: true, player: args[1]});"}],"text":"^(\\w+) is gripped with fear, staring out with terrified eyes\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Claustrophobia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"claustrophobia\", state: true, player: args[1]});"}],"text":"^(\\w+) begins to pant in terror\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Confusion 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"confusion\", state: true, player: args[1]});"}],"text":"^(\\w+) looks about bemusedly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Darkshade Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"darkshade\", player: args[1], state: true});"}],"text":"^(\\w+) lets out a piercing scream, as if wounded by the very sunlight\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dementia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"dementia\", state: true, player: args[1]});"}],"text":"^(\\w+) stares about \\w+ frenziedly, wild-eyed\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Epilepsy 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"epilepsy\", player: args[1], state: true});"}],"text":"^(\\w+) begins to jerk and shake violently, foaming at the mouth\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Hallucinations 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"hallucinations\", player: args[1], state: true});\ninsight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) leaps up in what is apparently an attempt at a graceful swan dive\\. \\w+ smacks headfirst into the ground\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Hypersomnia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"hypersomnia\", state: true, player: args[1]});"}],"text":"^(\\w+) suddenly appears tired all of a sudden\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Impatience 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"impatience\", player: args[1]});"}],"text":"^(\\w+) shuffles \\w+ feet in boredom\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Masochism 3P 1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", player: args[1], state: true});"}],"text":"^(\\w+) smiles as \\w+ rams \\w+ fist into \\w+ jaw\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Masochism 3P 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", player: args[1], state: true});"}],"text":"^(\\w+) uses \\w+ right foot to stomp on \\w+ left as hard as possible\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Masochism 3P 3","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", state: true, player: args[1]});"}],"text":"^With the heel of \\w+ palm, (\\w+) smacks \\w+ upside the head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Nausea Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"nausea\", player: args[1], state: true});"}],"text":"^(\\w+) doubles over, vomiting violently\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Paralysis 3P 1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"paralysis\", state: true, player: args[1]});"}],"text":"^Horror overcomes the face of (\\w+?) as \\w+ body locks in paralysis\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Paralysis 3P 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"console.log(args[1])\ninsight.confirmAff({id: \"paralysis\", state: true, player: args[1]});"}],"text":"^Horror overcomes (\\w+)'s face as \\w+ body stiffens into paralysis\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shyness 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shyness\", state: true, player: args[1]});"}],"text":"^(\\w+) trembles with fear\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sleep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+)'s eyes close suddenly as \\w+ falls asleep\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"EXPERIMENTAL Stupidity Emotes","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// insight needs to set the user's emote color. insight.state.emoteColor = \"\"#008080\"\nif (nexusclient.current_line.is_prompt) { return; }\nif (\n nexusclient.current_line.parsed_line.chunks.at(-2)._fg !==\n insight.state.emoteColor\n) { return; }\nconst targetName =\n insight.target.id.charAt(0).toUpperCase() + insight.target.id.slice(1);\nif (!nexusclient.current_line.parsed_line.text().includes(targetName)) {\n return;\n}\nif (!insight.hasAff({ id: \"stupidity\" })) { return; }\n\nconst maybe = insight.stupidityEmotes.find((e) =>\n e.test(nexusclient.current_line.parsed_line.text())\n);\nif (maybe) {\n insight.confirmAff({ id: \"stupidity\", state: true });\n}"}],"text":"^","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shivering 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shivering\", state: true, player: args[1]});"}],"text":"^(\\w+) shivers particularly intensely\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]}]},{"type":"group","name":"Target Defences","enabled":true,"items":[{"type":"trigger","name":"Shield Hit1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\", player: args[1]});"}],"text":"^A dizzying beam of energy strikes you as your attack rebounds off of (\\w+)'s shield\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shield Hit2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\", player: args[1]});"}],"text":"^The magical shield surrounding (\\w+) makes that impossible\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shield Up","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^A nearly invisible magical shield forms around (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^A supple purple shell of sileris berry juice has formed around (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"slickness\", player: args[1]});\ninsight.removeDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^The protective coating covering the skin of (\\w+) sloughs off\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Insomina","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insomnia\", player: args[1]});"}],"text":"^(\\w+) clenches \\w+ fists and grits \\w+ teeth\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Lyre","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"prismatic\", player: args[1]});"}],"text":"^(\\w+) plucks at the strings on .+, and a bright, jovial tune accompanies the weaving of a prismatic barrier around \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"prismatic\", player: args[1]});"}],"text":"^Your attack is repelled by the prismatic barrier surrounding (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"prismatic\", player: args[1]});"}],"text":"^(\\w+)'s prismatic barrier dissolves into nothing\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Speed Stripped","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Speed stripped\ninsight.removeDef({id: \"speed\", player: args[1]});"}],"text":"^(\\w+) suddenly seems less dexterous, \\w+ reactions becoming noticeably slower\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Skills","enabled":true,"items":[{"type":"group","name":"Bladedance","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"earworm\", state: true});"}],"text":"^Your rapier sings out with a high, piercing note\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Domination","enabled":true,"items":[{"type":"trigger","name":"Command Minion Miss","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"enlightenment\", state: false, player: args[1]});"}],"text":"^A minion of chaos thrusts a hand in the direction of (\\w+), but nothing seems to happen\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Primebond Firelord Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Is this a unique message to firelord primebond?\n// Not added to nexSkills until we can confirm\ninsight.addAff({id: \"burning\", player: args[1]});"}],"text":"^(\\w+) cries out in horror as \\w+ body erupts into flames!$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Control","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Not sure if we want to track these types of States in enlighten or leave it to the player\n//insight.setStat({id: \"soulmaster\", value: true, player: args[1]});"}],"text":"^You sense that the soulmaster entity is in control of (\\w+)'s being\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Soulmaster no control","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//insight.setStat({id: \"soulmaster\", value: false, player: args[1]});"}],"text":"^Your soulmaster is wrestling for control of (\\w+)'s soul and cannot command \\w+ right now\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Command","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//insight.setStat({id: \"soulmaster\", value: false, player: args[1]});"}],"text":"^You order the soulmaster entity to manipulate (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your soulmaster lets loose a horrible scream as it lets part of its being flow into (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Bloodleech Primebond","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//100 bleed\n//220 bleed if haemophilia"}],"text":"^The bloodleech clinging to (\\w+) expands and contracts with a sickening sound\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sycophant Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^You sense your sycophant begin to feed\\.\\.\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Bubonis Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Bubonis latched"}],"text":"^Your bubonis entity scuttles over to (\\w+) and then suddenly leaps up, latching itself to \\w+ head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Worm Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Worm attached"}],"text":"^A chaos worm begins burrowing into (\\w+)'s belly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Humbug Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your humbug entity leaps at (\\w+)'s throat\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Slime Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your green slime entity quickly envelops","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Dragoncraft","enabled":true,"items":[{"type":"trigger","name":"Gust","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^Drawing an enormous breath, you exhale, expelling a gale of wind with such force that (\\w+) is knocked over\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Gust 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^Drawing an enormous breath, \\w+ exhales, expelling a gale of wind with such force that (\\w+) is knocked over\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonroar","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const roar = insight.state.lastQueue.match(/DRAGONROAR (\\w+)/)\nif (roar) {\n insight.addAff({id: \"undeaf\", player: args[1]});\n}"}],"text":"^Your nostrils flare with a rush of air as your sinuous body contracts and your mouth opens wide to emit a rippling, unbroken roar that reverberates through the very earth underfoot\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonroar 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"undeaf\", player: args[1]});"}],"text":"^\\w+'s nostrils flare wildly with a great rush of air as \\w+ sinuous body contracts and \\w+ mouth opens wide to emit a rippling, unbroken roar at (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Venom","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.rendVenom = args[1];"}],"text":"^You rub some (\\w+) on your wickedly sharp claws\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Prep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.rendVenom) {\n const aff = insight.venomToAff[insight.rendVenom];\n insight.addAff({id: aff, player: args[1]});\n insight.rendVenom = false;\n}"}],"text":"^Lunging forward with long, flashing claws extended, you tear into the flesh of (\\w+)'s .+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Free","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.rendVenom) {\n const aff = insight.venomToAff[insight.rendVenom];\n insight.addAff({id: aff, player: args[1]});\n insight.rendVenom = false;\n}"}],"text":"^Lunging forward with long, flashing claws extended, you tear into (\\w+) ruthlessly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragoncurse Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.state.dragoncurse) {\n insight.addAff({id: insight.dragoncurse, player: args[1]});\n insight.state.dragoncurse = false;\n}"}],"text":"^(\\w+) convulses under the influence of some invisible force\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragoncurse Aff","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.dragoncurse = args[1];"}],"text":"^You summon your ancient power and direct the curse of (\\w+) to strike down (\\w+) in (\\d+) seconds\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tailsweep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) is knocked forcefully off \\w+ feet by the impact of your huge tail\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tailsweep 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) is knocked forcefully off \\w+ feet by the impact of \\w+'s huge tail\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Occultism","enabled":true,"items":[{"type":"group","name":"Readaura","enabled":false,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"undeaf\"})"}],"text":"^\\w+ is deaf\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"unblind\"})"}],"text":"^\\w+ is blind\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insomnia\"});\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"insomnia\");"}],"text":"^\\w+ has insomnia, and cannot easily go to sleep\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"speed\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"speed\");"}],"text":"^\\w+ sense of time is heightened, and \\w+ reactions are speeded\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"kola\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"kola\");"}],"text":"^\\w+ is feeling extremely energetic\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"cloak\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"cloak\");"}],"text":"^\\w+ is surrounded by a cloak of protection\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insulation\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"insulation\");"}],"text":"^\\w+ is coated in an insulating unguent\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"fangbarrier\");"}],"text":"^\\w+ is protected from the fangs of serpents\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"rebounding\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"rebounding\");"}],"text":"^\\w+ is protected from hand-held weapons with an aura of rebounding\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"curseward\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"curseward\");"}],"text":"^A curseward has been established about \\w+ person\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"selfishness\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"selfishness\");"}],"text":"^\\w+ is feeling quite selfish\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"shield\");"}],"text":"^\\w+ is surrounded by a nearly invisible magical shield\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.readAuraConfirm({p: args[2], m: args[3], player: args[1]});"}],"text":"^You perceive that (\\w+) suffers from (\\d+) physical afflictions and (\\d+) mental afflictions\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Readaura\", false, false, \"insight3\"));\ninsight.occultist.readAuraDefs.forEach(def => insight.removeDef({id: def, player: args[1]}));\ninsight.getStat({id: \"mana\"}).value = parseInt(args[2]);\ninsight.getStat({id: \"mana\"}).max = parseInt(args[2]);"}],"text":"^You sense that the mana of (\\w+) stands at (\\d+) of a maximum (\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"trigger","name":"Readaura Start","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Readaura\", false, false, \"insight3\"));\nfor (let i = nexusclient.current_block.indexOf(nexusclient.current_line); i < nexusclient.current_block.length-1; i++) {\n if (nexusclient.current_block[i]?.line.includes('You perceive that')) {\n \t\tbreak;\n }\n nexusclient.current_block[i].gag = true;\n}\ninsight.occultist.readAuraDefs = ['insomnia', 'insulation', 'kola', 'cloak', 'speed', 'rebounding', 'fangbarrier', 'curseward', 'shield', 'selfishness'];\n//const defs = ['insomnia', 'kola', 'cloak', 'speed', 'rebounding', 'fangbarrier'];\n//defs.forEach(def => insight.removeDef({id: def}));\n//const block = nexusclient.current_block;"}],"text":"^Studying the aura of (\\w+), you look for traces of anything that may be protecting it\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"PinchAura","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^With a sudden, quick gesture, you snatch at (?<target>\\w+)'s aura and pinch the unwanted anomaly in the aura\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Devolve Hit 2","enabled":false,"actions":[{"type":"script","enabled":true,"script":"//Pamxen's tongue suddenly lengthens and splits into a wide fork. His skin thickens and is mottled with bumps.\n//Pamxen's skin suddenly darkens to a deep green and is covered with warts. As Pamxen's face widens, his mouth stretches to ridiculous \n//Feathers sprout up all over Pamxen's face, and the lips thicken and lengthen into a small beak."}],"text":"^(\\w+)'s skin suddenly darkens to a deep green and is covered with warts\\. As \\w+'s face widens, \\w+ mouth stretches to ridiculous proportions\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Whisperingmadness Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"whisperingmadness\", player: args[1], state: true});"}],"text":"^(\\w+) trembles and \\w+ eyes widen in terror\\. \\w+ looks around \\w+ as if searching for something that isn't there\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Chaosrays Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Antoninus is hit by a orange, blue, and green ray.\n//Antoninus is hit by a red, violet, and indigo ray.\n//Antoninus is hit by a orange ray.\n//Antoninus is hit by a orange and red ray.\nlet chaosColors = {\n\tindigo() {insight.addAff({id: \"stupidity\", player: args[1]});},\n orange() {insight.addAff({id: \"paralysis\", player: args[1]});},\n violet() {\n if (insight.hasDef({id: \"speed\", player: args[1]})) {\n insight.removeDef({id: \"speed\", player: args[1]});\n } else {\n insight.addAff({id: \"aeon\", player: args[1]});\n }\n },\n blue() {/*cold damage*/},\n green() {/*healing*/},\n yellow() {/*electric damage*/},\n red() {/*fire damage*/}\n}\nlet colors = args[2].replace(' and ', ',').replaceAll(' ', '').replace(',,', ',').split(',')\ncolors.forEach(e => chaosColors[e]());"}],"text":"^(\\w+) is hit by a (.+) ray\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Truename Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"speed\", player: args[1]});\ninsight.addAff({id: \"aeon\", player: args[1]});"}],"text":"^Drawing back with a knowing smirk, you utter the truename of (\\w+), who suddenly becomes very still and bleeds from \\w+ eyes and ears\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unnamable Hit Confirm","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Hit with unnamable. 1-3 afflictions\nfor(let i = 0; i < args[2]; i++) {\n\tinsight.smartAffs({ids: [\"confusion\", \"stupidity\", \"dementia\"], player: args[1]});\n}"}],"text":"^(\\w+) has been struck down by (\\d) curses of the unnamable\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Enlighten","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.nextLine('You see')) {\n insight.addAff({id: \"enlightenment\", player: args[1]});\n}"}],"text":"^You place both hands on either side of (\\w+)'s head and stare straight into \\w+ eyes\\. Summoning all your knowledge of the occult mysteries, you will your knowledge into \\w+'s mind\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Enlighten Yell","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"enlightenment\", player: args[1]});"}],"text":"^You see (.+) yell, \"No, it cannot be true! I cannot accept it! I beg of you to make it stop!\"$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Enlighten Shout","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"enlightenment\", player: args[1]});"}],"text":"^You see (.+) shout, \"No, it cannot be true! I cannot accept it! I beg of you to make it stop!\"$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Regress 3P Anorexia","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"anorexia\", player: args[1]});\ninsight.confirmAff({id: \"prone\", player: args[1], state: true});"}],"text":"^The face of (\\w+) turns a particularly vibrant shade of green\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Regress 3P Prone","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^The legs of (\\w+) snap out from under \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Discord","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"healthleech\", player: args[1], state: true});\ninsight.confirmAff({id: \"asthma\", player: args[1], state: true});\ninsight.addAff({id: \"loneliness\", player: args[1]});\ninsight.addAff({id: \"dizziness\", player: args[1]});"}],"text":"^(\\w+) clutches at \\w+ head as \\w+ begins to mutter gibberish over and over under his breath\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Entropy Strip","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Delayed speed strip.\n//Speed drop will show on 3p message"}],"text":"^(\\w+) twists and writhes in the grip of some anathema power, before ripping \\w+ free of its unnatural hold\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Entropy Aeon","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"speed\", player: args.target});\ninsight.addAff({id: \"aeon\", player: args.target});"}],"text":"^(\\w+) twists and writhes in the grip of an unnatural force, parts of \\w+ body flickering as if seen through a veil of mist\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Potential Limbs","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limbs = [\"leftarm\", \"leftleg\", \"rightarm\", \"rightleg\"];\n\nlimbs.forEach(limb => {\n if (insight.hasAff({id: `mangled${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `mangled${limb}`, player: args[1], state: true});\n } else if (insight.hasAff({id: `damaged${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `damaged${limb}`, player: args[1], state: true});\n } else if (insight.hasAff({id: `broken${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `broken${limb}`, player: args[1], state: true});\n }\n})"}],"text":"^The body of (\\w+) goes slack, \\w+ eyes rolling almost completely back in \\w+ head as \\w+ face goes a ghostly white\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Potential Frozen","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shivering\", player: args[1], state: true});\ninsight.confirmAff({id: \"frozen\", player: args[1], state: true});\ninsight.removeDef({id: \"insulation\", player: args[1]})"}],"text":"^(\\w+) twitches in the grip of some terrible power, skin splitting and cracking under its unforgiving grasp\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Shadowmancy","enabled":true,"items":[{"type":"trigger","name":"Shadow Instill","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.depthswalker.shadowInstill = args[1];"}],"text":"^Focusing upon .+?, you instill it with the directive of (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadow Evenom","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.envenom1 = insight.venomToAff[args[1]];"}],"text":"^You rub some (\\w+) on .+?\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Attune Madness","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[2], player: args[1]});"}],"text":"^You sense that (\\w+) has been struck down with the (\\w+) madness\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Attune Degeneration","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[2], player: args[1]});"}],"text":"^You determine that (\\w+) is suffering from (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadowmadness Proc","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[1], player: args[2]});"}],"text":"^You determine that the insanity of (\\w+) has struck down (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadowstrike Miss","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({ id: \"shield\", player: args[1] });"}],"text":"^(\\w+) is not surrounded by a magical shield\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Tarot","enabled":true,"items":[{"type":"trigger","name":"TODO: Hit Hangedman","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//bound"}],"text":"^You toss the Hanged Man tarot card at (\\w+) and as it reaches (?:her|him), a huge mass of rope bursts out of it to entrap and hinder \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"TODO: Hit Ruinate Justice","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Converted paralysis, sensitivity, healthleech, haemophilia, weariness, asthma, or clumsiness into broken limbs.\n// what order does it convert in?\n// is it always the same order?"}],"text":"^As you fling a card at (\\w+), the scales of justice upon its surface twists and cracks as the image becomes something indefinable, but vastly more sinister\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"3P Ruinate Justice Break","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Ruinate Justice is SMART aff random\n//21:55:21.857 Pamxen violently spasms as orange light plays across his body.\n//21:55:21.857 An audible crack emanates from the bones in the left arm, left leg, right arm, and right leg of Pamxen.\n//21:55:21.857 The broken legs of Pamxen give way, and he collapses to the ground.\nconst ruinateAffs = [\"paralysis\", \"asthma\", \"healthleech\", \"haemophilia\", \"sensitivity\", \"clumsiness\", \"weariness\"];\n\nlet limbs = args[1];\nlimbs = limbs.replace(\" and\", \",\");\nlimbs = limbs.replace(\",,\", \",\");\nlimbs = limbs.replaceAll(\" \", \"\");\nlimbs = limbs.split(\",\");\nlimbs.forEach(limb => insight.addAff({id: `broken${limb}`, player: args[2]}))\n\n// Estimate the number of convertable affs\nconst ruinateCount = ruinateAffs.reduce((sum, affId) => {\n return sum + (insight.players[args[2].toLowerCase()].affs[affId].probability || 0);\n }, 0);\n\n// If more than 4 can be converted, ruinate will resolve with 2x ague hits. Insultation is counted\nif (ruinateCount >= 4) {\n if (insight.hasDef({ id: \"insulation\", player: args[2] })) {\n insight.removeDef({ id: \"insulation\", player: args[2] });\n } else {\n insight.smartAffs({\n ids: [\"shivering\", \"frozen\"],\n player: args[2],\n ordered: true,\n });\n }\n insight.smartAffs({\n ids: [\"shivering\", \"frozen\"],\n player: args[2],\n ordered: true,\n });\n}\n\n// Based on the number of convertible affs, convert is random\nconst index = parseInt(ruinateCount);\nfor (let i = 0; i < index || i < 5; i++) {\n insight.usedCure({id: \"ruinateJustice\"});\n}"}],"text":"^An audible crack emanates from the bones in the (.+) of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"3P Ruinate Justice Prone","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Ruinate Justice is SMART aff random\ninsight.addAff({id: \"prone\", player: args[1]});\ninsight.confirmAff({id: \"brokenleftleg\", player: args[1], state: true});\ninsight.confirmAff({id: \"brokenrightleg\", player: args[1], state: true});"}],"text":"^The broken legs of (\\w+) give way, and \\w+ collapses to the ground\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Ague","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => {\n if (insight.hasDef({id: \"insulation\", player: id})) {\n insight.removeDef({id: \"insulation\", player: id});\n } else { \n insight.smartAffs({ids: [\"shivering\", \"frozen\"], player: id, order: true});\n }\n});\n"}],"text":"^Rays of cold blue light lash out from the Wheel of Chaos, irradiating the location\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Stuttering","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => insight.addAff({id: \"stuttering\", player: id}));\n"}],"text":"^Vibrant indigo rays of light lash out from the Wheel of Chaos\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Aeon","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => {\n if (insight.hasDef({id: \"speed\", player: id})) {\n insight.removeDef({id: \"speed\", player: id});\n } else { \n insight.addAff({id: \"aeon\", player: id})\n }\n});"}],"text":"^Rays of violet light lash out at the location from the Wheel of Chaos\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Weaving","enabled":true,"items":[{"type":"trigger","name":"Weave Prepare","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*\nDisruption: this preparation will cause your attacks to give paralysis.\nLaceration: this preparation will cause your attacks to give haemophilia.\nDazzle: This preparation will cause your attacks to give clumsiness.\nRattle: this preparation will cause your attacks to give epilepsy.\nVapours: this preparations will cause your attacks to deliver asthma.\n*/"}],"text":"^You prepare to alter future creations to possess the (\\w+) modification\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Unweave Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//+1 body, spirit, or mind"}],"text":"^You detect fluctuations in the essence of (\\w+) as \\w+ (body|mind|spirit) becomes critically close to unweaving utterly\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Hamstring Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) stumbles, falling to the ground\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"trigger","name":"Assess","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const hp = insight.getStat({id: \"hp\", player: args[1]});\nif (!hp) {return;}\nhp.max = parseInt(args[3]);\nhp.value = parseInt(args[2]);"}],"text":"^You glance over (\\w+) and see that \\w+ health is at (\\d+)/(\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Contemplate","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const mana = insight.getStat({id: \"mana\", player: args[1]});\nif (!mana) {return;}\nmana.max = parseInt(args[3]);\nmana.value = parseInt(args[2]);"}],"text":"^(\\w+)'s mana stands at (\\d+)\\/(\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Prep","enabled":true,"items":[{"type":"trigger","name":"Generic Limb Damage","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[1], value: parseFloat(args[2]) + parseFloat(args[3]/10)});"}],"text":"^As you carve into (\\w+), you perceive that you have dealt (\\d+)\\.(\\d)% damage to \\w+ (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Generic Limb Damage 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[3], value: parseFloat(args[1]) + parseFloat(args[2]/10)});"}],"text":"^As your blow lands with a crunch, you perceive that you have dealt (\\d+).(\\d+)% damage to (\\w+)'s (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Interlink Limb Damage","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Occultism Interlink\nconst limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[3], value: parseFloat(args[1]) + parseFloat(args[2]/10)});\nconsole.log(insight.target.limbs[limb]);\nconsole.log(parseFloat(args[1]) + parseFloat(args[2]/10));"}],"text":"^As the immaterial cleaves the material, you perceive that you have dealt (\\d+)\\.(\\d)% damage to (\\w+)'s (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Limb Reset Time","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[2].replace(\" \", \"\");\ninsight.resetLimb({id: limb, player: args[1]});"}],"text":"^(\\w+) ceases to favour \\w+ (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Limb Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//No 3p message for head or torso\nconst limb = args[2].replace(\" \", \"\");\nif (insight.hasAff({ id: `damaged${limb}`, player: args[1].toLowerCase() })) {\n insight.convertAff({\n id: `damaged${limb}`,\n to: `mangled${limb}`,\n player: args[1].toLowerCase(),\n });\n} else {\n insight.addAff({ id: `mangled${limb}`, player: args[1].toLowerCase() });\n}"}],"text":"^(\\w+)'s ((?:left|right) (?:arm|leg)) has been beaten into uselessness\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Psion Leg Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Psion hamstring mangle + prone\nreturn;\nconst limb = args[2].replace(\" \", \"\");\nif (insight.hasAff({ id: `damaged${limb}`, player: args[1].toLowerCase() })) {\n insight.convertAff({\n id: `damaged${limb}`,\n to: `mangled${limb}`,\n player: args[1].toLowerCase(),\n });\n} else {\n insight.addAff({ id: `mangled${limb}`, player: args[1].toLowerCase() });\n}"}],"text":"Khaseem stumbles, falling to the ground.","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Queues","enabled":true,"items":[{"type":"trigger","name":"Insight Queue Tracker","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.queues[args[1]] = args[2];\ninsight.state.lastQueue = args[1];"}],"text":"^\\[System\\]: Running queued (.+?) command\\: (.+)","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Insight Alias Tracker","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*\nAccounting for the degenerates who insist on using serverside aliases \nfor combat and sending 2x the number of commands necessary\n*/\ninsight.state.serverAliases[args[1]] = args[2].split(\"/\")"}],"text":"^Alias \"(\\w+)\" will now execute: \"(.+?)\"$","matching":"regexp","whole_words":true,"case_sensitive":true}]}],"description":"Khaseem's Insight into afflictions"}
|
|
1
|
+
{"type":"group","name":"insight3","enabled":true,"items":[{"type":"function","name":"__meta","enabled":true,"code":"{\n \"description\": \"Nexus affliction tracker\",\n \"version\": \"0.4.2\",\n \"website\": \"https://github.com/NexusUnleashed/insight3\",\n \"dependencies\": [\n \"eventStream3\"\n ]\n}"},{"type":"function","name":"SCRATCH","enabled":true,"code":"/*\n20241123\n- The general curative triggers could be changed to functions firing off of nexSkills (eat/smoke/salve/etc)\n-- Maybe easier to troubleshoot as triggers?\n-- Technically, redundant pattern matching\n\n- Should add a \"gate\" to the Cure confirms to prevent possible illusions.\n-- Gate on when any cure is used\n-- Gate off on prompt? On time (1s?)?\n\n- Should we add a constraint on the Aff confirms to only accept if we thought they had the aff at all?\n-- possibly cut down on illusions?\n-- Currently confirmAff will convert to addAff if you confirm an aff that wasn't being tracked.\n--- Do we want this?\n\n- There is a school of thought that aff tracking should always assume the best case scenario for the attacker.\n-- The theory being if you always assume uncertainty you will never have green light to go for a kill sequence.\n-- Example would be target has Asthma and Clumsiness and eats kelp.\n--- You're going for a lock and now have a 50/50 probability they still have asthma.\n--- This school of thought prescribes that you assume they have asthma and go for the lock.\n--- I think insight should provide the player the information as accurately as possible, and they can code those types of decisions into their own offense.\n--- Should we reconsider this?\n*/"},{"type":"function","name":"onInstall","enabled":true,"code":"nexusclient.reflexes().run_function('esLoad', {}, 'insight3');"},{"type":"function","name":"onUninstall","enabled":true,"code":"// Place any code here you'd like to autorun when the package is uninstalled"},{"type":"function","name":"onLoad","enabled":true,"code":"nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Curing', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Affliction Indicators', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Defences', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Skills', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Prep', true, false, 'insight3'));\nnexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name('group', 'Queues', true, false, 'insight3'));"},{"type":"function","name":"esLoad","enabled":true,"code":"/* Run all skill functions \"pseudo triggers\"\n// Get the insight3 package reference\nconst insightPackage = nexusclient.packages().get('insight3');\n// only check the Skills group\nconst skillsGroup = insightPackage.items.find(e => e.name === \"Skills\");\n// Array of all groups under Skills, filter out triggers/aliases\nconst groups = skillsGroup.items.filter(e => e.type === \"group\");\n//Run any functions within each group\ngroups.forEach(group => {\n const funcs = group.items.filter(e => e.type === \"function\");\n funcs.forEach(f => f.exec())\n})\n*/\nconst enableGroups = function() {\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Curing', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Affliction Indicators', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Target Defences', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Skills', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Prep', true, false, 'insight3'));\n nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name('group', 'Queues', true, false, 'insight3'));\n}\n\n// Development short circuit\n//enableGroups();\n//return;\n\nimport('https://unpkg.com/nexsight/insight.min.js').then(() => {\n console.log('insightDisplay then()');\n insight.display.notice('Loaded');\n enableGroups();\n})\n.catch(error => {\n nexusclient.display_notice(\"[Error]: Insight failed to load\", \"red\");\n console.error('Error during inisght import:', error);\n });"},{"type":"alias","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.debug();"}],"text":"insight.debug","matching":"exact","whole_words":true,"case_sensitive":true,"prefix_suffix":true},{"type":"group","name":"Target Curing","enabled":true,"items":[{"type":"group","name":"Curatives","enabled":true,"items":[{"type":"trigger","name":"Antimony","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'antimony'})"}],"text":"^(\\w+) eats (?:a ginger root|an antimony flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Argentum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'argentum'})"}],"text":"^(\\w+) eats (?:a lobelia seed|an argentum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Arsenic","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'arsenic'})"}],"text":"^(\\w+) eats (?:some bayberry bark|an arsenic pellet)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Aurum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'aurum'})"}],"text":"^(\\w+) eats (?:a piece of kelp|an aurum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Cuprum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'cuprum'});"}],"text":"^(\\w+) eats a (?:bellwort flower|cuprum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Calamine","enabled":true,"actions":[{"type":"script","enabled":true,"script":"let insightDeafnessTimer\nclearTimeout(insightDeafnessTimer);\ninsightDeafnessTimer = setTimeout(() => { \n insight.usedCure({player: args[1], id: 'calamine'}); \n}, 3000);"}],"text":"^(\\w+) eats a (?:hawthorn berry|calamine crystal)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Ferrum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'ferrum'})"}],"text":"^(\\w+) eats a (?:ginseng root|ferrum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Magnesium","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'magnesium'})"}],"text":"^(\\w+) eats a (?:bloodroot leaf|magnesium chip)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Plumbum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'plumbum'})"}],"text":"^(\\w+) eats a (?:goldenseal root|plumbum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Stannum","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({player: args[1], id: 'stannum'})"}],"text":"^(\\w+) eats (?:some prickly ash bark|a stannum flake)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Potash","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.adjustMana({id: \"percentage\", value: 0.08, player: args[1]});\ninsight.adjustHp({id: \"percentage\", value: 0.08, player: args[1]});"}],"text":"^(\\w+) eats (?:some irid moss|a potash crystal)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Body","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Epidermal to body for anorexia\n// Mending to body for burning\nif (insight.hasAff({id: 'anorexia', player: args[1]})) {\n insight.usedCure({player: args[1], id: 'epidermal to body'});\n} else if (insight.hasAnAff({ids: [\"hypothermia\",\n \"heartseed\",\n \"serioustrauma\",\n \"mildtrauma\",\n \"calcifiedtorso\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to body\", player: args[1]});\n} else {\n insight.usedCure({player: args[1], id: 'mending to body'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ body\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Torso","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Epidermal to body for anorexia\n// Mending to body for burning\nif (insight.hasAff({id: 'anorexia', player: args[1]})) {\n insight.usedCure({player: args[1], id: 'epidermal to body'});\n} else if (insight.hasAnAff({ids: [\"hypothermia\",\n \"heartseed\",\n \"serioustrauma\",\n \"mildtrauma\",\n \"calcifiedtorso\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to body\", player: args[1]});\n} else {\n insight.usedCure({player: args[1], id: 'mending to body'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ torso\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Head","enabled":true,"actions":[{"type":"script","enabled":true,"script":"\nif (insight.hasAnAff({ids: ['damagedhead', 'mangledhead'], player: args[1]})) {\n insight.usedCure({id: \"restoration to head\", player: args[1]});\n} else if (insight.hasAff({id: 'unblind', player: args[1]})) {\n insight.addAff({player: args[1], id: 'undeaf'});\n} else if (insight.hasAff({id: 'undeaf', player: args[1]})) {\n\tinsight.addAff({player: args[1], id: 'undeaf'});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Arms","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his arms.\nif (insight.hasAnAff({ids: [\"damagedleftarm\", \"damagedrightarm\", \"mangledleftarm\", \"mangledrightarm\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to arms\", player: args[1]});\n} else {\n\tinsight.usedCure({id: \"mending to arms\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ arms\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Legs","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his legs.\nif (insight.hasAnAff({ids: [\"damagedleftleg\", \"damagedrightleg\", \"mangledleftleg\", \"mangledrightleg\"], player: args[1]})) {\n\tinsight.usedCure({id: \"restoration to legs\", player: args[1]});\n} else {\n\tinsight.usedCure({id: \"mending to legs\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ legs\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Salve Skin","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Imyrr takes some salve from a vial and rubs it on his skin.\n// Untargetted apply.\n// Caloric, Mass\nif (insight.hasAnAff({ids: [\"frozen\", \"shivering\"], player: args[1]})) {\n\tinsight.usedCure({id: \"caloric\", player: args[1]});\n} else {\n\tinsight.addDef({id: \"insulation\", player: args[1]});\n}"}],"text":"^(\\w+) takes some salve from a vial and rubs it on \\w+ skin\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Smoke Pipe","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.hasAnAff({ids: [\"aeon\", \"deadening\", \"tension\", \"unweavingspirit\"], player: args[1]})) {\n\tinsight.usedCure({id: \"cinnabar\", player: args[1]});\n} else if (insight.hasAnAff({ids: [\"disloyalty\", \"hellsight\", \"manaleech\", \"slickness\"], player: args[1]})) {\n\tinsight.usedCure({id: \"realgar\", player: args[1]});\n}"}],"text":"^(\\w+) takes a long drag off \\w+ pipe\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tree Tattoo","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"tree\", player: args[1]});"}],"text":"^(\\w+) touches a tree of life tattoo\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Focus","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"focus\", player: args[1]});\n\neventStream.raiseEvent('focusLostInsightTracker');"}],"text":"^A look of extreme focus crosses the face of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Restore","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"brokenrightarm\", player: args[1]});\ninsight.removeAff({id: \"brokenrightleg\", player: args[1]});\ninsight.removeAff({id: \"brokenleftarm\", player: args[1]});\ninsight.removeAff({id: \"brokenleftleg\", player: args[1]});"}],"text":"^(\\w+) crackles with blue energy that wreathes itself about \\w+ limbs\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Class Cures","enabled":true,"items":[{"type":"trigger","name":"Sun Tarot","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^The globe of light illuminates (\\w+) with its brilliance\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Runewarden Sun","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^A rune like a rising sun upon the ground flares, bathing (\\w+) with healing magic\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shrugging","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"shrugging\", player: args[1]});"}],"text":"^(\\w+?) hunches \\w+ shoulders and lets out a soft hiss\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^(\\w+) is surrounded in a cool, refreshing mist\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^A demonic crimson glow emanates from (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Pariah Leech","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"generic\", player: args[1]});"}],"text":"^Something pulses from within the chest of (\\w+), and \\w+ seems more vital\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonheal","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"sun\", player: args[1]});"}],"text":"^(\\w+) lets out a great keening, casting the impurities from \\w+ form\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Accelerate","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Khaseem grows older before your eyes.\nconsole.log(nexusclient.current_block)\nconst boost = insight.nextLine('grows older before your eyes.');\nif (boost) {\n insight.usedCure({id: \"accelerate\", player: args[1]});\n insight.usedCure({id: \"accelerate\", player: args[1]});\n} else {\n insight.usedCure({id: \"accelerate\", player: args[1]});\n}"}],"text":"^A look of relief comes over (\\w+) as \\w+ grows less pale\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]}]},{"type":"group","name":"Affliction Indicators","enabled":true,"items":[{"type":"group","name":"Cure Confirms","enabled":true,"items":[{"type":"trigger","name":"Stand","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.usedCure({id: \"stand\", player: args[1]});"}],"text":"^(\\w+) stands up\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Lovers Cure Confirm","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"lovers\", state: false, player: args[1]});"}],"text":"^(\\w+) shakes \\w+ head and a look of clarity returns to \\w+ eyes\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Whispering Madness Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"whisperingmadness\", player: args[1], state: false});"}],"text":"^(\\w+) ceases \\w+ violent trembling\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Slime Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"slimeobscure\", player: args[1]});"}],"text":"^(\\w+) finally rids \\w+ of the slime covering \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"slickness\", state: false, player: args[1]});"}],"text":"^(\\w+) applies a (?:quicksilver droplet|sileris berry) to \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shadowmadness Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shadowmadness\", player: args[1], state: false});"}],"text":"^Lucidity returns to the eyes of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingspirit Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingspirit\", player: args[1], state: false});"}],"text":"^(\\w+) seems suddenly unburdened, clarity reasserting itself upon \\w+ features\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingmind Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingmind\", player: args[1], state: false});"}],"text":"^The light behind the eyes of (\\w+) reignites\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unweavingbody Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"unweavingbody\", player: args[1], state: false});"}],"text":"^(\\w+) suddenly seems much more vital\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Bloodfire Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"bloodfire\", player: args[1], state: false});"}],"text":"^The unnatural flames that burn upon the skin of (\\w+) wink out\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Aff Confirms","enabled":true,"items":[{"type":"trigger","name":"Agoraphobia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"agoraphobia\", state: true, player: args[1]});"}],"text":"^(\\w+) is gripped with fear, staring out with terrified eyes\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Claustrophobia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"claustrophobia\", state: true, player: args[1]});"}],"text":"^(\\w+) begins to pant in terror\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Confusion 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"confusion\", state: true, player: args[1]});"}],"text":"^(\\w+) looks about bemusedly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Darkshade Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"darkshade\", player: args[1], state: true});"}],"text":"^(\\w+) lets out a piercing scream, as if wounded by the very sunlight\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dementia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"dementia\", state: true, player: args[1]});"}],"text":"^(\\w+) stares about \\w+ frenziedly, wild-eyed\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Epilepsy 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"epilepsy\", player: args[1], state: true});"}],"text":"^(\\w+) begins to jerk and shake violently, foaming at the mouth\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Hallucinations 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"hallucinations\", player: args[1], state: true});\ninsight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) leaps up in what is apparently an attempt at a graceful swan dive\\. \\w+ smacks headfirst into the ground\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Hypersomnia 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"hypersomnia\", state: true, player: args[1]});"}],"text":"^(\\w+) suddenly appears tired all of a sudden\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Impatience 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"impatience\", player: args[1]});"}],"text":"^(\\w+) shuffles \\w+ feet in boredom\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Masochism 3P 1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", player: args[1], state: true});"}],"text":"^(\\w+) smiles as \\w+ rams \\w+ fist into \\w+ jaw\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Masochism 3P 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", player: args[1], state: true});"}],"text":"^(\\w+) uses \\w+ right foot to stomp on \\w+ left as hard as possible\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Masochism 3P 3","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"masochism\", state: true, player: args[1]});"}],"text":"^With the heel of \\w+ palm, (\\w+) smacks \\w+ upside the head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Nausea Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"nausea\", player: args[1], state: true});"}],"text":"^(\\w+) doubles over, vomiting violently\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Paralysis 3P 1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"paralysis\", state: true, player: args[1]});"}],"text":"^Horror overcomes the face of (\\w+?) as \\w+ body locks in paralysis\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Paralysis 3P 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"console.log(args[1])\ninsight.confirmAff({id: \"paralysis\", state: true, player: args[1]});"}],"text":"^Horror overcomes (\\w+)'s face as \\w+ body stiffens into paralysis\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shyness 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shyness\", state: true, player: args[1]});"}],"text":"^(\\w+) trembles with fear\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sleep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+)'s eyes close suddenly as \\w+ falls asleep\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"EXPERIMENTAL Stupidity Emotes","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// insight needs to set the user's emote color. insight.state.emoteColor = \"\"#008080\"\nif (nexusclient.current_line.is_prompt) { return; }\nif (\n nexusclient.current_line.parsed_line.chunks.at(-2)._fg !==\n insight.state.emoteColor\n) { return; }\nconst targetName =\n insight.target.id.charAt(0).toUpperCase() + insight.target.id.slice(1);\nif (!nexusclient.current_line.parsed_line.text().includes(targetName)) {\n return;\n}\nif (!insight.hasAff({ id: \"stupidity\" })) { return; }\n\nconst maybe = insight.stupidityEmotes.find((e) =>\n e.test(nexusclient.current_line.parsed_line.text())\n);\nif (maybe) {\n insight.confirmAff({ id: \"stupidity\", state: true });\n}"}],"text":"^","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shivering 3P","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shivering\", state: true, player: args[1]});"}],"text":"^(\\w+) shivers particularly intensely\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]}]},{"type":"group","name":"Target Defences","enabled":true,"items":[{"type":"trigger","name":"Shield Hit1","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\", player: args[1]});"}],"text":"^A dizzying beam of energy strikes you as your attack rebounds off of (\\w+)'s shield\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shield Hit2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\", player: args[1]});"}],"text":"^The magical shield surrounding (\\w+) makes that impossible\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Shield Up","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^A nearly invisible magical shield forms around (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^A supple purple shell of sileris berry juice has formed around (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sileris Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"slickness\", player: args[1]});\ninsight.removeDef({id: \"fangbarrier\", player: args[1]});"}],"text":"^The protective coating covering the skin of (\\w+) sloughs off\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Insomina","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insomnia\", player: args[1]});"}],"text":"^(\\w+) clenches \\w+ fists and grits \\w+ teeth\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Lyre","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"prismatic\", player: args[1]});"}],"text":"^(\\w+) plucks at the strings on .+, and a bright, jovial tune accompanies the weaving of a prismatic barrier around \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"prismatic\", player: args[1]});"}],"text":"^Your attack is repelled by the prismatic barrier surrounding (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Prismatic Lost","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"prismatic\", player: args[1]});"}],"text":"^(\\w+)'s prismatic barrier dissolves into nothing\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Speed Stripped","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Speed stripped\ninsight.removeDef({id: \"speed\", player: args[1]});"}],"text":"^(\\w+) suddenly seems less dexterous, \\w+ reactions becoming noticeably slower\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Skills","enabled":true,"items":[{"type":"group","name":"Bladedance","enabled":true,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"earworm\", state: true});"}],"text":"^Your rapier sings out with a high, piercing note\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Domination","enabled":true,"items":[{"type":"trigger","name":"Command Minion Miss","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"enlightenment\", state: false, player: args[1]});"}],"text":"^A minion of chaos thrusts a hand in the direction of (\\w+), but nothing seems to happen\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Primebond Firelord Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Is this a unique message to firelord primebond?\n// Not added to nexSkills until we can confirm\ninsight.addAff({id: \"burning\", player: args[1]});"}],"text":"^(\\w+) cries out in horror as \\w+ body erupts into flames!$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Control","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Not sure if we want to track these types of States in enlighten or leave it to the player\n//insight.setStat({id: \"soulmaster\", value: true, player: args[1]});"}],"text":"^You sense that the soulmaster entity is in control of (\\w+)'s being\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Soulmaster no control","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//insight.setStat({id: \"soulmaster\", value: false, player: args[1]});"}],"text":"^Your soulmaster is wrestling for control of (\\w+)'s soul and cannot command \\w+ right now\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Command","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//insight.setStat({id: \"soulmaster\", value: false, player: args[1]});"}],"text":"^You order the soulmaster entity to manipulate (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Soulmaster Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your soulmaster lets loose a horrible scream as it lets part of its being flow into (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Bloodleech Primebond","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//100 bleed\n//220 bleed if haemophilia"}],"text":"^The bloodleech clinging to (\\w+) expands and contracts with a sickening sound\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Sycophant Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^You sense your sycophant begin to feed\\.\\.\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Bubonis Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Bubonis latched"}],"text":"^Your bubonis entity scuttles over to (\\w+) and then suddenly leaps up, latching itself to \\w+ head\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Worm Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Worm attached"}],"text":"^A chaos worm begins burrowing into (\\w+)'s belly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Humbug Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your humbug entity leaps at (\\w+)'s throat\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Slime Attach","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^Your green slime entity quickly envelops","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Dragoncraft","enabled":true,"items":[{"type":"trigger","name":"Gust","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^Drawing an enormous breath, you exhale, expelling a gale of wind with such force that (\\w+) is knocked over\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Gust 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^Drawing an enormous breath, \\w+ exhales, expelling a gale of wind with such force that (\\w+) is knocked over\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonroar","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const roar = insight.state.lastQueue.match(/DRAGONROAR (\\w+)/)\nif (roar) {\n insight.addAff({id: \"undeaf\", player: args[1]});\n}"}],"text":"^Your nostrils flare with a rush of air as your sinuous body contracts and your mouth opens wide to emit a rippling, unbroken roar that reverberates through the very earth underfoot\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragonroar 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"undeaf\", player: args[1]});"}],"text":"^\\w+'s nostrils flare wildly with a great rush of air as \\w+ sinuous body contracts and \\w+ mouth opens wide to emit a rippling, unbroken roar at (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Venom","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.rendVenom = args[1];"}],"text":"^You rub some (\\w+) on your wickedly sharp claws\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Prep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.rendVenom) {\n const aff = insight.venomToAff[insight.rendVenom];\n insight.addAff({id: aff, player: args[1]});\n insight.rendVenom = false;\n}"}],"text":"^Lunging forward with long, flashing claws extended, you tear into the flesh of (\\w+)'s .+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Rend Free","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.rendVenom) {\n const aff = insight.venomToAff[insight.rendVenom];\n insight.addAff({id: aff, player: args[1]});\n insight.rendVenom = false;\n}"}],"text":"^Lunging forward with long, flashing claws extended, you tear into (\\w+) ruthlessly\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragoncurse Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.state.dragoncurse) {\n insight.addAff({id: insight.dragoncurse, player: args[1]});\n insight.state.dragoncurse = false;\n}"}],"text":"^(\\w+) convulses under the influence of some invisible force\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Dragoncurse Aff","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.dragoncurse = args[1];"}],"text":"^You summon your ancient power and direct the curse of (\\w+) to strike down (\\w+) in (\\d+) seconds\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tailsweep","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) is knocked forcefully off \\w+ feet by the impact of your huge tail\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Tailsweep 3p","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) is knocked forcefully off \\w+ feet by the impact of \\w+'s huge tail\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Occultism","enabled":true,"items":[{"type":"group","name":"Readaura","enabled":false,"items":[{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"undeaf\"})"}],"text":"^\\w+ is deaf\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeAff({id: \"unblind\"})"}],"text":"^\\w+ is blind\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insomnia\"});\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"insomnia\");"}],"text":"^\\w+ has insomnia, and cannot easily go to sleep\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"speed\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"speed\");"}],"text":"^\\w+ sense of time is heightened, and \\w+ reactions are speeded\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"kola\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"kola\");"}],"text":"^\\w+ is feeling extremely energetic\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"cloak\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"cloak\");"}],"text":"^\\w+ is surrounded by a cloak of protection\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"insulation\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"insulation\");"}],"text":"^\\w+ is coated in an insulating unguent\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"fangbarrier\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"fangbarrier\");"}],"text":"^\\w+ is protected from the fangs of serpents\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"rebounding\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"rebounding\");"}],"text":"^\\w+ is protected from hand-held weapons with an aura of rebounding\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"curseward\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"curseward\");"}],"text":"^A curseward has been established about \\w+ person\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"selfishness\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"selfishness\");"}],"text":"^\\w+ is feeling quite selfish\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addDef({id: \"shield\"})\ninsight.occultist.readAuraDefs = insight.occultist.readAuraDefs.filter(e => e !== \"shield\");"}],"text":"^\\w+ is surrounded by a nearly invisible magical shield\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.readAuraConfirm({p: args[2], m: args[3], player: args[1]});"}],"text":"^You perceive that (\\w+) suffers from (\\d+) physical afflictions and (\\d+) mental afflictions\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.reflexes().disable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Readaura\", false, false, \"insight3\"));\ninsight.occultist.readAuraDefs.forEach(def => insight.removeDef({id: def, player: args[1]}));\ninsight.getStat({id: \"mana\"}).value = parseInt(args[2]);\ninsight.getStat({id: \"mana\"}).max = parseInt(args[2]);"}],"text":"^You sense that the mana of (\\w+) stands at (\\d+) of a maximum (\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"trigger","name":"Readaura Start","enabled":true,"actions":[{"type":"script","enabled":true,"script":"nexusclient.reflexes().enable_reflex(nexusclient.reflexes().find_by_name(\"group\", \"Readaura\", false, false, \"insight3\"));\nfor (let i = nexusclient.current_block.indexOf(nexusclient.current_line); i < nexusclient.current_block.length-1; i++) {\n if (nexusclient.current_block[i]?.line.includes('You perceive that')) {\n \t\tbreak;\n }\n nexusclient.current_block[i].gag = true;\n}\ninsight.occultist.readAuraDefs = ['insomnia', 'insulation', 'kola', 'cloak', 'speed', 'rebounding', 'fangbarrier', 'curseward', 'shield', 'selfishness'];\n//const defs = ['insomnia', 'kola', 'cloak', 'speed', 'rebounding', 'fangbarrier'];\n//defs.forEach(def => insight.removeDef({id: def}));\n//const block = nexusclient.current_block;"}],"text":"^Studying the aura of (\\w+), you look for traces of anything that may be protecting it\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"PinchAura","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Enter the script here"}],"text":"^With a sudden, quick gesture, you snatch at (?<target>\\w+)'s aura and pinch the unwanted anomaly in the aura\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Devolve Hit 2","enabled":false,"actions":[{"type":"script","enabled":true,"script":"//Pamxen's tongue suddenly lengthens and splits into a wide fork. His skin thickens and is mottled with bumps.\n//Pamxen's skin suddenly darkens to a deep green and is covered with warts. As Pamxen's face widens, his mouth stretches to ridiculous \n//Feathers sprout up all over Pamxen's face, and the lips thicken and lengthen into a small beak."}],"text":"^(\\w+)'s skin suddenly darkens to a deep green and is covered with warts\\. As \\w+'s face widens, \\w+ mouth stretches to ridiculous proportions\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Whisperingmadness Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"whisperingmadness\", player: args[1], state: true});"}],"text":"^(\\w+) trembles and \\w+ eyes widen in terror\\. \\w+ looks around \\w+ as if searching for something that isn't there\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Chaosrays Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Antoninus is hit by a orange, blue, and green ray.\n//Antoninus is hit by a red, violet, and indigo ray.\n//Antoninus is hit by a orange ray.\n//Antoninus is hit by a orange and red ray.\nlet chaosColors = {\n\tindigo() {insight.addAff({id: \"stupidity\", player: args[1]});},\n orange() {insight.addAff({id: \"paralysis\", player: args[1]});},\n violet() {\n if (insight.hasDef({id: \"speed\", player: args[1]})) {\n insight.removeDef({id: \"speed\", player: args[1]});\n } else {\n insight.addAff({id: \"aeon\", player: args[1]});\n }\n },\n blue() {/*cold damage*/},\n green() {/*healing*/},\n yellow() {/*electric damage*/},\n red() {/*fire damage*/}\n}\nlet colors = args[2].replace(' and ', ',').replaceAll(' ', '').replace(',,', ',').split(',')\ncolors.forEach(e => chaosColors[e]());"}],"text":"^(\\w+) is hit by a (.+) ray\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Truename Hit","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"speed\", player: args[1]});\ninsight.addAff({id: \"aeon\", player: args[1]});"}],"text":"^Drawing back with a knowing smirk, you utter the truename of (\\w+), who suddenly becomes very still and bleeds from \\w+ eyes and ears\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Unnamable Hit Confirm","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Hit with unnamable. 1-3 afflictions\nfor(let i = 0; i < args[2]; i++) {\n\tinsight.smartAffs({ids: [\"confusion\", \"stupidity\", \"dementia\"], player: args[1]});\n}"}],"text":"^(\\w+) has been struck down by (\\d) curses of the unnamable\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Enlighten","enabled":true,"actions":[{"type":"script","enabled":true,"script":"if (insight.nextLine('You see')) {\n insight.addAff({id: \"enlightenment\", player: args[1]});\n}"}],"text":"^You place both hands on either side of (\\w+)'s head and stare straight into \\w+ eyes\\. Summoning all your knowledge of the occult mysteries, you will your knowledge into \\w+'s mind\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Enlighten Yell","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"enlightenment\", player: args[1]});"}],"text":"^You see (.+) yell, \"No, it cannot be true! I cannot accept it! I beg of you to make it stop!\"$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Enlighten Shout","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"enlightenment\", player: args[1]});"}],"text":"^You see (.+) shout, \"No, it cannot be true! I cannot accept it! I beg of you to make it stop!\"$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Regress 3P Anorexia","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"anorexia\", player: args[1]});\ninsight.confirmAff({id: \"prone\", player: args[1], state: true});"}],"text":"^The face of (\\w+) turns a particularly vibrant shade of green\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Regress 3P Prone","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^The legs of (\\w+) snap out from under \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Discord","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"healthleech\", player: args[1], state: true});\ninsight.confirmAff({id: \"asthma\", player: args[1], state: true});\ninsight.addAff({id: \"loneliness\", player: args[1]});\ninsight.addAff({id: \"dizziness\", player: args[1]});"}],"text":"^(\\w+) clutches at \\w+ head as \\w+ begins to mutter gibberish over and over under his breath\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Entropy Strip","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Delayed speed strip.\n//Speed drop will show on 3p message"}],"text":"^(\\w+) twists and writhes in the grip of some anathema power, before ripping \\w+ free of its unnatural hold\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Entropy Aeon","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({id: \"speed\", player: args.target});\ninsight.addAff({id: \"aeon\", player: args.target});"}],"text":"^(\\w+) twists and writhes in the grip of an unnatural force, parts of \\w+ body flickering as if seen through a veil of mist\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Potential Limbs","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limbs = [\"leftarm\", \"leftleg\", \"rightarm\", \"rightleg\"];\n\nlimbs.forEach(limb => {\n if (insight.hasAff({id: `mangled${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `mangled${limb}`, player: args[1], state: true});\n } else if (insight.hasAff({id: `damaged${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `damaged${limb}`, player: args[1], state: true});\n } else if (insight.hasAff({id: `broken${limb}`, player: args[1], probability: 0.25})) {\n insight.confirmAff({id: `broken${limb}`, player: args[1], state: true});\n }\n})"}],"text":"^The body of (\\w+) goes slack, \\w+ eyes rolling almost completely back in \\w+ head as \\w+ face goes a ghostly white\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Compel Potential Frozen","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.confirmAff({id: \"shivering\", player: args[1], state: true});\ninsight.confirmAff({id: \"frozen\", player: args[1], state: true});\ninsight.removeDef({id: \"insulation\", player: args[1]})"}],"text":"^(\\w+) twitches in the grip of some terrible power, skin splitting and cracking under its unforgiving grasp\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Shadowmancy","enabled":true,"items":[{"type":"trigger","name":"Shadow Instill","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.depthswalker.shadowInstill = args[1];"}],"text":"^Focusing upon .+?, you instill it with the directive of (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadow Evenom","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.envenom1 = insight.venomToAff[args[1]];"}],"text":"^You rub some (\\w+) on .+?\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Attune Madness","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[2], player: args[1]});"}],"text":"^You sense that (\\w+) has been struck down with the (\\w+) madness\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Attune Degeneration","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[2], player: args[1]});"}],"text":"^You determine that (\\w+) is suffering from (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadowmadness Proc","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: args[1], player: args[2]});"}],"text":"^You determine that the insanity of (\\w+) has struck down (\\w+)\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Shadowstrike Miss","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.removeDef({ id: \"shield\", player: args[1] });"}],"text":"^(\\w+) is not surrounded by a magical shield\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"group","name":"Tarot","enabled":true,"items":[{"type":"trigger","name":"TODO: Hit Hangedman","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//bound"}],"text":"^You toss the Hanged Man tarot card at (\\w+) and as it reaches (?:her|him), a huge mass of rope bursts out of it to entrap and hinder \\w+\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"TODO: Hit Ruinate Justice","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Converted paralysis, sensitivity, healthleech, haemophilia, weariness, asthma, or clumsiness into broken limbs.\n// what order does it convert in?\n// is it always the same order?"}],"text":"^As you fling a card at (\\w+), the scales of justice upon its surface twists and cracks as the image becomes something indefinable, but vastly more sinister\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"3P Ruinate Justice Break","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Ruinate Justice is SMART aff random\n//21:55:21.857 Pamxen violently spasms as orange light plays across his body.\n//21:55:21.857 An audible crack emanates from the bones in the left arm, left leg, right arm, and right leg of Pamxen.\n//21:55:21.857 The broken legs of Pamxen give way, and he collapses to the ground.\nconst ruinateAffs = [\"paralysis\", \"asthma\", \"healthleech\", \"haemophilia\", \"sensitivity\", \"clumsiness\", \"weariness\"];\n\nlet limbs = args[1];\nlimbs = limbs.replace(\" and\", \",\");\nlimbs = limbs.replace(\",,\", \",\");\nlimbs = limbs.replaceAll(\" \", \"\");\nlimbs = limbs.split(\",\");\nlimbs.forEach(limb => insight.addAff({id: `broken${limb}`, player: args[2]}))\n\n// Estimate the number of convertable affs\nconst ruinateCount = ruinateAffs.reduce((sum, affId) => {\n return sum + (insight.players[args[2].toLowerCase()].affs[affId].probability || 0);\n }, 0);\n\n// If more than 4 can be converted, ruinate will resolve with 2x ague hits. Insultation is counted\nif (ruinateCount >= 4) {\n if (insight.hasDef({ id: \"insulation\", player: args[2] })) {\n insight.removeDef({ id: \"insulation\", player: args[2] });\n } else {\n insight.smartAffs({\n ids: [\"shivering\", \"frozen\"],\n player: args[2],\n ordered: true,\n });\n }\n insight.smartAffs({\n ids: [\"shivering\", \"frozen\"],\n player: args[2],\n ordered: true,\n });\n}\n\n// Based on the number of convertible affs, convert is random\nconst index = parseInt(ruinateCount);\nfor (let i = 0; i < index || i < 5; i++) {\n insight.usedCure({id: \"ruinateJustice\"});\n}"}],"text":"^An audible crack emanates from the bones in the (.+) of (\\w+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"3P Ruinate Justice Prone","enabled":true,"actions":[{"type":"script","enabled":true,"script":"// Ruinate Justice is SMART aff random\ninsight.addAff({id: \"prone\", player: args[1]});\ninsight.confirmAff({id: \"brokenleftleg\", player: args[1], state: true});\ninsight.confirmAff({id: \"brokenrightleg\", player: args[1], state: true});"}],"text":"^The broken legs of (\\w+) give way, and \\w+ collapses to the ground\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Ague","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => {\n if (insight.hasDef({id: \"insulation\", player: id})) {\n insight.removeDef({id: \"insulation\", player: id});\n } else { \n insight.smartAffs({ids: [\"shivering\", \"frozen\"], player: id, order: true});\n }\n});\n"}],"text":"^Rays of cold blue light lash out from the Wheel of Chaos, irradiating the location\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Stuttering","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => insight.addAff({id: \"stuttering\", player: id}));\n"}],"text":"^Vibrant indigo rays of light lash out from the Wheel of Chaos\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Wheel Aeon","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const players = GMCP.RoomPlayers.flatMap(e=>e.name);\nplayers.forEach(id => {\n if (insight.hasDef({id: \"speed\", player: id})) {\n insight.removeDef({id: \"speed\", player: id});\n } else { \n insight.addAff({id: \"aeon\", player: id})\n }\n});"}],"text":"^Rays of violet light lash out at the location from the Wheel of Chaos\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Weaving","enabled":true,"items":[{"type":"trigger","name":"Weave Prepare","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*\nDisruption: this preparation will cause your attacks to give paralysis.\nLaceration: this preparation will cause your attacks to give haemophilia.\nDazzle: This preparation will cause your attacks to give clumsiness.\nRattle: this preparation will cause your attacks to give epilepsy.\nVapours: this preparations will cause your attacks to deliver asthma.\n*/"}],"text":"^You prepare to alter future creations to possess the (\\w+) modification\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Unweave Tick","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//+1 body, spirit, or mind"}],"text":"^You detect fluctuations in the essence of (\\w+) as \\w+ (body|mind|spirit) becomes critically close to unweaving utterly\\.$","matching":"regexp","whole_words":false,"case_sensitive":false},{"type":"trigger","name":"Hamstring Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.addAff({id: \"prone\", player: args[1]});"}],"text":"^(\\w+) stumbles, falling to the ground\\.$","matching":"regexp","whole_words":false,"case_sensitive":false}]},{"type":"trigger","name":"Assess","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const hp = insight.getStat({id: \"hp\", player: args[1]});\nif (!hp) {return;}\nhp.max = parseInt(args[3]);\nhp.value = parseInt(args[2]);"}],"text":"^You glance over (\\w+) and see that \\w+ health is at (\\d+)/(\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Contemplate","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const mana = insight.getStat({id: \"mana\", player: args[1]});\nif (!mana) {return;}\nmana.max = parseInt(args[3]);\nmana.value = parseInt(args[2]);"}],"text":"^(\\w+)'s mana stands at (\\d+)\\/(\\d+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Prep","enabled":true,"items":[{"type":"trigger","name":"Generic Limb Damage","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[1], value: parseFloat(args[2]) + parseFloat(args[3]/10)});"}],"text":"^As you carve into (\\w+), you perceive that you have dealt (\\d+)\\.(\\d)% damage to \\w+ (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Generic Limb Damage 2","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[3], value: parseFloat(args[1]) + parseFloat(args[2]/10)});"}],"text":"^As your blow lands with a crunch, you perceive that you have dealt (\\d+).(\\d+)% damage to (\\w+)'s (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Interlink Limb Damage","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Occultism Interlink\nconst limb = args[4].replace(\" \", \"\");\ninsight.hitLimb({id: limb, player: args[3], value: parseFloat(args[1]) + parseFloat(args[2]/10)});\nconsole.log(insight.target.limbs[limb]);\nconsole.log(parseFloat(args[1]) + parseFloat(args[2]/10));"}],"text":"^As the immaterial cleaves the material, you perceive that you have dealt (\\d+)\\.(\\d)% damage to (\\w+)'s (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Limb Reset Time","enabled":true,"actions":[{"type":"script","enabled":true,"script":"const limb = args[2].replace(\" \", \"\");\ninsight.resetLimb({id: limb, player: args[1]});"}],"text":"^(\\w+) ceases to favour \\w+ (.+)\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Limb Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//No 3p message for head or torso\nconst limb = args[2].replace(\" \", \"\");\nif (insight.hasAff({ id: `damaged${limb}`, player: args[1].toLowerCase() })) {\n insight.convertAff({\n id: `damaged${limb}`,\n to: `mangled${limb}`,\n player: args[1].toLowerCase(),\n });\n} else {\n insight.addAff({ id: `mangled${limb}`, player: args[1].toLowerCase() });\n}"}],"text":"^(\\w+)'s ((?:left|right) (?:arm|leg)) has been beaten into uselessness\\.$","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Psion Leg Mangle","enabled":true,"actions":[{"type":"script","enabled":true,"script":"//Psion hamstring mangle + prone\nreturn;\nconst limb = args[2].replace(\" \", \"\");\nif (insight.hasAff({ id: `damaged${limb}`, player: args[1].toLowerCase() })) {\n insight.convertAff({\n id: `damaged${limb}`,\n to: `mangled${limb}`,\n player: args[1].toLowerCase(),\n });\n} else {\n insight.addAff({ id: `mangled${limb}`, player: args[1].toLowerCase() });\n}"}],"text":"Khaseem stumbles, falling to the ground.","matching":"regexp","whole_words":true,"case_sensitive":true}]},{"type":"group","name":"Queues","enabled":true,"items":[{"type":"trigger","name":"Insight Queue Tracker","enabled":true,"actions":[{"type":"script","enabled":true,"script":"insight.state.queues[args[1]] = args[2];\ninsight.state.lastQueue = args[1];"}],"text":"^\\[System\\]: Running queued (.+?) command\\: (.+)","matching":"regexp","whole_words":true,"case_sensitive":true},{"type":"trigger","name":"Insight Alias Tracker","enabled":true,"actions":[{"type":"script","enabled":true,"script":"/*\nAccounting for the degenerates who insist on using serverside aliases \nfor combat and sending 2x the number of commands necessary\n*/\ninsight.state.serverAliases[args[1]] = args[2].split(\"/\")"}],"text":"^Alias \"(\\w+)\" will now execute: \"(.+?)\"$","matching":"regexp","whole_words":true,"case_sensitive":true}]}],"description":"Khaseem's Insight into afflictions"}
|