From 2eb03ae54be0acf38a44ae55a8e83318aa6ba539 Mon Sep 17 00:00:00 2001 From: An Orbit <68935009+orbit-loona@users.noreply.github.com> Date: Mon, 20 May 2024 12:35:03 -0400 Subject: [PATCH] crimson tweaks --- mods/a_mod_by_alice.js | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js index 368b5b00..51d96361 100644 --- a/mods/a_mod_by_alice.js +++ b/mods/a_mod_by_alice.js @@ -19979,6 +19979,10 @@ Pixel size (rendering only): (Use if the save looks cut o grass: "crimson_grass", ice: "red_ice", water: "crimwater", + salt_water: "crimwater", + sugar_water: "crimwater", + dirty_water: "crimwater", + pool_water: "pool_water,pool_water,water", snow: "crimsnow", packed_snow: "crimsnow", vine: "crimson_vine", @@ -20023,10 +20027,22 @@ Pixel size (rendering only): (Use if the save looks cut o for (let j = -2; j < 3; j++) { if (!isEmpty(pixel.x+j,pixel.y+i,true)) { var destPixel = pixelMap[pixel.x+j][pixel.y+i]; + if(!destPixel) { continue }; var elementToCheck = destPixel.element; if(Math.random() < crimRate) { if(crimsonObject[elementToCheck]) { - changePixel(destPixel,crimsonObject[elementToCheck]); + var result = crimsonObject[elementToCheck]; + if((typeof(result) == "string") && result.indexOf(",") !== -1 && !(elementExists(result))) { + result = result.split(",") + }; + while(Array.isArray(result)) { + result = randomChoice(result) + }; + if(result == "null") { //fsr null gets ignored + deletePixel(destPixel.x,destPixel.y); + } else { + changePixel(destPixel,result); + } }; grassSpread(pixel,["dirt","crimsoil","rainbow_dirt"],"crimson_grass",0.5); }; @@ -23205,7 +23221,7 @@ Pixel size (rendering only): (Use if the save looks cut o burnTime: 65, state: "solid", density: 90.445, - } + }; elements.crimtane_ore = { color: ["#d83a3b", "#85242c", "#5d5d5d", "#540c14"], behavior: behaviors.POWDER, @@ -23214,7 +23230,22 @@ Pixel size (rendering only): (Use if the save looks cut o 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.crimson = { + color: ["#e82535","#cc471f", "#782b2e", "#8c2e26", "#86241d", "#9d2b20"], + tool: crimSpread, + tick: function(pixel) { + getMooreNeighbors(pixel).forEach(crimSpread) + }, + hardness: 0.8, + density: 2500, + state: "solid", + tempHigh: 1200, + stateHigh: "ash", + category: "special", + desc: "Spreads the Crimson", + excludeRandom: true + }; elements.crimtane = { color: ["#fc141e", "#C62A2F", "#903f3f", "#752E2E", "#5a1c1c", "#5B3C3C", "#5c5c5c"], behavior: behaviors.SOLID,