commit
67094bcb8c
|
|
@ -0,0 +1,121 @@
|
||||||
|
function swapObjectValues(obj) {
|
||||||
|
const keys = Object.keys(obj);
|
||||||
|
while (keys.length > 1) {
|
||||||
|
const index1 = Math.floor(Math.random() * keys.length);
|
||||||
|
let index2 = Math.floor(Math.random() * keys.length);
|
||||||
|
while (index2 === index1) {
|
||||||
|
index2 = Math.floor(Math.random() * keys.length);
|
||||||
|
}
|
||||||
|
const temp = obj[keys[index1]];
|
||||||
|
obj[keys[index1]] = obj[keys[index2]];
|
||||||
|
obj[keys[index2]] = temp;
|
||||||
|
keys.splice(index1, 1);
|
||||||
|
keys.splice(keys.indexOf(keys[index2]), 1);
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
function createLetterObject(str) {
|
||||||
|
const letterObject = {};
|
||||||
|
for (let i = 0; i < str.length; i++) {
|
||||||
|
const letter = str[i];
|
||||||
|
if (!letterObject[letter]) {
|
||||||
|
letterObject[letter] = letter;
|
||||||
|
} else {
|
||||||
|
let count = 2;
|
||||||
|
while (letterObject[letter + count]) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
letterObject[letter + count] = letter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return letterObject;
|
||||||
|
}
|
||||||
|
function objectValuesToString(obj) {
|
||||||
|
let result = "";
|
||||||
|
for (const key in obj) {
|
||||||
|
result += obj[key];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
if (!settings.funnyname){settings.funnyname = {}; saveSettings()}
|
||||||
|
elements.name_settings = {
|
||||||
|
color: elements.image.color,
|
||||||
|
category: "funny name tools",
|
||||||
|
canPlace: false,
|
||||||
|
onSelect: function(){
|
||||||
|
var doVowelSwapping = prompt("Would you like to swap the vowels in the names? Type yes or no.", "no")
|
||||||
|
if (doVowelSwapping == "yes"){settings.funnyname.doVowelSwapping = true} else {settings.funnyname.doVowelSwapping = false}
|
||||||
|
var doNameSwapping = prompt("Would you like to swap the names of the elements? Type yes or no.", "no")
|
||||||
|
if (doNameSwapping == "yes"){settings.funnyname.doNameSwapping = true} else {settings.funnyname.doNameSwapping = false}
|
||||||
|
var doLetterSwapping = prompt("Would you like to swap the letters in the names? Type yes or no.", "no")
|
||||||
|
if (doLetterSwapping == "yes"){settings.funnyname.doLetterSwapping = true} else {settings.funnyname.doLetterSwapping = false}
|
||||||
|
var doNameRates = prompt("Would you like to make the names a rating? If yes, this will set all others to no (it is incompatible.) Type yes or no.", "no")
|
||||||
|
if (doNameRates == "yes"){
|
||||||
|
settings.funnyname.doNameRates = true
|
||||||
|
settings.funnyname.doNameSwapping = false
|
||||||
|
settings.funnyname.doVowelSwapping = false
|
||||||
|
settings.funnyname.doLetterSwapping = false
|
||||||
|
} else {settings.funnyname.doNameRates = false}
|
||||||
|
saveSettings()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
runAfterAutogen(
|
||||||
|
function(){
|
||||||
|
if (settings.funnyname.doVowelSwapping){
|
||||||
|
for (let elementname in elements){
|
||||||
|
if (elementname != "name_settings"){
|
||||||
|
let newelementname = elementname.replaceAll("e", "@")
|
||||||
|
newelementname = newelementname.replaceAll("o", "e")
|
||||||
|
newelementname = newelementname.replaceAll("@", "o")
|
||||||
|
newelementname = newelementname.replaceAll("a", "*")
|
||||||
|
newelementname = newelementname.replaceAll("u", "a")
|
||||||
|
newelementname = newelementname.replaceAll("i", "u")
|
||||||
|
newelementname = newelementname.replaceAll("*", "i")
|
||||||
|
elements[elementname].name = newelementname
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (settings.funnyname.doNameSwapping){
|
||||||
|
let listofnames = {}
|
||||||
|
for (let elementname in elements){
|
||||||
|
if (elementname != "name_settings"){
|
||||||
|
if (elements[elementname].name){listofnames[elementname] = elements[elementname].name} else {listofnames[elementname] = elementname}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
listofnames = swapObjectValues(listofnames)
|
||||||
|
for (let key in listofnames){
|
||||||
|
elements[key].name = listofnames[key]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (settings.funnyname.doLetterSwapping){
|
||||||
|
for (let elementname in elements){
|
||||||
|
if (elementname != "name_settings"){
|
||||||
|
let newelementname = {}
|
||||||
|
if (elements[elementname].name){newelementname = createLetterObject(elements[elementname].name)} else {newelementname = createLetterObject(elementname)}
|
||||||
|
newelementname = swapObjectValues(newelementname)
|
||||||
|
elements[elementname].name = objectValuesToString(newelementname)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (settings.funnyname.doNameRates){
|
||||||
|
for (let elementname in elements){
|
||||||
|
if (elementname != "name_settings"){
|
||||||
|
var randomRating = Math.floor(Math.random() * 11)
|
||||||
|
switch(randomRating){
|
||||||
|
case 0: elements[elementname].name = "absolutely_horrible"; break
|
||||||
|
case 1: elements[elementname].name = "horrible"; break
|
||||||
|
case 2: elements[elementname].name = "awful"; break
|
||||||
|
case 3: elements[elementname].name = "poor"; break
|
||||||
|
case 4: elements[elementname].name = "mediocre"; break
|
||||||
|
case 5: elements[elementname].name = "decent"; break
|
||||||
|
case 6: elements[elementname].name = "good"; break
|
||||||
|
case 7: elements[elementname].name = "great"; break
|
||||||
|
case 8: elements[elementname].name = "super_great"; break
|
||||||
|
case 9: elements[elementname].name = "absolutely_great"; break
|
||||||
|
case 10: elements[elementname].name = "one_of_the_best"; break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
@ -2742,7 +2742,7 @@ elements.ray_emitter = {
|
||||||
// console.log(lcoord)
|
// console.log(lcoord)
|
||||||
if (isEmpty(lx,ly)){
|
if (isEmpty(lx,ly)){
|
||||||
createPixel(pixel.rayElement, lx, ly)
|
createPixel(pixel.rayElement, lx, ly)
|
||||||
pixelMap[lx][ly].temp = pixelMap[x][y].temp
|
pixelMap[lx][ly].temp = pixel.temp
|
||||||
if (pixel.rayElement == "ray"){
|
if (pixel.rayElement == "ray"){
|
||||||
pixelMap[lx][ly].rColor = pixel.color
|
pixelMap[lx][ly].rColor = pixel.color
|
||||||
pixelMap[lx][ly].color = pixel.color
|
pixelMap[lx][ly].color = pixel.color
|
||||||
|
|
@ -2878,7 +2878,7 @@ elements.specific_ray_emitter = {
|
||||||
// console.log(lcoord)
|
// console.log(lcoord)
|
||||||
if (isEmpty(lx,ly)){
|
if (isEmpty(lx,ly)){
|
||||||
createPixel(pixel.rayElement, lx, ly)
|
createPixel(pixel.rayElement, lx, ly)
|
||||||
pixelMap[lx][ly].temp = pixelMap[x][y].temp
|
pixelMap[lx][ly].temp = pixel.temp
|
||||||
if (pixel.rayElement == "ray"){
|
if (pixel.rayElement == "ray"){
|
||||||
pixelMap[lx][ly].rColor = pixel.color
|
pixelMap[lx][ly].rColor = pixel.color
|
||||||
pixelMap[lx][ly].color = pixel.color
|
pixelMap[lx][ly].color = pixel.color
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue