parent
608afa9695
commit
2d0206f769
|
|
@ -10,17 +10,19 @@ function _randomArrayChoice(array) {
|
||||||
return array[_randomInt(array.length - 1)]
|
return array[_randomInt(array.length - 1)]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const initialArray = ["m","n","p","t","ch","k","b","d","j","g","f","th","s","sh","h","l","r","y","w"]
|
||||||
|
const vowelArray = ["a","e","i","o","u","oo","ee","oa"]
|
||||||
|
const medialArray = ["m","n","p","t","k","b","d","g","f","th","s","sh","h","l","r","y"]
|
||||||
|
const finalArray = ["m","n","p","t","k","b","d","g","f","th","s","sh","l","r","y"]
|
||||||
|
|
||||||
|
enabledMods.includes("mods/log_rocks.js") ? logRocks = true : logRocks = false
|
||||||
|
//This is intended for people who want to copy their rocks from the console to a file for some reason. Technically, the empty enabler script doesn't even have to exist, but I'll make it just so that index.html doesn't spit out an ERR_FILE_NOT_FOUND.
|
||||||
|
|
||||||
function generateName() {
|
function generateName() {
|
||||||
//these are picked arbitrarily
|
//these are picked arbitrarily
|
||||||
|
|
||||||
//console.log("defining arrays")
|
|
||||||
var initialArray = ["m","n","p","t","ch","k","b","d","j","g","f","th","s","sh","h","l","r","y","w"]
|
|
||||||
var vowelArray = ["a","e","i","o","u","oo","ee","oa"]
|
|
||||||
var medialArray = ["m","n","p","t","k","b","d","g","f","th","s","sh","h","l","r","y"]
|
|
||||||
var finalArray = ["m","n","p","t","k","b","d","g","f","th","s","sh","l","r","y"]
|
|
||||||
|
|
||||||
//console.log("getting random type")
|
//console.log("getting random type")
|
||||||
var randomInt1 = _randomInt(5)
|
var randomInt1 = _randomInt(6)
|
||||||
|
|
||||||
//console.log("generating type " + randomInt1)
|
//console.log("generating type " + randomInt1)
|
||||||
if(randomInt1 == 0) {
|
if(randomInt1 == 0) {
|
||||||
|
|
@ -41,9 +43,12 @@ function generateName() {
|
||||||
} else if(randomInt1 == 5) {
|
} else if(randomInt1 == 5) {
|
||||||
var randomName = _randomArrayChoice(initialArray) + _randomArrayChoice(vowelArray) + _randomArrayChoice(medialArray) + _randomArrayChoice(vowelArray) + _randomArrayChoice(medialArray) + _randomArrayChoice(vowelArray)
|
var randomName = _randomArrayChoice(initialArray) + _randomArrayChoice(vowelArray) + _randomArrayChoice(medialArray) + _randomArrayChoice(vowelArray) + _randomArrayChoice(medialArray) + _randomArrayChoice(vowelArray)
|
||||||
//console.log("generated T" + randomInt1 + " name")
|
//console.log("generated T" + randomInt1 + " name")
|
||||||
|
} else if(randomInt1 == 6) {
|
||||||
|
var randomName = _randomArrayChoice(initialArray) + _randomArrayChoice(vowelArray) + _randomArrayChoice(medialArray) + _randomArrayChoice(vowelArray)
|
||||||
|
//console.log("generated T" + randomInt1 + " name")
|
||||||
} else {
|
} else {
|
||||||
var randomName = randomArrayChoice(vowelArray) + randomArrayChoice(initialArray) + randomArrayChoice(vowelArray) + randomArrayChoice(finalArray)
|
var randomName = randomArrayChoice(vowelArray) + randomArrayChoice(medialArray) + randomArrayChoice(vowelArray) + randomArrayChoice(finalArray)
|
||||||
//console.log("warning: type was above 5 somehow")
|
//console.log("warning: type was above 6 somehow")
|
||||||
}
|
}
|
||||||
//console.log(randomName)
|
//console.log(randomName)
|
||||||
return randomName
|
return randomName
|
||||||
|
|
@ -52,6 +57,10 @@ function generateName() {
|
||||||
const rockColor1 = {r: 128, g: 128, b: 128}
|
const rockColor1 = {r: 128, g: 128, b: 128}
|
||||||
const rockColor2 = {r: 79, g: 79, b: 79}
|
const rockColor2 = {r: 79, g: 79, b: 79}
|
||||||
const rockColor3 = {r: 148, g: 148, b: 148}
|
const rockColor3 = {r: 148, g: 148, b: 148}
|
||||||
|
const gravelColor1 = {r: 227, g: 224, b: 223}
|
||||||
|
const gravelColor2 = {r: 177, g: 171, b: 163}
|
||||||
|
const gravelColor3 = {r: 116, g: 115, b: 109}
|
||||||
|
const gravelColor4 = {r: 82, g: 75, b: 71}
|
||||||
|
|
||||||
function _rgbToHex(color) {
|
function _rgbToHex(color) {
|
||||||
if(typeof(color) == "object") { //Expects object like "{r: 172, g: 11, b: 34}"
|
if(typeof(color) == "object") { //Expects object like "{r: 172, g: 11, b: 34}"
|
||||||
|
|
@ -140,7 +149,8 @@ function _rgbToHex(color) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
function _multiplyColorObjects(color1,color2,weight1=0.5) { //third argument is for color1 and expects a float from 0 to 0.5
|
function _multiplyColorObjects(color1,color2,weight1=0.5) { /*third argument is for color1 and expects a float from 0
|
||||||
|
to 1, where 0 means "all color2" and 1 means "all color1"*/
|
||||||
var w1 = Math.min(Math.max(weight1,0),1)
|
var w1 = Math.min(Math.max(weight1,0),1)
|
||||||
var red1 = color1.r
|
var red1 = color1.r
|
||||||
var green1 = color1.g
|
var green1 = color1.g
|
||||||
|
|
@ -162,10 +172,18 @@ function generateColors() {
|
||||||
var newRockColor1 = _multiplyColorObjects(rockColor1,randomColor,weight1=0.65)
|
var newRockColor1 = _multiplyColorObjects(rockColor1,randomColor,weight1=0.65)
|
||||||
var newRockColor2 = _multiplyColorObjects(rockColor2,randomColor,weight1=0.65)
|
var newRockColor2 = _multiplyColorObjects(rockColor2,randomColor,weight1=0.65)
|
||||||
var newRockColor3 = _multiplyColorObjects(rockColor3,randomColor,weight1=0.65)
|
var newRockColor3 = _multiplyColorObjects(rockColor3,randomColor,weight1=0.65)
|
||||||
|
var newGravelColor1 = _multiplyColorObjects(gravelColor1,randomColor,weight1=0.675)
|
||||||
|
var newGravelColor2 = _multiplyColorObjects(gravelColor2,randomColor,weight1=0.675)
|
||||||
|
var newGravelColor3 = _multiplyColorObjects(gravelColor3,randomColor,weight1=0.675)
|
||||||
|
var newGravelColor4 = _multiplyColorObjects(gravelColor4,randomColor,weight1=0.675)
|
||||||
var newRockColor1 = _rgbToHex(newRockColor1)
|
var newRockColor1 = _rgbToHex(newRockColor1)
|
||||||
var newRockColor2 = _rgbToHex(newRockColor2)
|
var newRockColor2 = _rgbToHex(newRockColor2)
|
||||||
var newRockColor3 = _rgbToHex(newRockColor3)
|
var newRockColor3 = _rgbToHex(newRockColor3)
|
||||||
return [newRockColor1, newRockColor2, newRockColor3]
|
var newGravelColor1 = _rgbToHex(newGravelColor1)
|
||||||
|
var newGravelColor2 = _rgbToHex(newGravelColor2)
|
||||||
|
var newGravelColor3 = _rgbToHex(newGravelColor3)
|
||||||
|
var newGravelColor4 = _rgbToHex(newGravelColor4)
|
||||||
|
return [newRockColor1, newRockColor2, newRockColor3, newGravelColor1, newGravelColor2, newGravelColor3, newGravelColor4]
|
||||||
}
|
}
|
||||||
|
|
||||||
function _add2(number1,number2) {
|
function _add2(number1,number2) {
|
||||||
|
|
@ -185,19 +203,57 @@ function avgRndToMult() {
|
||||||
return 1 + (0.55 - _generateAveragedRandoms())
|
return 1 + (0.55 - _generateAveragedRandoms())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
elements.gravel.breakInto = "dust"
|
||||||
|
|
||||||
|
generatedRockElementArray = []
|
||||||
|
|
||||||
|
function copyRocks() {
|
||||||
|
copy(generatedRockElementArray)
|
||||||
|
}
|
||||||
|
|
||||||
for(i = 0; i < 10; i++) {
|
for(i = 0; i < 10; i++) {
|
||||||
var name = generateName()
|
var name = generateName()
|
||||||
while(typeof(elements[name]) != "undefined") {
|
var meltingAdjustment = avgRndToMult()
|
||||||
name = generateName()
|
var densityAdjustment = avgRndToMult()
|
||||||
|
var hardnessAdjustment = avgRndToMult()
|
||||||
|
var colors = generateColors()
|
||||||
|
if(typeof(elements[name]) != "undefined") {
|
||||||
|
name = name + _randomArrayChoice(vowelArray) + _randomArrayChoice(finalArray)
|
||||||
}
|
}
|
||||||
elements[name] = {
|
elements[name] = {
|
||||||
color: generateColors(),
|
name: name,
|
||||||
|
color: [colors[0], colors[1], colors[2]],
|
||||||
behavior: behaviors.POWDER,
|
behavior: behaviors.POWDER,
|
||||||
tempHigh: 950 * avgRndToMult(),
|
tempHigh: 950 * meltingAdjustment,
|
||||||
category: "random rocks",
|
category: "random rocks",
|
||||||
state: "solid",
|
state: "solid",
|
||||||
density: 2550 * avgRndToMult(),
|
density: 2550 * densityAdjustment,
|
||||||
hardness: 0.5 * avgRndToMult(),
|
hardness: 0.5 * hardnessAdjustment,
|
||||||
breakInto: ["sand","gravel"], //might auto-generate soon, maybe not
|
breakInto: ["dust",`${name}_gravel`],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(logRocks == true) {
|
||||||
|
console.log(`elements.${name} = {\n name: \"${name}\",\n color: [\"${colors[0]}\", \"${colors[1]}\", \"${colors[2]}\"],\n behavior: behaviors.POWDER,\n tempHigh: ${950 * meltingAdjustment},\n category: \"random rocks\",\n state: \"solid\",\n density: ${2550 * densityAdjustment},\n hardness: ${0.5 * hardnessAdjustment},\n breakInto: [\"dust\",\"${name}_gravel\"],\n};`)
|
||||||
|
}
|
||||||
|
|
||||||
|
generatedRockElementArray.push(elements[name])
|
||||||
|
|
||||||
|
elements[`${name}_gravel`] = {
|
||||||
|
name: `${name} gravel`,
|
||||||
|
color: [colors[3], colors[4], colors[5], colors[6]],
|
||||||
|
behavior: behaviors.POWDER,
|
||||||
|
tempHigh: 950 * meltingAdjustment,
|
||||||
|
stateHigh: name,
|
||||||
|
category: "random rocks",
|
||||||
|
state: "solid",
|
||||||
|
density: 1680 * densityAdjustment,
|
||||||
|
hardness: 0.2 * (hardnessAdjustment ** (2/3)),
|
||||||
|
breakInto: "dust",
|
||||||
|
}
|
||||||
|
|
||||||
|
if(logRocks == true) {
|
||||||
|
console.log(`elements.${name}_gravel = {\n name: \"${name} gravel\",\n color: [\"${colors[3]}\", \"${colors[4]}\", \"${colors[5]}\", \"${colors[6]}\"],\n behavior: behaviors.POWDER,\n tempHigh: ${950 * meltingAdjustment},\n stateHigh: \"${name}\",\n category: \"random rocks\",\n state: \"solid\",\n density: ${1680 * densityAdjustment},\n hardness: ${0.2 * (hardnessAdjustment ** (2/3))},\n breakInto: \"dust\",\n};`)
|
||||||
|
}
|
||||||
|
|
||||||
|
generatedRockElementArray.push(elements[`${name}_gravel`])
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue