From ed563dbce012351125c39ed447f7e0660e4f725e Mon Sep 17 00:00:00 2001 From: "Laetitia (O-01-67)" <68935009+O-01-67@users.noreply.github.com> Date: Sun, 4 Dec 2022 13:38:24 -0500 Subject: [PATCH] more destructible versions of elements --- mods/structure_test.js | 124 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) diff --git a/mods/structure_test.js b/mods/structure_test.js index 69685eb8..562fa468 100644 --- a/mods/structure_test.js +++ b/mods/structure_test.js @@ -96,11 +96,13 @@ elements.glass_pane = { "radiation": { "elem1":"rad_glass_pane", "chance":0.33 }, }, tempHigh: 1500, + stateHigh: "molten_glass", hardness: 0.2, category: "solids", state: "solid", density: 2500, breakInto: "glass_shard", + hidden: true, }; elements.rad_glass_pane = { @@ -117,7 +119,7 @@ elements.rad_glass_pane = { state: "solid", density: 2500, breakInto: "rad_glass_shard", - hidden: true + hidden: true, }; elements.wood.hardness = 0.2; @@ -136,6 +138,94 @@ elements.wood_plank = { breakInto: "sawdust", }; +elements.hanging_concrete = { + color: "#ababab", + behavior: [ + "XX|SP|XX", + "XX|XX|XX", + "M2|M1|M2" //crumbling from the top down is acceptable + ], + tempHigh: 1500, + stateHigh: "magma", + category: "powders", + state: "solid", + density: 2400, + hardness: 0.5, + breakInto: "dust", + hidden: true, +}; + +elements.support_copper = { + color: ["#A95232","#BE4322","#C76035"], + behavior: behaviors.SUPPORT, + reactions: { + "water": { "elem1":"oxidized_copper", chance:0.0025 }, + "salt_water": { "elem1":"oxidized_copper", chance:0.005 }, + "dirty_water": { "elem1":"oxidized_copper", chance:0.04 }, + "sugar_water": { "elem1":"oxidized_copper", chance:0.0035 }, + "seltzer": { "elem1":"oxidized_copper", chance:0.006 }, + }, + category: "solids", + tempHigh: 1085, + stateHigh: "molten_copper", + density: 8960, + conduct: 0.95, + hardness: 0.3, + hidden: true, +}; + +elements.hanging_bulb = { + color: "#a8a897", + behavior: [ + "XX|SP|XX", + "XX|XX|XX", + "M2|M1|M2" + ], + behaviorOn: [ + "XX|SP AND CR:light|XX", + "CR:light|XX|CR:light", + "M2|M1 AND CR:light|M2", + ], + colorOn: "#ebebc3", + category: "machines", + tempHigh: 1500, + stateHigh: ["molten_glass","molten_glass","molten_copper"], + conduct: 1, + breakInto: "glass_shard", + hidden: true, +}; + +elements.support_plastic = { + color: "#c5dede", + behavior: behaviors.SUPPORT, + tempHigh: 250, + stateHigh: "molten_plastic", + burn: 10, + burnTime: 200, + burnInto: ["dioxin","smoke","dioxin","smoke","stench"], + category: "solids", + state: "solid", + density: 1052, + hidden: true, +}; + +elements.support_steel =: { + color: "#71797E", + behavior: behaviors.SUPPORT, + tempHigh: 1455.5, + stateHigh: "molten_steel", + category: "solids", + density: 7850, + conduct: 0.42, + hardness: 0.8, +}; + +var newAcidIgnores = ["glass_pane", "rad_glass_pane", "rad_glass_shard", "hanging_plastic"]; +for(i = 0; i < newAcidIgnores.length; i++) { + elements.acid.ignore.push(newAcidIgnores[i]); + elements.acid_gas.ignore.push(newAcidIgnores[i]); +}; + elements.rad_glass.breakInto = "rad_glass_shard"; if(!elements.glass_shard.reactions) { @@ -170,6 +260,38 @@ elements.molten_rad_glass = { ], }; +elements.steel_plate_ledge = { + color: "#F2F2F2", + tick: function(pixel) { + 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 { //Move if not attached + tryMove(pixel,pixel.x,pixel.y+1); + }; + doDefaults(pixel); + }, + properties: { + "attached": false, + "attachOffsets": [null, null], + }, + tempHigh: 1455.5, + stateHigh: "molten_steel", + category: "solids", + density: 785, + conduct: 0.32, + hardness: 0.7, + breakInto: "metal_scrap", +}; + //Seeds elements.building_1_seed = { tick: function(pixel) {