Merge branch 'R74nCom:main' into main

This commit is contained in:
Nekonico 2025-01-25 18:17:17 -08:00 committed by GitHub
commit 76ab0fe28e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 641 additions and 572 deletions

View File

@ -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"
}

View File

@ -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ő",

View File

@ -479,7 +479,7 @@
"prop":"реквизит",
"salt_ice":"солёный лёд",
"sugar_ice":"сладкий лёд",
"seltzer_ice":"селтизерный лёд",
"seltzer_ice":"минеральный лёд",
"dirty_ice":"грязный лёд",
"pool_ice":"лёд в бассейне",
"blood_ice":"кровяной лёд",

View File

@ -135,7 +135,7 @@
<tr><td>velocity.js</td><td>Beta for explosion velocity, and later wind, which may come to the base game in the future</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
<!----><tr><td class="modCat" colspan="3">Tools & Settings</td></tr><!---->
<!-- <tr><td>adjustablepixelsize.js</td><td>Allows you to set the pixelSize with a URL parameter</td><td>Alice</td></tr> -->
<!--<tr><td>adjustablepixelsize.js</td><td>Allows you to set the pixelSize with a URL parameter</td><td>Alice</td></tr>-->
<tr><td>betaworldgen.js</td><td>adds a more advanced world generation to the game</td><td>Adora</td></tr>
<tr><td>betterModManager.js</td><td>Improvements to the Mod Manager</td><td>ggod</td></tr>
<tr><td>betterSettings.js</td><td>Adds additional settings and functionality</td><td>ggod</td></tr>
@ -186,7 +186,6 @@
<tr><td>bioooze_and_pyrogens.js</td><td>Adds Bio-Ooze from <a herf="https://frackinuniverse.miraheze.org/wiki/Main_Page">Frackin Universe</a> and several heat-producing materials from various games mods</td><td>Alice</td></tr>
<tr><td>boiling_things.js</td><td>Allows for various elements to be vaporized</td><td>Alice</td></tr>
<tr><td>bouncing_balls.js</td><td>Adds new types of balls that bounce accurately and roll.</td><td>Nekonico</td></tr>
<tr><td>bromine.js</td><td>Adds bromine which emits an orange gas</td><td>Suss</td></tr>
<tr><td>chalcopyrite.js</td><td>Adds the chalcopyrite ore</td><td>Sophie</td></tr>
<tr><td>chem.js</td><td>Adds several chemistry and physics-related elements</td><td>lllllllllwith10ls</td></tr>
<tr><td>clf3.js</td><td>Adds Chlorine Trifluoride</td><td>Alice</td></tr>
@ -231,6 +230,7 @@
<tr><td>flipflop.js</td><td>Toggleable switches; <a href="https://github.com/R74nCom/sandboxels/pull/134">Explanation</a></td><td>Flix</td></tr>
<tr><td>fueled_generators.js</td><td>Fuel powered generators.</td></tr>
<tr><td>gameOfLife.js</td><td>Conway's Game of Life on a screen</td><td>ggod</td></tr>
<tr><td>heatshield.js</td><td>adds heatshields, makes plasma cooler</td></td><td>Taterbob</td></tr>
<tr><td>logicgates.js</td><td>Adds predictable electricity and logic gates</td><td>nousernamefound</td></tr>
<tr><td>note_block.js</td><td>Adds musical Note Blocks</td><td>Alice</td></tr>
<tr><td>nousersthings.js</td><td>Destroyable machines, pipe variants, filters, and more</td><td>nousernamefound</td></tr>
@ -285,6 +285,7 @@
<tr><td>biology.js</td><td>Adds various elements and functions that let you build your own organism.</td><td>Nekonico</td></tr>
<tr><td>cat.js</td><td>Adds cats and cat food</td><td>SquareScreamYT</td></tr>
<tr><td>cells.js</td><td>Adds several experimental edits of the Cell element</td><td>Alice</td></tr>
<tr><td>children.js</td><td>Adds pesky little gremlins</td><td>Taterbob</td></tr>
<tr><td>colonies.js</td><td>Adds rockets that contain settlers to terraform a planet.</td><td>Nekonico</td></tr>
<tr><td>crimson.js</td><td>Adds elements relating to the Crimson from Terraria</td><td>Alice</td></tr>
<tr><td>dogs.js</td><td>Adds a simple dog and dog food</td><td>hedera-ivy</td></tr>
@ -323,6 +324,7 @@
<tr><td>all_around_fillers.js</td><td>Adds directional Filler variants</td><td>idk73248</td></tr>
<tr><td>allliquids.js</td><td>Made all elements liquids</td><td>Adora</td></tr>
<tr><td>amogus.js</td><td>Adds a small amogus structure</td><td>Alice</td></tr>
<tr><td>bfdi.js</td><td>Adds several references to bfdi</td><td>Taterbob</td></tr>
<tr><td>citybuilding.js</td><td>Adds seeds that create miniature buildings and other city-related items</td><td>SquareScreamYT</td></tr>
<tr><td>collab_mod.js</td><td>Created by multiple people, adds random things</td><td>mrapple, ilikepizza, stefanblox</td></tr>
<tr><td>doom.js</td><td>As seen on TikTok - Select the Doom element to start, WASD</td><td>ggod</td></tr>

View File

@ -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",

145
mods/bfdi.js Normal file
View File

@ -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" }
},
};

View File

@ -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,
}

14
mods/children.js Normal file
View File

@ -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"}
},
};

31
mods/cs_expanded.js Normal file
View File

@ -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]
})
}

View File

@ -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,
}
};

30
mods/heatshield.js Normal file
View File

@ -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
;

View File

@ -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,

View File

@ -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");
}
}

92
mods/nuf2.js Normal file
View File

@ -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

25
mods/ru_expanded.js Normal file
View File

@ -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]
})
}