UNPKG

d-zone

Version:

An ambient life simulation driven by the user activity within a Discord server

67 lines 2.7 kB
'use strict'; module.exports = { randomIntRange: function(min,max) { return Math.floor(Math.random() * (+max - +min + 1)) + +min ; }, pickInArray: function(arr) { return arr[this.randomIntRange(0,arr.length-1)]; }, pickInObject: function(obj) { // Return random property name from object return this.pickInArray(Object.keys(obj)); }, findAndRemove: function(elem,arr) { for(var i = 0; i < arr.length; i++) { if(arr[i] === elem) { arr.splice(i, 1); i--; } } }, right: function(text, length) { return text.substring(text.length-length,text.length); }, clamp: function(val, min, max) { return Math.min(max,Math.max(min,val)); }, clampWrap: function(val, min, max) { // Clamp to range by wrapping value var wrap = (val-min) % (max+1-min); return wrap >= 0 ? min + wrap : max + 1 + wrap; }, fractionalArrayIndex: function(arr, index) { var floorX = Math.floor(index); var lower = arr[floorX]; if(floorX == index) return lower; var upper = arr[Math.ceil(index)]; var fraction = index - Math.floor(index); return (lower + ((upper - lower) * fraction)); }, getURLParameter: function(name) { return decodeURIComponent( (new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)') .exec(location.search)||[,""])[1].replace(/\+/g, '%20')) || null }, abbreviate: function(text,blacklist) { var split = text.split(' '); var alpha = /[a-z0-9]/i; var result = ''; for(var w = 0; w < split.length; w++) { for(var l = 0; l < split[w].length; l++) { if(alpha.test(split[w][l])) { result += split[w][l]; break; } } } if(result.trim() == '') result = '1'; if(blacklist && blacklist.indexOf(result) >= 0) { var variation = 0; result += variation; do { variation++; result = result.substring(0,result.length-1) + variation; } while (blacklist.indexOf(result) >= 0) } return result; }, alphabet: ['a','b','c','d','e','f','g','h','i','j','k','l','m', 'n','o','p','q','r','s','t','u','v','w','x','y','z'], vowels: ['a','e','i','o','u'], consonants: ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z'], hex: ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'] };