diff --git a/lang/cs.json b/lang/cs.json index 6eb4758f..f9a632d1 100644 --- a/lang/cs.json +++ b/lang/cs.json @@ -23,7 +23,7 @@ "shock":"Šok", "paint":"Malovat", "sand":"Písek", -"water":"Voda", +"water":"Voda", "salt_water":"Slaná_Voda", "sugar_water":"Sladká_Voda", "seltzer":"Minerální_Voda", @@ -305,7 +305,7 @@ "crumb":"Drobek", "baked_batter":"Dort", "wheat":"Pšenice", -"candy":"Sladkosti", +"candy":"Sladkost", "coffee_bean":"Kávové_Zrna", "coffee_ground":"Mletá_Káva", "nut":"Ořech", @@ -444,7 +444,7 @@ "supernova":"Supernova", "cook":"Vařit", "incinerate":"Spálit", -"room_temp":"Teplota_Pokoje", +"room_temp":"Pokojová_Teplota", "positron":"Pozitron", "tnt":"TNT", "c4":"C-4", @@ -541,7 +541,11 @@ "tornado":"Tornádo", "earthquake":"Zemětřesení", "tsunami":"Tsunami", -"blaster":"Blaster", +"blaster":"Lazerová_Pistole", "propane_ice":"Zrmzlý_Propan", -"molten_caustic_potash":"Rozteklý_Potaš" +"molten_caustic_potash":"Rozteklý_Potaš", +"spider": "Pavouk", +"web": "Pavučina", +"rice": "Rýže", +"midas_touch": "Midasův_Dotek" } diff --git a/lang/hu.json b/lang/hu.json index 403e2fe5..b5df4c3e 100644 --- a/lang/hu.json +++ b/lang/hu.json @@ -548,7 +548,7 @@ "tsunami": "cunami", "blaster": "plazmavető", "propane_ice": "fagyott_propán", -"molten_caustic_potash": "olvadt_kálium-hidroxid" +"molten_caustic_potash": "olvadt_kálium-hidroxid", "ectoplasm":"ektoplazma", "soul":"lélek", "tombstone":"sírkő", diff --git a/lang/ru.json b/lang/ru.json index 31e2c634..244f28be 100644 --- a/lang/ru.json +++ b/lang/ru.json @@ -479,7 +479,7 @@ "prop":"реквизит", "salt_ice":"солёный лёд", "sugar_ice":"сладкий лёд", - "seltzer_ice":"селтизерный лёд", + "seltzer_ice":"минеральный лёд", "dirty_ice":"грязный лёд", "pool_ice":"лёд в бассейне", "blood_ice":"кровяной лёд", diff --git a/mod-list.html b/mod-list.html index c00ede85..12e103bb 100644 --- a/mod-list.html +++ b/mod-list.html @@ -135,7 +135,7 @@ velocity.jsBeta for explosion velocity, and later wind, which may come to the base game in the futureR74n Tools & Settings - + betaworldgen.jsadds a more advanced world generation to the gameAdora betterModManager.jsImprovements to the Mod Managerggod betterSettings.jsAdds additional settings and functionalityggod @@ -186,7 +186,6 @@ bioooze_and_pyrogens.jsAdds Bio-Ooze from Frackin’ Universe and several heat-producing materials from various games’ modsAlice boiling_things.jsAllows for various elements to be vaporizedAlice bouncing_balls.jsAdds new types of balls that bounce accurately and roll.Nekonico -bromine.jsAdds bromine which emits an orange gasSuss chalcopyrite.jsAdds the chalcopyrite oreSophie chem.jsAdds several chemistry and physics-related elementslllllllllwith10ls clf3.jsAdds Chlorine TrifluorideAlice @@ -231,6 +230,7 @@ flipflop.jsToggleable switches; ExplanationFlix fueled_generators.jsFuel powered generators. gameOfLife.jsConway's Game of Life on a screenggod +heatshield.jsadds heatshields, makes plasma coolerTaterbob logicgates.jsAdds predictable electricity and logic gatesnousernamefound note_block.jsAdds musical Note BlocksAlice nousersthings.jsDestroyable machines, pipe variants, filters, and morenousernamefound @@ -285,6 +285,7 @@ biology.jsAdds various elements and functions that let you build your own organism.Nekonico cat.jsAdds cats and cat foodSquareScreamYT cells.jsAdds several experimental edits of the Cell elementAlice +children.jsAdds pesky little gremlinsTaterbob colonies.jsAdds rockets that contain settlers to terraform a planet.Nekonico crimson.jsAdds elements relating to the Crimson from TerrariaAlice dogs.jsAdds a simple dog and dog foodhedera-ivy @@ -323,6 +324,7 @@ all_around_fillers.jsAdds directional Filler variantsidk73248 allliquids.jsMade all elements liquidsAdora amogus.jsAdds a small amogus structureAlice +bfdi.jsAdds several references to bfdiTaterbob citybuilding.jsAdds seeds that create miniature buildings and other city-related itemsSquareScreamYT collab_mod.jsCreated by multiple people, adds random thingsmrapple, ilikepizza, stefanblox doom.jsAs seen on TikTok - Select the Doom element to start, WASDggod diff --git a/mods/RF_transmitter_receiver.js b/mods/RF_transmitter_receiver.js index 7dac97bd..fb3eef7a 100644 --- a/mods/RF_transmitter_receiver.js +++ b/mods/RF_transmitter_receiver.js @@ -4,7 +4,7 @@ let channelVar = "0"; // RF Transmitter Element elements.rf_transmitter = { color: "#142c47", - category: "Machines", + category: "machines", behavior: behaviors.WALL, tempHigh: 250, stateHigh: "dirt", diff --git a/mods/bfdi.js b/mods/bfdi.js new file mode 100644 index 00000000..421d4bcb --- /dev/null +++ b/mods/bfdi.js @@ -0,0 +1,145 @@ +elements.abcdefghijklmon = { + color: "#c86b8f", + name: "myblueberryseed", + behavior: behaviors.POWDER, + reactions: { + "porcelain": { elem1: "grower", elem2: "porcelain"}, +}, + state: "solid", + category: "bfdi", +}; +elements.grower = { + color: "#00ff00", + name: "blueberry_plant", + behavior: [ + "XX|CL AND CH:shower%10|XX", + "CR:blueberry%1|XX|CR:blueberry%1", + "XX|XX|XX" + ], + category: "bfdi", +}; +elements.blueberry = { + color: "#5500aa", + behavior: [ + "XX|XX|XX", + "XX|EX:20%1|XX", + "XX|XX|XX" +], + category: "bfdi", +}; +elements.shower = { + color: "#00aa00", + name: "blueberry_plant", + category: "bfdi" +}; +elements.steel.breakInto = "fork" +; +elements.fork = { + color: "#999999", + ignore: "abcd", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "M2|DL AND M1|M2" + ], + state: "solid", + category: "bfdi", +}; +elements.abcd = { + state: "gas", + name: "forkrepellent", + category: "bfdi", + stain: 0, + alpha: 0.4, + behavior: [ + "XX|M1 AND ST|XX", + "M1 AND ST|XX|M1 AND ST", + "XX|M1 AND ST|XX" + ], +}; +elements.cheesecake = { + state: "solid", + behavior: behaviors.POWDER, + color: "#ccbb77", + category: "bfdi", + reactions: { + "glass_shard": { elem1: "shardcake", elem2: null } + }, +}; +elements.baked_batter.reactions = {} +elements.baked_batter.reactions.cheese_powder = { elem1: "cheesecake", elem2: null }; +elements.shardcake = { + state: "solid", + name: "cheesecake_with_shards", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|DL%5 AND M1|XX" + ], + color: Array ("#ccbb77","#5e807d"), + category: "bfdi", +}; +elements.rocky = { + color: "#777777", + behavior: [ + "XX|CR:barf|XX", + "CR:barf|XX|CR:barf", + "XX|CR:barf|XX" + ], + category: "bfdi", + reactions: { + "lava_barf": { elem1: null, elem2: "zombie_rocky" } + }, +}; +elements.barf = { + color: "#008800", + category: "bfdi", + ignore: Array("rocky", "zombie_rocky","cured_rocky"), + state: "liquid", + behavior: [ + "XX|XX|XX", + "M2|XX|M2", + "M2|DL%30 AND M1|M2" + ], + tempHigh: 800, + stateHigh: "lava_barf", + reactions: { + "lava": { elem1: "lava_barf", elem2: null } + }, +}; +elements.lava_barf = { + color: "#ffaa00", + glow: 1, + state: "liquid", + ignore: Array("zombie_rocky","rocky","cured_rocky"), + behavior: [ + "XX|CH:rocky>zombie_rocky AND CH:barf>lava_barf%5|XX", + "M2 AND CH:rocky>zombie_rocky AND CH:barf>lava_barf%5|XX|M2 AND CH:rocky>zombie_rocky AND CH:barf>lavabarf%5", + "XX|CH:rocky>zombie_rocky AND CH:barf>lava_barf%5 AND M1|XX" + ], + category: "bfb", +}; +elements.zombie_rocky = { + color: "#005500", + category: "bfdi", + behavior: [ + "XX|CH:rocky>zombie_rocky AND CR:lava_barf|XX", + "CH:rocky>zombie_rocky AND CR:lava_barf|XX|CH:rocky>zombie_rocky AND CR:lava_barf", + "XX|CH:rocky>zombie_rocky AND CR:lava_barf|XX" + ], + reactions: { + "water": { elem1: null, elem2: "cured_rocky" } + }, +}; +elements.cured_rocky = { + color: "#777777", + category: "bfdi", + behavior: [ + "XX|CR:barf AND CH:zombie_rocky>cured_rocky|XX", + "CR:barf AND CH:zombie_rocky>cured_rocky|XX|CR:barf AND CH:zombie_rocky>cured_rocky", + "XX|CR:barf AND CH:zombie_rocky>cured_rocky|XX" + ], + reactions: { + "zombie_rocky": { elem1: "cured_rocky", elem2: "cured_rocky" } + }, +}; diff --git a/mods/bromine.js b/mods/bromine.js deleted file mode 100644 index c43307c5..00000000 --- a/mods/bromine.js +++ /dev/null @@ -1,40 +0,0 @@ -// coded by suss, so the code probably sucks -// lmao it only adds three elements, actually this is my first mod that even ADDS elements -// wait, nobody even reads the mod code, so im essentially talking to myself -// oh well :( - -elements.bromine = { - color: "#4e0e00", - behavior: [ - "XX|CR:bromine_vapor%5|XX", - "M2|XX|M2", - "XX|M1|XX", - ], - category: "liquids", - viscosity: 1.5, - state: "liquid", - density: 3102, - tempLow: -7, - stateLow: "bromine_ice", -}; - -elements.bromine_ice = { - color: "#350900", - behavior: behaviors.WALL, - category: "states", - state: "solid", - density: 3102, - tempHigh: -7, - stateHigh: "bromine", - temp: -10, - hidden: true, -}; - -elements.bromine_vapor = { - color: "#d48846", - behavior: behaviors.GAS, - category: "gases", - state: "gas", - density: 7.59, - hidden: true, -} \ No newline at end of file diff --git a/mods/children.js b/mods/children.js new file mode 100644 index 00000000..0a73aba4 --- /dev/null +++ b/mods/children.js @@ -0,0 +1,14 @@ +elements.child = { + color: "#ffaa55", + behavior: [ + "M2|M2|M2", + "M2|XX|M2", + "XX|M1|XX" +], + tempHigh: 100, + stateHigh: "cooked_meat", + category: "life", + reactions: { + "herb": { elem1: "blood", elem2: "explosion"} +}, +}; diff --git a/mods/cs_expanded.js b/mods/cs_expanded.js new file mode 100644 index 00000000..8f83ff87 --- /dev/null +++ b/mods/cs_expanded.js @@ -0,0 +1,31 @@ +// Made by Kopalecek (also known as davistudios or sylas) + +/* + +If you would want to use this to make stuff like de_expanded.js, just put "Based off cs_expanded" in a comment at the top. And remove the previous comments in general. + +Ryan, if you see this, it would be great if you add ids for stuff like controls, the "Sandboxels Introduction" or menu items in like settings or mods. + +*/ + +const reqCode = 'cs' // Change this to the lang code you want. + +const menu = { // Just change the values in this. + pauseButton: 'Pauza', + resetButton: 'Reset', + replaceButton: 'Nahradit', + elemSelectButton: 'VE', + tpsButton: 'TZS', + infoButton: 'Info', + savesButton: 'Uložené', + modsButton: 'Módy', + settingsButton: 'Nastavení', + changelogButton: 'Změny', +} + + +if (langCode == reqCode) { + Object.keys(menu).forEach(key => { + document.getElementById(key).textContent = menu[key] + }) +} \ No newline at end of file diff --git a/mods/drills.js b/mods/drills.js index 3c496f73..14384f7f 100644 --- a/mods/drills.js +++ b/mods/drills.js @@ -15,590 +15,356 @@ + void drill missile L, R, U & D + drills.js info (drills_info) element to 'mods' category ~ fixed steel/diamond/void drill R & steel/diamond/void drill missile R crashing upon border collision -~ made steel/diamond/void drill missile L, R, U & D explode upon border contact +~ made steel/diamond/void drill missile L, R, U & D explode upon contact with canvas edge ~ committed - Version: 1.0.1 + Version: 1.0.1 (No Hardness Fix) @NecroticPhantom ~ fixed steel/diamond/void drill L, R, U & D + steel/diamond/void drill missile L, R, U & D not breaking pixels with no listed hardness + Version: 2.0.0 (Drills Revamped (AKA Reverse Drills)) +@NecroticPhantom ++ maxSize: 1 to all drills without it +~ rewrote drills and functions so no longer need L, R, U and D versions of all drills +- L, R, U and D versions of all drills +~ rewrote drills and functions so no longer need 1 function per drill material +- drill material-specific functions +- drill color variables +~ changed breakInto and stateHigh for most drills +~ changed density, tempHigh and conductivity of all drills +~ renamed 'drills.js_info' element to 'drills.js' ++ steel reverse drill ++ diamond reverse drill ++ void reverse drill + + Version 2.0.1 (Drills Not Functioning Hotfix) +@NecroticPhantom +~ Fixed all drills not drilling +~ Slight change to drill missile function (no functional difference) +~ Fixed reverse drills not creating pixels while drilling sometimes and when moving vertically */ -drills_mod_desc_Colour = "#000000" -steel_drill_Colour = "#71797e" -steel_drill_missile_Colour = ["#71797e", "#ff0000"]; -diamond_drill_Colour = "#03fcec" -diamond_drill_missile_Colour = ["#03fcec", "#ff0000"]; -void_drill_Colour = "#262626" -void_drill_missile_Colour = ["#262626", "#ff0000"]; - - - -behaviors.SELFDELETE = [ - "XX|XX|XX", - "XX|DL|XX", - "XX|XX|XX", -]; - - +// info element elements.drills_info = { - color: drills_mod_desc_Colour, - name: "drills.js_info", + color: "#000000", + name: "drills.js", category: "Mods", behavior: behaviors.SELFDELETE, maxSize: 1, tool: function(pixel) {}, onSelect: function(pixel) { - let info1stMod = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11." - alert(info1stMod) + let mod_info = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11." + alert(mod_info) return }, -}; +}; -steel_drill_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - if (elements[pxl.element].hardness <= 0.8) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; +// functions +drill_function = function(pixel, dif_x, dif_y) { + if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) { + if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) { + pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y]; + if (elements[pxl.element].hardness <= elements[pixel.element].hardness || elements[pxl.element].hardness == undefined) { + deletePixel(pxl.x, pxl.y); }; }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y); }; - doDefaults(pixel); -} +}; -elements.steel_drill_LEFT = { - color: steel_drill_Colour, - tick: function(pixel) { - steel_drill_function(pixel,pixel.x-1,pixel.y); - }, - category: "Drills", - breakInto: ["metal_scrap", "steel", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_steel", "molten_iron", "molten_tin"], - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", -} - -elements.steel_drill_RIGHT = { - color: steel_drill_Colour, - tick: function(pixel) { - steel_drill_function(pixel,pixel.x+1,pixel.y); - }, - category: "Drills", - breakInto: ["metal_scrap", "steel", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", -} - -elements.steel_drill_UP = { - color: steel_drill_Colour, - tick: function(pixel) { - steel_drill_function(pixel,pixel.x,pixel.y-1); - }, - category: "Drills", - breakInto: ["metal_scrap", "steel", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", -} - -elements.steel_drill_DOWN = { - color: steel_drill_Colour, - tick: function(pixel) { - steel_drill_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - breakInto: ["metal_scrap", "steel", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"], - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", -} - - - -steel_drill_missile_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (pixel.die <= 0) { - deletePixel(pixel.x, pixel.y) +drill_missile_function = function(pixel, dif_x, dif_y) { + if (pixel.die == 0) { + deletePixel(pixel.x, pixel.y); explodeAt(pixel.x, pixel.y, 15); - return true + return; }; - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - pixel.primed = true - if (elements[pxl.element].hardness <= 0.8) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) { + pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y]; + if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) { + pixel.primed = true; + if (elements[pxl.element].hardness <= elements[pixel.element].hardness || elements[pxl.element].hardness == undefined) { + deletePixel(pxl.x, pxl.y); }; } else if (pixel.primed) { - pixel.die-- - return true + pixel.die--; + return; }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y); } - else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { - deletePixel(pixel.x, pixel.y) + else if (outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) { + deletePixel(pixel.x, pixel.y); explodeAt(pixel.x, pixel.y, 15); }; - doDefaults(pixel); -} +}; -elements.steel_drill_missile_LEFT = { - color: steel_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - steel_drill_missile_function(pixel,pixel.x-1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.steel_drill_missile_RIGHT = { - color: steel_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - steel_drill_missile_function(pixel,pixel.x+1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.steel_drill_missile_UP = { - color: steel_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - steel_drill_missile_function(pixel,pixel.x,pixel.y-1); - }, - category: "Drills", - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.steel_drill_missile_DOWN = { - color: steel_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - steel_drill_missile_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - density: 10000, - hardness: 0.8, - conduct: 1, - state: "solid", - maxSize: 1, -} - - - -diamond_drill_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - if (elements[pxl.element].hardness <= 0.99) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; +reverse_drill_function = function(pixel, dif_x, dif_y, drill_element) { + if (!outOfBounds(pixel.x + dif_x, pixel.y + dif_y)) { + if (!isEmpty(pixel.x + dif_x, pixel.y + dif_y)) { + pxl = pixelMap[pixel.x + dif_x][pixel.y + dif_y]; + if (elements[pxl.element].hardness <= elements[pixel.element].hardness || elements[pxl.element].hardness == undefined) { + deletePixel(pxl.x, pxl.y); }; }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); + tryMove(pixel, pixel.x + dif_x, pixel.y + dif_y); }; - doDefaults(pixel); -} + if (isEmpty(pixel.x - dif_x, pixel.y - dif_y)) { + createPixel(drill_element, pixel.x - dif_x, pixel.y - dif_y); + }; +}; -elements.diamond_drill_LEFT = { - color: diamond_drill_Colour, + + +// elements +elements.steel_drill = { + color: "#71797e", + properties: { + x_direction: 0, + y_direction: 0, + }, tick: function(pixel) { - diamond_drill_function(pixel,pixel.x-1,pixel.y); + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + drill_function(pixel, pixel.x_direction, pixel.y_direction); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"], + density: 7850, + hardness: 0.8, + conduct: 0.42, + state: "solid", + maxSize: 1, +}; + +elements.diamond_drill = { + color: "#03fcec", + properties: { + x_direction: 0, + y_direction: 0, + }, + tick: function(pixel) { + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + drill_function(pixel, pixel.x_direction, pixel.y_direction); }, category: "Drills", breakInto: ["metal_scrap", "diamond", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], - density: 10000, + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"], + density: 3515, hardness: 0.99, - conduct: 1, + conduct: 0.01, state: "solid", -} + maxSize: 1, +}; -elements.diamond_drill_RIGHT = { - color: diamond_drill_Colour, +elements.void_drill = { + color: "#262626", + properties: { + x_direction: 0, + y_direction: 0, + }, tick: function(pixel) { - diamond_drill_function(pixel,pixel.x+1,pixel.y); + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + drill_function(pixel, pixel.x_direction, pixel.y_direction); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"], + density: 7850, + hardness: 1, + conduct: 0.01, + state: "solid", + maxSize: 1, +}; + +elements.steel_drill_missile = { + color: ["#71797e", "#ff0000"], + properties: { + x_direction: 0, + y_direction: 0, + die: -1, + primed: false, + }, + tick: function(pixel) { + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + if (pixel.die == -1) { + pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? ")); + }; + drill_missile_function(pixel, pixel.x_direction, pixel.y_direction); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"], + density: 7850, + hardness: 0.8, + conduct: 0.42, + state: "solid", + maxSize: 1, +}; + +elements.diamond_drill_missile = { + color: ["#03fcec", "#ff0000"], + properties: { + x_direction: 0, + y_direction: 0, + die: -1, + primed: false, + }, + tick: function(pixel) { + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + if (pixel.die == -1) { + pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? ")); + }; + drill_missile_function(pixel, pixel.x_direction, pixel.y_direction); }, category: "Drills", breakInto: ["metal_scrap", "diamond", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], - density: 10000, + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"], + density: 3515, hardness: 0.99, - conduct: 1, + conduct: 0.01, state: "solid", -} + maxSize: 1, +}; -elements.diamond_drill_UP = { - color: diamond_drill_Colour, +elements.void_drill_missile = { + color: ["#262626", "#ff0000"], + properties: { + x_direction: 0, + y_direction: 0, + die: -1, + primed: false, + }, tick: function(pixel) { - diamond_drill_function(pixel,pixel.x,pixel.y-1); + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + if (pixel.die == -1) { + pixel.die = Number(prompt("How many ticks (after priming) until explosion (enter as number)? ")); + }; + drill_missile_function(pixel, pixel.x_direction, pixel.y_direction); + }, + category: "Drills", + breakInto: ["metal_scrap", "void", "iron", "tin"], + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"], + density: 7850, + hardness: 1, + conduct: 0.01, + state: "solid", + maxSize: 1, +}; + +elements.steel_reverse_drill = { + color: "#e79717", //reverse drill colours are the hexidecimal for the origional drills but reversed + properties: { + x_direction: 0, + y_direction: 0, + }, + tick: function(pixel) { + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "steel"); + }, + category: "Drills", + breakInto: ["metal_scrap", "steel", "iron", "tin"], + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "molten_steel", "molten_iron", "molten_tin"], + density: 7850, + hardness: 0.8, + conduct: 0.42, + state: "solid", + maxSize: 1, +}; + +elements.diamond_reverse_drill = { + color: "#cecf30", //reverse drill colours are the hexidecimal for the origional drills but reversed + properties: { + x_direction: 0, + y_direction: 0, + }, + tick: function(pixel) { + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); + }; + }; + reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "diamond"); }, category: "Drills", breakInto: ["metal_scrap", "diamond", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], - density: 10000, + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "diamond", "molten_iron", "molten_tin"], + density: 3515, hardness: 0.99, - conduct: 1, - state: "solid", -} - -elements.diamond_drill_DOWN = { - color: diamond_drill_Colour, - tick: function(pixel) { - diamond_drill_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - breakInto: ["metal_scrap", "diamond", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"], - density: 10000, - hardness: 0.99, - conduct: 1, - state: "solid", -} - - - -diamond_drill_missile_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (pixel.die <= 0) { - deletePixel(pixel.x, pixel.y) - explodeAt(pixel.x, pixel.y, 15); - return true - }; - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - pixel.primed = true - if (elements[pxl.element].hardness <= 0.99) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - }; - } - else if (pixel.primed) { - pixel.die-- - return true - }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); - } - else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { - deletePixel(pixel.x, pixel.y) - explodeAt(pixel.x, pixel.y, 15); - }; - doDefaults(pixel); -} - -elements.diamond_drill_missile_LEFT = { - color: diamond_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - diamond_drill_missile_function(pixel,pixel.x-1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 0.99, - conduct: 1, + conduct: 0.01, state: "solid", maxSize: 1, -} +}; -elements.diamond_drill_missile_RIGHT = { - color: diamond_drill_missile_Colour, +elements.void_reverse_drill = { + color: "#626262", //reverse drill colours are the hexidecimal for the origional drills but reversed properties: { - die: 5, - primed: false, + x_direction: 0, + y_direction: 0, }, tick: function(pixel) { - diamond_drill_missile_function(pixel,pixel.x+1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 0.99, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.diamond_drill_missile_UP = { - color: diamond_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - diamond_drill_missile_function(pixel,pixel.x,pixel.y-1); - }, - category: "Drills", - density: 10000, - hardness: 0.99, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.diamond_drill_missile_DOWN = { - color: diamond_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - diamond_drill_missile_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - density: 10000, - hardness: 0.99, - conduct: 1, - state: "solid", - maxSize: 1, -} - - - -void_drill_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - if (elements[pxl.element].hardness <= 1) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; + if (pixel.x_direction == 0 && pixel.y_direction == 0) { + pixel.x_direction = Number(prompt("Move left, right or neither (Type: -1, 1 or 0 respectively)? ")); + if (pixel.x_direction == 0) { + pixel.y_direction = Number(prompt("Move up or down (Type: -1 or 1 respectively)? ")); }; }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); - }; - doDefaults(pixel); -} - -elements.void_drill_LEFT = { - color: void_drill_Colour, - tick: function(pixel) { - void_drill_function(pixel,pixel.x-1,pixel.y); + reverse_drill_function(pixel, pixel.x_direction, pixel.y_direction, "void"); }, category: "Drills", breakInto: ["metal_scrap", "void", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], - density: 10000, + tempHigh: 1455.5, + stateHigh: ["molten_aluminium", "void", "molten_iron", "molten_tin"], + density: 7850, hardness: 1, - conduct: 1, - state: "solid", -} - -elements.void_drill_RIGHT = { - color: void_drill_Colour, - tick: function(pixel) { - void_drill_function(pixel,pixel.x+1,pixel.y); - }, - category: "Drills", - breakInto: ["metal_scrap", "void", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", -} - -elements.void_drill_UP = { - color: void_drill_Colour, - tick: function(pixel) { - void_drill_function(pixel,pixel.x,pixel.y-1); - }, - category: "Drills", - breakInto: ["metal_scrap", "void", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", -} - -elements.void_drill_DOWN = { - color: void_drill_Colour, - tick: function(pixel) { - void_drill_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - breakInto: ["metal_scrap", "void", "iron", "tin"], - tempHigh: 10000, - stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"], - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", -} - - - -void_drill_missile_function = function(pixel, dif_x, dif_y) { - dif_x = dif_x-pixel.x - dif_y = dif_y-pixel.y - if (pixel.die <= 0) { - deletePixel(pixel.x, pixel.y) - explodeAt(pixel.x, pixel.y, 15); - return true - }; - if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) { - pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y] - if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) { - pixel.primed = true - if (elements[pxl.element].hardness <= 1) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - } - else if (elements[pxl.element].hardness == undefined) { - delete pixelMap[pixel.x+dif_x][pixel.y+dif_y]; - }; - } - else if (pixel.primed) { - pixel.die-- - return true - }; - tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y); - } - else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) { - deletePixel(pixel.x, pixel.y) - explodeAt(pixel.x, pixel.y, 15); - }; - doDefaults(pixel); -} - -elements.void_drill_missile_LEFT = { - color: void_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - void_drill_missile_function(pixel,pixel.x-1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 1, - conduct: 1, + conduct: 0.01, state: "solid", maxSize: 1, -} - -elements.void_drill_missile_RIGHT = { - color: void_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - void_drill_missile_function(pixel,pixel.x+1,pixel.y); - }, - category: "Drills", - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.void_drill_missile_UP = { - color: void_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - void_drill_missile_function(pixel,pixel.x,pixel.y-1); - }, - category: "Drills", - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", - maxSize: 1, -} - -elements.void_drill_missile_DOWN = { - color: void_drill_missile_Colour, - properties: { - die: 5, - primed: false, - }, - tick: function(pixel) { - void_drill_missile_function(pixel,pixel.x,pixel.y+1); - }, - category: "Drills", - density: 10000, - hardness: 1, - conduct: 1, - state: "solid", - maxSize: 1, -} +}; \ No newline at end of file diff --git a/mods/heatshield.js b/mods/heatshield.js new file mode 100644 index 00000000..6ef26a71 --- /dev/null +++ b/mods/heatshield.js @@ -0,0 +1,30 @@ +elements.ablative_shield = { + color: "#d6999c", + behavior: behaviors.WALL, + category: "solids", + state: "solid", + tempHigh: 2760, + stateHigh: "smoke", + conduct: 0.01, +}; +elements.molten_reusable = { + color: "#ff9900", + behavior: behaviors.MOLTEN, + category: "states", + state: "liquid", + hidden: 1, + temp: 1261, + tempLow: 1259, + stateLow: "reusable_shield", +}; +elements.reusable_shield = { + color: "#3c3c3c", + behavior: behaviors.WALL, + category: "solids", + state: "solid", + tempHigh: 1260, + stateHigh: "molten_reusable", + conduct: 0.01, +}; +elements.plasma.temp = 2800 +; diff --git a/mods/noblegas.js b/mods/noblegas.js index ff9aadfd..c8b60a34 100644 --- a/mods/noblegas.js +++ b/mods/noblegas.js @@ -106,7 +106,7 @@ elements.frozen_xenon = { elements.radon = { color: elements.neon.color, behavior: behaviors.GAS, - colorOn: ["#3dd3cb","#32f7e7","#31c0a8"], + colorOn: ["#d33d83","#f7327d","#c0316d"], category: "gases", state: "gas", conduct: 0.8, @@ -156,7 +156,7 @@ elements.radon = { elements.liquid_radon = { color: elements.neon.color, behavior: behaviors.LIQUID, - colorOn: ["#3dd3cb","#32f7e7","#31c0a8"], + colorOn: ["#d33d83","#f7327d","#c0316d"], category: "states", state: "liquid", tempHigh: -58, @@ -170,7 +170,7 @@ elements.liquid_radon = { elements.frozen_radon = { color: elements.neon.color, behavior: behaviors.WALL, - colorOn: ["#3dd3cb","#32f7e7","#31c0a8"], + colorOn: ["#d33d83","#f7327d","#c0316d"], category: "states", state: "solid", tempHigh: -68, diff --git a/mods/nousersthings.js b/mods/nousersthings.js index 8dab88c2..f0ef3563 100644 --- a/mods/nousersthings.js +++ b/mods/nousersthings.js @@ -625,7 +625,7 @@ elements.e_pipe = { var x = pixel.x+coord[0]; var y = pixel.y+coord[1]; if (isEmpty(x,y)) { - createPixel("brick",x,y); + createPixel("pipe_wall",x,y); pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); } } @@ -870,7 +870,7 @@ elements.channel_pipe = { var x = pixel.x+coord[0]; var y = pixel.y+coord[1]; if (isEmpty(x,y)) { - createPixel("brick",x,y); + createPixel("pipe_wall",x,y); pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); } } @@ -1110,7 +1110,7 @@ elements.bridge_pipe = { var x = pixel.x+coord[0]; var y = pixel.y+coord[1]; if (isEmpty(x,y)) { - createPixel("brick",x,y); + createPixel("pipe_wall",x,y); pixelMap[x][y].color = pixelColorPick(pixel,"#808080"); } } diff --git a/mods/nuf2.js b/mods/nuf2.js new file mode 100644 index 00000000..f34364f0 --- /dev/null +++ b/mods/nuf2.js @@ -0,0 +1,92 @@ +//Help me find bugs in my code, ok? I am just doing another test +elements.sand.name = "EEEEEEEEEEE_pick up my ass c0ck loldoewockecooffdsvifsjvjfso"; +elements.sand.behavior = behaviors.WALL; + +elements.water.name = "NEWater"; +elements.water.behavior = behaviors.POWDER; + +elements.unknown.name = "Player_456"; +elements.unknown.behavior = behaviors.POWDER; + +elements.dirty_water.name = "Water"; +elements.dirty_water.behavior = behaviors.WALL; + +elements.paint.name = "Gibberish_Typer"; +elements.paint.behavior = behaviors.LIQUID; + +elements.primordial_soup.name = "annoying_space"; +elements.primordial_soup.behavior = behaviors.WALL; + +//I want to make this a real element soon +elements.diamond.name = "Gravitite"; +elements.diamond.behavior = behaviors.AGPOWDER; +elements.diamond.color = ["#f7adda","#ff80f2","#c421a3","#981a92","#ec32e3","#f062f0"]; + +elements.permafrost.name = "Frozen_testicle"; +//why did I make this - Fivey1777 + +elements.mudstone.name = "Testicle"; + +elements.molten_dirt.name = "Molten_testicle"; + +elements.stained_glass.name = "Wisp_3"; +elements.glass.name = "Wisp_1"; +elements.rad_glass.name = "Wisp_2"; + +elements.molten_stained_glass.name = "Wisp_3"; +elements.molten_glass.name = "Wisp_1"; +elements.molten_rad_glass.name = "Wisp_2"; + +elements.dirt.name = "Jiggly_ball"; +elements.mud.name = "Wet_ball"; +elements.rock.name = "Gabbro"; +elements.rock_wall.name = "Gabbro_wall"; +elements.rime.name = "Ice_extension"; +elements.steam.name = "NEWSteam"; +elements.erase.name = "Pick_up"; + +elements.sand_exploder = { + color: "#e6d577", + category: "tools", + tool: function(pixel) { + if (pixel.element == "sand") { + pixel.element = "explosion" + }, + buttonGlow: "#00d5ff" + }; + +elements.sell = { + color: ["#fff0b5","#ffe680","#c48821","#986a1a","#eca832","#f0bb62"], + tool: function(pixel) { + pixel.element = "gold_coin", + }, + category: "tools", + desc: "Sells item in exchange for high-quality Gold Coins", +}; + +elements.dark_web_sell = { + color: ["#f7adda","#ff80f2","#c421a3","#981a92","#ec32e3","#f062f0"], + tool: function(pixel) { + pixel.element = "diamond", + }, + category: "tools", + desc: "Sells item in exchange for high-quality Gravitite" +}; + +elements.buy = elements.bless; +elements.tomato_sauce = elements.blood; +elements.electron = elements.electric; +elements.protium = elements.hydrogen; +elements.neutrino = elements.neutron; +elements.up_quark_up_quark_up_quark = elements.warp; +elements.up_quark_up_quark_down_quark = elements.proton; +elements.up_quark_down_quark_down_quark = elements.neutron; +elements.down_quark_down_quark_down_quark = elements.warp; +elements.strange_quark = elements.strange_matter; +elements.antiquark = elements.antimatter; +elements.charm_quark = elements.porcelain_shard; +elements.top_quark = elements.porcelain_shard; +elements.bottom_quark = elements.porcelain_shard; + + +//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\vvhy am i doing this idk #1a24bc diff --git a/mods/ru_expanded.js b/mods/ru_expanded.js new file mode 100644 index 00000000..17c8e3d1 --- /dev/null +++ b/mods/ru_expanded.js @@ -0,0 +1,25 @@ +// Based off cs_expanded + +// Made by Kopalecek (also known as davistudios or sylas) and Bufka2011 + +const reqCode = 'ru' // Change this to the lang code you want. + +const menu = { // Just change the values in this. + pauseButton: 'Пауза', + resetButton: 'Сброс', + replaceButton: 'Замена', + elemSelectButton: 'Э', + tpsButton: 'TPS', + infoButton: 'Инфо', + savesButton: 'Сохранения', + modsButton: 'Моды', + settingsButton: 'Настройки', + changelogButton: 'Чейнджлог', +} + + +if (langCode == reqCode) { + Object.keys(menu).forEach(key => { + document.getElementById(key).textContent = menu[key] + }) +}