* Now uses structure_test.js (Room)'s method
* Now made from brick and glass
* Added Amogus Seed to generate it (this structure is small, so a simple behavior suffices; to use this method for bigger structures, you'll have to tweak the seed with a tailored tick function)
* Added color array and code to pull from it
This commit is contained in:
O-01-67 2022-07-29 19:37:09 -04:00 committed by GitHub
parent 45a7146b4a
commit cce2d36b34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 65 additions and 333 deletions

View File

@ -1,335 +1,67 @@
//right col
elements.molten_amogus1 = {
behavior: [
"XX|CR:amogus2 AND CH:amogus2|XX",
"M2|XX|M2",
"M1|M1|M1",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus2 = {
behavior: [
"XX|CR:amogus3 AND CH:amogus3|M2",
"M2 AND CR:amogus5 AND CH:amogus5|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus3 = {
behavior: [
"XX|CR:amogus4 AND CH:amogus4|XX",
"M2 AND CR:amogus6 AND CH:amogus6|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus4 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus7 AND CH:amogus7|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//middle col
elements.molten_amogus5 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus9 AND CH:amogus9|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus6 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus10 AND CH:amogus10|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus7 = {
behavior: [
"XX|XX|XX",
"M2 AND CR:amogus11 AND CH:amogus11|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//left col
elements.molten_amogus9 = {
behavior: [
"XX|CR:amogus10 AND CH:amogus10|XX",
"M2|DL%25|M2",
"XX|CR:amogus8 AND CH:amogus8|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus8 = {
behavior: [
"XX|XX|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus10 = {
behavior: [
"XX|CR:amogus11 AND CH:amogus11|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
elements.molten_amogus11 = {
behavior: [
"XX|XX|XX",
"M2|DL%25|M2",
"XX|XX|XX",
],
category: "special",
state: "liquid",
density: (6942.0*0.9),
hidden: true,
};
//right col
elements.amogus1 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus2 AND CH:amogus2|XX",
"XX|XX|XX",
"M2|M1|M2",
],
category: "special",
state: "solid",
density: 6942.0,
tempHigh: 420,
};
elements.amogus2 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus3 AND CH:amogus3|XX",
"CR:amogus5 AND CH:amogus5|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus3 = {
color: "#00ffff",
behavior: [
"XX|CR:amogus4 AND CH:amogus4|XX",
"CR:amogus6 AND CH:amogus6|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus4 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus7 AND CH:amogus7|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
//middle col
elements.amogus5 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus9 AND CH:amogus9|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus6 = {
color: "#00ffff",
behavior: [
"XX|XX|XX",
"CR:amogus10 AND CH:amogus10|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus7 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"CR:amogus11 AND CH:amogus11|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
//left col
elements.amogus9 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus10 AND CH:amogus10|XX",
"XX|DL%25|XX",
"XX|CR:amogus8 AND CH:amogus8|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus8 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus10 = {
color: "#ff0000",
behavior: [
"XX|CR:amogus11 AND CH:amogus11|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus11 = {
color: "#ff0000",
behavior: [
"XX|XX|XX",
"XX|DL%25|XX",
"XX|XX|XX",
],
category: "special",
state: "solid",
density: 6942.0,
hidden: true,
tempHigh: 420,
};
elements.amogus = {
name: "Amogus",
color: "#ffffff",
tick: function(pixel) {
pixel.arr=[["brick", "brick", "brick"],
["brick", "glass", "glass"],
["brick", "brick", "brick"],
["brick", "air", "brick"]];
pixel.carr=[[ "rgb(255,0,0)", "rgb(255,0,0)", "rgb(255,0,0)" ],
[ "rgb(255,0,0)", "rgb(0,255,255)", "rgb(0,255,255)"],
[ "rgb(255,0,0)", "rgb(255,0,0)", "rgb(255,0,0)" ],
[ "rgb(255,0,0)", "null", "rgb(255,0,0)" ]];
//F&M interactions
runAfterLoad(function() {
if(enabledMods.includes("mods/fey_and_more.js")) {
//cum elements as impurities {
eLists.IMPURITY.push("amogus1");
eLists.IMPURITY.push("amogus2");
eLists.IMPURITY.push("amogus3");
eLists.IMPURITY.push("amogus4");
eLists.IMPURITY.push("amogus5");
eLists.IMPURITY.push("amogus6");
eLists.IMPURITY.push("amogus7");
eLists.IMPURITY.push("amogus8");
eLists.IMPURITY.push("amogus9");
eLists.IMPURITY.push("amogus10");
eLists.IMPURITY.push("amogus11");
eLists.IMPURITY.push("molten_amogus1");
eLists.IMPURITY.push("molten_amogus2");
eLists.IMPURITY.push("molten_amogus3");
eLists.IMPURITY.push("molten_amogus4");
eLists.IMPURITY.push("molten_amogus5");
eLists.IMPURITY.push("molten_amogus6");
eLists.IMPURITY.push("molten_amogus7");
eLists.IMPURITY.push("molten_amogus8");
eLists.IMPURITY.push("molten_amogus9");
eLists.IMPURITY.push("molten_amogus10");
eLists.IMPURITY.push("molten_amogus11");
//}
//regenerate behaviors of elements that use eLists.IMPURITY {
elements.pure_water.behavior = [
"DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"XX|DL:"+eLists.IMPURITY+"",
"DL:"+eLists.IMPURITY+" AND M2|XX|DL:"+eLists.IMPURITY+" AND M2",
"DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1|DL:"+eLists.IMPURITY+" AND M1",
];
elements.pure_steam.behavior = [
"M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"",
"M1 AND DL:"+eLists.IMPURITY+"XX|XX|M1 AND DL:"+eLists.IMPURITY+"",
"M2 AND DL:"+eLists.IMPURITY+"XX|M1 AND DL:"+eLists.IMPURITY+"XX|M2 AND DL:"+eLists.IMPURITY+"",
];
aa = (0 - (Math.floor(pixel.arr[0].length / 2))) //Center align code
na = Math.abs(aa)
if(pixel.arr[0].length % 2 == 1) {
bb = ((Math.floor(pixel.arr[0].length / 2)) + 1)
} else if(pixel.arr[0].length % 2 == 0) {
bb = (Math.floor(pixel.arr[0].length / 2))
}
//concoction support (it's all mistakes) {
elements.concoction.reactions.amogus1 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus2 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus3 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus4 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus5 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus6 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus7 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus8 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus9 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus10 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.amogus11 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus1 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus2 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus3 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus4 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus5 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus6 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus7 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus8 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus9 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus10 = { "elem1": "mistake", "elem2": null },
elements.concoction.reactions.molten_amogus11 = { "elem1": "mistake", "elem2": null }
//}
};
});
cc = (0 - (Math.floor(pixel.arr.length / 2)))
nc = Math.abs(cc)
if(pixel.arr.length % 2 == 1) {
dd = ((Math.floor(pixel.arr.length / 2)) + 1)
} else if(pixel.arr.length % 2 == 0) {
dd = (Math.floor(pixel.arr.length / 2))
}
for (let j = cc; j < dd; j++) { //Iterative placing and coloring of pixels
for (let i = aa; i < bb; i++) {
if(!isEmpty(pixel.x+i,pixel.y+j) && !outOfBounds(pixel.x+i,pixel.y+j)) {
if(pixel.arr[j+nc][i+na] != "null" || pixel.arr[j+nc][i+na] == "air") {
deletePixel(pixel.x+i,pixel.y+j)
}
}
if(pixel.arr[j+nc][i+na]) {
if(isEmpty(pixel.x+i,pixel.y+j,true) && pixel.arr[j+nc][i+na] != "null" && pixel.arr[j+nc][i+na] != "air") {
createPixel(pixel.arr[j+nc][i+na],pixel.x+i,pixel.y+j)
if(pixel.carr[j+nc][i+na]) {
if(!isEmpty(pixel.x+i,pixel.y+j,true) && pixel.carr[j+nc][i+na] != "null") {
pixelMap[pixel.x+i][pixel.y+j].color = pixel.carr[j+nc][i+na]
}
}
}
}
}
}
},
category:"structures",
insulate: true,
state: "solid",
excludeRandom: true,
},
elements.amogus_seed = {
name: "Amogus Seed",
color: "#df2f47",
behavior: [
"DL:amogus_seed|DL:amogus_seed AND M2|DL:amogus_seed",
"DL:amogus_seed|C2:amogus|DL:amogus_seed",
"DL:amogus_seed|SW:amogus_seed AND DL:amogus_seed AND M1|DL:amogus_seed"
],
category:"structures",
insulate: true,
state: "solid",
density: 2018,
}