more stuff, mostly foliage
This commit is contained in:
parent
aa20c00b54
commit
3417c0fb5c
164
mods/crimson.js
164
mods/crimson.js
|
|
@ -1,7 +1,6 @@
|
|||
//TODO: crimtane, enemies, crimsandstone, ichor
|
||||
//TODO: enemies, ichor, crimsandstone
|
||||
//Not doing: spawning
|
||||
//Might not be possible: thorns (its breaking behavior would need a way for a pixel to detect when a pixel tryMove'd into its position), clentamination (would require a way to go through pixels)
|
||||
//Might or might not do: other spreading biomes, powders
|
||||
//Might not be possible: thorns (its breaking behavior would need a way for a pixel to detect when a pixel tryMove'd into its position), powders and clentamination (those would require a means of moving through pixels without falsely occupied pixels or other glitches)
|
||||
|
||||
function includesArray(parentArray, testArray) {
|
||||
for (let i = 0; i < parentArray.length; i++) {
|
||||
|
|
@ -79,11 +78,35 @@ function crimSpread(pixel) { //corrupting (crimsonning?) blocks
|
|||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"crimsnow")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "packed_snow") {
|
||||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"crimsnow")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "wet_sand") {
|
||||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"crimsand")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "mud") {
|
||||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"dirt")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "permafrost") {
|
||||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"dirt")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "vine") {
|
||||
if(Math.random() < crimRate) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"crimson_vine")
|
||||
}
|
||||
} else if(pixelMap[pixel.x+i][pixel.y+j].element == "sapling") {
|
||||
if(Math.random() < crimRate*4) {
|
||||
changePixel(pixelMap[pixel.x+i][pixel.y+j],"shadewood_sapling")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
grassSpread(pixel,["dirt","mud"],"crimson_grass") //fuck evil biomes turning mud into dirt
|
||||
grassSpread(pixel,"dirt","crimson_grass")
|
||||
}
|
||||
|
||||
elements.crimson_grass = {
|
||||
|
|
@ -261,3 +284,136 @@ elements.vicious_mushroom = {
|
|||
state: "solid",
|
||||
density: 90.445,
|
||||
}
|
||||
|
||||
elements.crimtane_ore = {
|
||||
color: ["#d83a3b", "#85242c", "#5d5d5d", "#540c14"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "land",
|
||||
tempHigh: 1552, //using palladium's melting point as an upper bound
|
||||
stateHigh: ["molten_slag","molten_slag","molten_crimtane"], //:sunglasses: can't turn things into slag if you're already slag
|
||||
state: "solid",
|
||||
density: 5854, //arbitrarily chosen, average of ((average of gold and palladium densities) + (crimstone density) + (crimstone density))
|
||||
}
|
||||
|
||||
elements.crimtane = {
|
||||
color: ["#fc141e", "#C62A2F", "#903f3f", "#752E2E", "#5a1c1c", "#5B3C3C", "#5c5c5c"],
|
||||
behavior: behaviors.SOLID,
|
||||
category: "solids",
|
||||
tempHigh: 1200, //i want a behaviors.WALL form of crimtane... and I'm letting the game autogenerate molten_crimtane because I'm going to use it.
|
||||
//just pretend it got sintered somehow
|
||||
state: "solid",
|
||||
hidden: true,
|
||||
density: 15661,
|
||||
}
|
||||
|
||||
elements.shadewood_tree_branch = {
|
||||
color: "#677a8f",
|
||||
behavior: [
|
||||
"CR:crimson_leaf,shadewood_tree_branch%2|CR:crimson_leaf,crimson_leaf,crimson_leaf,shadewood_tree_branch%2|CR:crimson_leaf,shadewood_tree_branch%2",
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
tempHigh: 400,
|
||||
stateHigh: ["fire","sap"],
|
||||
tempLow: -30,
|
||||
stateLow: "wood",
|
||||
category: "solids",
|
||||
burn: 40,
|
||||
burnTime: 50,
|
||||
burnInto: ["sap","ember","charcoal"],
|
||||
hidden: true,
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
hardness: 0.15,
|
||||
breakInto: ["sap","sawdust"],
|
||||
hidden: true,
|
||||
}
|
||||
elements.crimson_vine = {
|
||||
color: "#de3323",
|
||||
behavior: [
|
||||
"XX|SP|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|CL%1 AND M1|XX",
|
||||
],
|
||||
tick: function(pixel) {
|
||||
if(!pixel.ft) {
|
||||
pixel.ft = 0
|
||||
}
|
||||
if(pixel.ft % 3 == 0) {
|
||||
crimSpread(pixel)
|
||||
}
|
||||
pixel.ft++
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -2,
|
||||
stateLow: "frozen_plant",
|
||||
burn: 35,
|
||||
burnTime: 100,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
}
|
||||
|
||||
elements.shadewood = {
|
||||
color: "#677a8f",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 400,
|
||||
stateHigh: ["ember","charcoal","fire","fire","fire"],
|
||||
category: "solids",
|
||||
burn: 5,
|
||||
burnTime: 300,
|
||||
burnInto: ["ember","charcoal","fire"],
|
||||
state: "solid",
|
||||
hardness: 0.15,
|
||||
breakInto: "shadewood_sawdust",
|
||||
density: 930, //used tigerwood
|
||||
}
|
||||
|
||||
elements.shadewood_sapling = {
|
||||
color: ["#e64029", "#d43b26"],
|
||||
behavior: [
|
||||
"XX|M2%2|XX",
|
||||
"XX|L2:shadewood,shadewood_tree_branch%80|XX",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -2,
|
||||
stateLow: "frozen_plant",
|
||||
burn: 65,
|
||||
burnTime: 15,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
}
|
||||
|
||||
elements.shadewood_sawdust = {
|
||||
color: ["#95abcf","#8190a3"],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 400,
|
||||
stateHigh: "fire",
|
||||
category: "powders",
|
||||
burn: 25,
|
||||
burnTime: 150,
|
||||
burnInto: ["ash","fire","fire","fire"],
|
||||
state: "solid",
|
||||
density: 493,
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.crimson_leaf = {
|
||||
color: "#de3323",
|
||||
behavior: behaviors.WALL,
|
||||
category:"life",
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
tempLow: -1.66,
|
||||
stateLow: "frozen_plant",
|
||||
burn:65,
|
||||
burnTime:60,
|
||||
burnInto: "dead_plant",
|
||||
state: "solid",
|
||||
density: 500,
|
||||
hidden: true,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue