From 9c472a870aa5a8c6edc037b166ef0a2330c66644 Mon Sep 17 00:00:00 2001 From: Nick Walton Date: Mon, 1 Jun 2020 20:22:20 -0600 Subject: [PATCH] Create magic.js --- examples/magic.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 examples/magic.js diff --git a/examples/magic.js b/examples/magic.js new file mode 100644 index 0000000..3403663 --- /dev/null +++ b/examples/magic.js @@ -0,0 +1,36 @@ +// Here's a fun scripting example where players have to learn these magic spells to have cool effects. +// The world info has entries that should hopefully lead people to these spells and so that they can find and cast them. +// Can find the scenario at https://play.aidungeon.io/scenario/e982a8f0-a473-11ea-af38-d1932fa9d9e0 + +const modifier = (text) => { + + let modifiedText = text + state.message = '' + + if(!state.spells){ + state.spells = [] + } + + const spells = { + 'bazinga': 'a deathly fire ball spell that', + 'eleno': 'turning yourself into a cloud allowing you to move at will', + 'demonia': 'a dark spell that summons an evil demon. You hear a dark rumbling and see a cloud of black smoke appear. Out of it appears a large horned demon' + } + + const lowered = text.toLowerCase() + for(spellName in spells){ + if(lowered.includes('cast ' + spellName)){ + if(!state.spells.includes(spellName)){ + state.spells.push(spellName) + state.message = "Congrats you've learned the " + spellName + " spell!" + } + modifiedText = text + '\n' + 'You cast ' + spellName + ', ' + spells[spellName] + } + } + + return {text: modifiedText} +} + +modifier(text) + +