dep block, logic fixes, solid support

This commit is contained in:
Laetitia (O-01-67) 2023-04-03 11:09:52 -04:00 committed by GitHub
parent c36ff2bc30
commit 4a585cf91b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 142 additions and 120 deletions

View File

@ -1,4 +1,9 @@
function redHotColorgen(colorIn,outputFormat="rgb") { var modName = "mods/hot_rocks.js";
var groundMod = "mods/the_ground.js";
var libraryMod = "mods/code_library.js";
if(enabledMods.includes(groundMod) && enabledMods.includes(libraryMod)) {
function redHotColorgen(colorIn,outputFormat="rgb") {
var color = colorIn; var color = colorIn;
//console.log(color); //console.log(color);
if(!Array.isArray(color)) { if(!Array.isArray(color)) {
@ -14,6 +19,7 @@ function redHotColorgen(colorIn,outputFormat="rgb") {
subcolor.r *= 1.7; subcolor.r *= 1.7;
subcolor.g += 24; subcolor.g += 24;
subcolor.g *= 1.2; subcolor.g *= 1.2;
subcolor.g -= 16;
subcolor.b -= 10; subcolor.b -= 10;
subcolor.b *= 0.75; subcolor.b *= 0.75;
for(colorlet in subcolor) { for(colorlet in subcolor) {
@ -25,21 +31,21 @@ function redHotColorgen(colorIn,outputFormat="rgb") {
color = color.map(x => convertColorFormats(x,outputFormat)); color = color.map(x => convertColorFormats(x,outputFormat));
if(color.length == 1) { color = color[0] }; if(color.length == 1) { color = color[0] };
return color; return color;
}; };
var hotNameOverrides = { var hotNameOverrides = {
dry_dirt: "hot_dirt", dry_dirt: "hot_dirt",
}; };
elements.dirt._data = ["mixed","mixed","particulate"]; elements.dirt._data = ["mixed","mixed","particulate"];
elements.dry_dirt._data = ["mixed","mixed","particulate"]; elements.dry_dirt._data = ["mixed","mixed","particulate"];
//console.log(elements.dry_dirt.stateHigh); //console.log(elements.dry_dirt.stateHigh);
runAfterLoad(function() { runAfterLoad(function() {
var igneousRocksAndSands = Object.keys(elements).filter( var igneousRocksAndSands = Object.keys(elements).filter(
function(elemName) { function(elemName) {
//console.log(elemName,elements[elemName]._data?.[2]); //console.log(elemName,elements[elemName]._data?.[2]);
return ["igneous_rock","igneous_gravel","sedimentary_rock","particulate"].includes(elements[elemName]._data?.[2]) && !("clay","limestone","black_limestone","shale".includes(elemName)) return ["igneous_rock","solid_igneous_rock","igneous_gravel","sedimentary_rock","particulate"].includes(elements[elemName]._data?.[2]) && !("clay","limestone","black_limestone","shale".includes(elemName))
} }
); );
@ -49,6 +55,8 @@ runAfterLoad(function() {
switch(data2) { switch(data2) {
case "igneous_rock": case "igneous_rock":
return "hot_igneous_rock"; return "hot_igneous_rock";
case "solid_igneous_rock":
return "hot_solid_igneous_rock";
case "particulate": case "particulate":
return "hot_particulate"; return "hot_particulate";
case "sedimentary_rock": case "sedimentary_rock":
@ -62,6 +70,18 @@ runAfterLoad(function() {
igneousRocksAndSands = igneousRocksAndSands.concat("dry_dirt"); igneousRocksAndSands = igneousRocksAndSands.concat("dry_dirt");
hotRockBehavior = [
"XX|CR:fire%0.5|XX",
"XX|XX|XX",
"M2|M1|M2"
];
solidHotRockBehavior = [
"XX|CR:fire%0.1|XX",
"CR:fire%0.1|XX|CR:fire%0.1",
"XX|CR:fire%0.1|XX"
];
for(j = 0; j < igneousRocksAndSands.length; j++) { for(j = 0; j < igneousRocksAndSands.length; j++) {
var rockName = igneousRocksAndSands[j]; var rockName = igneousRocksAndSands[j];
var rockInfo = elements[rockName]; var rockInfo = elements[rockName];
@ -74,16 +94,12 @@ runAfterLoad(function() {
//console.log(rockInfo.stateHigh); //console.log(rockInfo.stateHigh);
elements[newName] = { elements[newName] = {
color: redHotColorgen(rockInfo.color,"hex"), color: redHotColorgen(rockInfo.color,"hex"),
behavior: [ behavior: hotData2Switch(rockData[2]).includes("solid") ? solidHotRockBehavior : hotRockBehavior,
"XX|CR:fire%0.5|XX",
"XX|XX|XX",
"M2|M1|M2"
],
category: "land", category: "land",
state: "solid", state: "solid",
temp: Math.min(rockInfo.tempHigh - 50,850), temp: Math.min(rockInfo.tempHigh - 50,850),
tempHigh: rockInfo.tempHigh, tempHigh: rockInfo.tempHigh,
tempLow: (rockInfo.tempHigh - 100,800), tempLow: Math.min(rockInfo.tempHigh - 100,800),
stateLow: rockName, stateLow: rockName,
stateHigh: rockInfo.stateHigh, stateHigh: rockInfo.stateHigh,
density: rockData.density * 0.9, density: rockData.density * 0.9,
@ -108,8 +124,8 @@ runAfterLoad(function() {
elements[rockName].tempHigh = Math.min(rockInfo.tempHigh - 100,800); elements[rockName].tempHigh = Math.min(rockInfo.tempHigh - 100,800);
elements[rockName].stateHigh = newName; elements[rockName].stateHigh = newName;
if(rockInfo._data[2] == "igneous_rock" && elements[rockName + "_gravel"]) { if(rockInfo._data[2] == "igneous_rock" && elements[newName + "_gravel"]) {
elements[rockName].stateHigh = rockName + "_gravel"; elements[newName].stateHigh = newName + "_gravel";
}; };
}; };
@ -121,4 +137,10 @@ runAfterLoad(function() {
elements.hot_dirt.stateHigh = "molten_dirt"; elements.hot_dirt.stateHigh = "molten_dirt";
elements.hot_dirt.tempLow = 800; elements.hot_dirt.tempLow = 800;
elements.hot_dirt.stateLow = "dry_dirt"; elements.hot_dirt.stateLow = "dry_dirt";
}); });
} else {
enabledMods.splice(enabledMods.indexOf(modName),0,libraryMod);
enabledMods.splice(enabledMods.indexOf(modName),0,groundMod);
localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
alert(`The ${groundMod} and ${libraryMod} mods are required and have been automatically inserted (reload for this to take effect).`);
};