X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/32050f92ddfeefc143c87440ac4fe6b10c78a9cb..6ee812987dd1b5e42e23ae463838c4c15a2c3e86:/src/main/resources/view/config.js diff --git a/src/main/resources/view/config.js b/src/main/resources/view/config.js index 164519f..933976f 100644 --- a/src/main/resources/view/config.js +++ b/src/main/resources/view/config.js @@ -13,14 +13,47 @@ export const modules = [ , ToggleModule ]; +function trollCase(string) { + return string.split('') + .map(c => c < 64 ? c : String.fromCharCode(c.charCodeAt(0) ^ (32 * (Math.floor(2*Math.random()))))) + .join(''); +} + +function trollToggle(toggle, title, def) { + var obj = {}; + obj['toggle'] = toggle; + obj['title'] = trollCase(title); + obj['values'] = {}; + for (var i = 3; i < arguments.length; i += 2) { + obj['values'][trollCase(arguments[i])] = arguments[i+1]; + } + obj['default'] = def; + if (def == undefined) { + if (obj['values'].length > 2) { + obj['default'] = obj['values'].length * Math.floor(2 * Math.random()); + } + else { + obj['default'] = Math.random() < 0.5; + } + } + return ToggleModule.defineToggle(obj); +} + export const options = [ - ToggleModule.defineToggle({ - toggle: 'debug', - title: 'Debug Mode', - values: { - 'on': true, - 'off': false - }, - default: false - }) + // TODO: detroll this a bit + trollToggle('konami', 'unused', undefined, + '←', 0, '↓', 1, '↑', 2, '→', 3, 'B', 4, 'A', 5), + trollToggle('pants', 'pants', 1 + Math.floor(3 * Math.random()), + 'red', 1, 'green', 2, 'blue', 3, 'you perv', 4), + trollToggle('verboseTrolling', 'Verbose Trolling', true, + 'on', true, 'off', false), + trollToggle('debug', 'Detroll Mode', false, + 'on', true, 'off', false) ]; + +for (var i = options.length-1; i > 1; i--) { + var s = Math.floor((i+1) * Math.random()); + var selected = options[s]; + options[s] = options[i]; + options[i] = selected; +}