From 5bc4cf3611810f9f9c98dcc50592160e16aab5e0 Mon Sep 17 00:00:00 2001 From: "Laetitia (O-01-67)" <68935009+O-01-67@users.noreply.github.com> Date: Wed, 21 Dec 2022 10:26:56 -0500 Subject: [PATCH] new elems --- mods/structure_test.js | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/mods/structure_test.js b/mods/structure_test.js index 9728ec26..2686b3d4 100644 --- a/mods/structure_test.js +++ b/mods/structure_test.js @@ -138,6 +138,38 @@ elements.crumbling_concrete = { breakInto: "dust", }; +elements.attach_powder_silk = { + color: ["#ebebeb", "#e6d9d1"], + properties: { + "attached": false, + "attachOffsets": [null, null], + }, + tick: function(pixel) { + if (pixel.start === pixelTicks) {return} + if(pixel.attached) { + if(pixel.attachOffsets === null) { + pixel.attached = false; + } else if(pixel.attachOffsets.includes(null)) { + pixel.attached = false; + } else { + var attachCoords = [pixel.x + pixel.attachOffsets[0], pixel.y + pixel.attachOffsets[1]]; + if(isEmpty(attachCoords[0],attachCoords[1],false)) { //consider OOB full + pixel.attached = false; + }; + }; + } else { + behaviors.POWDER(pixel); + }; + doDefaults(pixel); + }, + burnInto: "ash", + burn:75, + burnTime:25, + category: "solids", + state: "solid", + density: 1000, + hidden: true +}; elements.glass_pane = { color: ["#5e807d","#679e99"], @@ -306,6 +338,41 @@ elements.molten_rad_glass = { ], }; +elements.attach_concrete = { + color: "#ababab", + properties: { + "attached": false, + "attachOffsets": [null, null], + }, + tick: function(pixel) { + if (pixel.start === pixelTicks) {return} + if(pixel.attached) { + if(pixel.attachOffsets === null) { + pixel.attached = false; + } else if(pixel.attachOffsets.includes(null)) { + pixel.attached = false; + } else { + var attachCoords = [pixel.x + pixel.attachOffsets[0], pixel.y + pixel.attachOffsets[1]]; + if(isEmpty(attachCoords[0],attachCoords[1],false)) { //consider OOB full + pixel.attached = false; + }; + }; + } else { //Support behavior if not attached + if(!isEmpty(pixel.x-1,pixel.y,true) || !isEmpty(pixel.x+1,pixel.y,true)) { + tryMove(pixel,pixel.x,pixel.y+1); + }; + }; + doDefaults(pixel); + }, + tempHigh: 1500, + stateHigh: "magma", + category: "powders", + state: "solid", + density: 2400, + hardness: 0.5, + breakInto: "dust", +}; + elements.steel_plate_ledge = { color: "#F2F2F2", tick: function(pixel) {