Merge branch 'R74nCom:main' into main
This commit is contained in:
commit
cb4fd4416c
|
|
@ -16265,7 +16265,7 @@ Cancer, Landmine, Grenade, Smoke Grenade">?</span> <input type="button" value="O
|
|||
<!-- <p>If you'd like to support us, consider donating on <a href="https://www.paypal.com/donate/?hosted_button_id=GCX4VHQ7SZWTN" target="_blank">PayPal</a> or <a href="https://cash.app/$emojiartist" target="_blank" title="$emojiartist">CashApp</a>, or subscribing on Discord.</p> -->
|
||||
<p>Business inquiries? Education stories? Help needed? Email us at <a href="mailto:contact@r74n.com">contact@R74n.com</a>!</p>
|
||||
<p>More links: <a href="https://sandboxels.R74n.com/help" rel="help">Help</a> • <a href="https://sandboxels.R74n.com/tips">Tips</a> • <a href="https://sandboxels.R74n.com/mod-list">Mods</a> • <a href="https://sandboxels.R74n.com/mobile-use">Mobile</a> • <a href="https://sandboxels.R74n.com/offline-use">Offline</a> • <a href="https://R74n.com/privacy">Privacy</a></p>
|
||||
<p>Thanks to: Serioustar, WeiChei, Midi_png, ggod, personman, fnl4y, PitsPower, kaeud, Trent, u2ce</p>
|
||||
<p>Thanks to: Serioustar, ggod, Midi_png, personman, fnl4y, PitsPower, swagg boi, kaeud, WeiChei, Trent, u2ce</p>
|
||||
<p style="display:none" id="langCredit">Translation by R74n</p>
|
||||
<p>Sandboxels is developed by R74n. Check out <a href="https://R74n.com" rel="author" target="_blank">our other projects</a>!</p>
|
||||
<script>
|
||||
|
|
|
|||
48
lang/hu.json
48
lang/hu.json
|
|
@ -167,7 +167,7 @@
|
|||
"clay":"agyag",
|
||||
"clay_soil":"agyagos_talaj",
|
||||
"brick":"tégla",
|
||||
"ruins":"romok",
|
||||
"ruins":"romos_tégla",
|
||||
"porcelain":"porcelán",
|
||||
"sapling":"csemete",
|
||||
"pinecone":"toboz",
|
||||
|
|
@ -319,8 +319,8 @@
|
|||
"particleboard":"farostlemez",
|
||||
"skin":"bőr",
|
||||
"hair":"haj",
|
||||
"alcohol":"szesz",
|
||||
"alcohol_gas":"szeszgőz",
|
||||
"alcohol":"alkohol",
|
||||
"alcohol_gas":"alkoholgőz",
|
||||
"basalt":"bazalt",
|
||||
"tuff":"tufa",
|
||||
"molten_tuff":"olvadt_tufa",
|
||||
|
|
@ -452,7 +452,7 @@
|
|||
"nuke":"atombomba",
|
||||
"h_bomb":"hidrogénbomba",
|
||||
"dirty_bomb":"piszkos_bomba",
|
||||
"emp_bomb":"EMI-bomba",
|
||||
"emp_bomb":"EMP-bomba",
|
||||
"nitro":"nitroglicerin",
|
||||
"greek_fire":"görögtűz",
|
||||
"fireball":"tűzgolyó",
|
||||
|
|
@ -504,7 +504,7 @@
|
|||
"broth_ice":"fagyott_leves_leve",
|
||||
"frozen_vinegar":"fagyott_ecet",
|
||||
"sauce_ice":"fagyott_szósz",
|
||||
"alcohol_ice":"fagyott_szesz",
|
||||
"alcohol_ice":"fagyott_alkohol",
|
||||
"bleach_ice":"fagyott_fehérítő",
|
||||
"chlorine_ice":"fagyott_klór",
|
||||
"frozen_ink":"fagyott_tinta",
|
||||
|
|
@ -519,25 +519,25 @@
|
|||
"molten_alga":"olvadt_alumínium-gallim_ötvözet",
|
||||
"molten_metal_scrap":"olvadt_fémtörmelék",
|
||||
"molten_borax":"olvadt_borax",
|
||||
"molten_epsom_salt":"olvadt-epsom-só",
|
||||
"molten_potassium_salt":"olvadt:kálium_só",
|
||||
"molten_epsom_salt":"olvadt_epsom-só",
|
||||
"molten_potassium_salt":"olvadt_kálium_só",
|
||||
"molten_sodium_acetate":"olvadt_nátrium-acetát",
|
||||
"frozen_nitro":"fagyott_nitroglicerin",
|
||||
"cured_meat": "",
|
||||
"nut_oil": "",
|
||||
"grease": "",
|
||||
"fat": "",
|
||||
"potassium": "",
|
||||
"molten_potassium": "",
|
||||
"magnesium": "",
|
||||
"molten_magnesium": "",
|
||||
"cured_meat": "sózott_hús",
|
||||
"nut_oil": "mogyoróolaj",
|
||||
"grease": "zsiradék",
|
||||
"fat": "zsír",
|
||||
"potassium": "kálium",
|
||||
"molten_potassium": "olvadt_kálium",
|
||||
"magnesium": "magnézium",
|
||||
"molten_magnesium": "olvadt_magnézium",
|
||||
"sandstorm": "",
|
||||
"caustic_potash": "",
|
||||
"antibomb": "",
|
||||
"tornado": "",
|
||||
"earthquake": "",
|
||||
"tsunami": "",
|
||||
"blaster": "",
|
||||
"propane_ice": "",
|
||||
"molten_caustic_potash": ""
|
||||
}
|
||||
"caustic_potash": "kálium-hidroxid",
|
||||
"antibomb": "antibomba",
|
||||
"tornado": "tornádó",
|
||||
"earthquake": "földrengés",
|
||||
"tsunami": "cunami",
|
||||
"blaster": "plazmavető",
|
||||
"propane_ice": "fagyott_propán",
|
||||
"molten_caustic_potash": "Olvadt_kálium-hidroxid"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@
|
|||
<!----><tr><td class="modCat" colspan="3">Science & Chemistry</td></tr><!---->
|
||||
<tr><td>alcohol.js</td><td>Adds methanol, (iso-)propanol, and butanol</td><td>Alice</td></tr>
|
||||
<tr><td>alkahest.js</td><td>Adds the alkahest, a liquid which dissolves anything</td><td>Alice</td></tr>
|
||||
<tr><td>aScientistsWish.js</td><td>Adds things that related to science, especially radiation</td><td>Carbon Monoxide, CPU</td></tr>
|
||||
<tr><td>bigger_star_spawners.js</td><td>Adds spawners for larger stars</td><td>Alice</td></tr>
|
||||
<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>
|
||||
|
|
@ -266,7 +267,6 @@
|
|||
<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>citybuilding.js</td><td>Adds seeds that create miniature buildings and other city-related items</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>CoCpu.js</td><td>Adds Things that Related with Science and Computers Knowledge</td><td>Carbon Monoxide, CPU</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>elem3.js</td><td>Adds all elements and combinations from Elemental 3 [Very Large]</td><td>Sophie</td></tr>
|
||||
<tr><td>fools+.js</td><td>improves and makes fools.js EXTREMELY annoying.</td><td>SquareScreamYT</td></tr>
|
||||
|
|
|
|||
111
mods/CoCpu.js
111
mods/CoCpu.js
|
|
@ -1,111 +0,0 @@
|
|||
elements.carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.GAS,
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"XX|CH:fire|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 1.14,
|
||||
burn: 75,
|
||||
tempHigh: 609,
|
||||
stateHigh: "fire",
|
||||
tempLow: -192,
|
||||
stateLow: "liquid_carbon_monoxide",
|
||||
burntime: 5,
|
||||
fireColor: "#ebba34",
|
||||
reactions: {
|
||||
"head": { elem2:"rotten_meat", chance:0.5 },
|
||||
"body": { elem2:"rotten_meat", chance:0.5 },
|
||||
"human": { elem2:"rotten_meat", chance:0.5 },
|
||||
"plant": { elem1: null },
|
||||
"bird": { elem2: "rotten_meat", },
|
||||
"frog": { elem2: "slime", },
|
||||
"grass": {elem1: null },
|
||||
"water": {elem1: null },
|
||||
}
|
||||
};
|
||||
elements.liquid_carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1.14,
|
||||
tempHigh: 190,
|
||||
tempLow: -199,
|
||||
stateLow: "ice_carbon_monoxide",
|
||||
stateHigh: "carbon_monoxide",
|
||||
temp: -192,
|
||||
};
|
||||
elements.ice_carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1.14,
|
||||
tempHigh: -192,
|
||||
stateHigh: "liquid_carbon_monoxide",
|
||||
temp: -199,
|
||||
};
|
||||
elements.cpu = {
|
||||
color: "#575757",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
density: 75,
|
||||
tempHigh: 1414,
|
||||
stateHigh: "explosion",
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"battery": { elem2:"computer" },
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
elements.computer = {
|
||||
color: "#2b2b2a",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
density: 8908,
|
||||
tempHigh: 1414,
|
||||
stateHigh: "explosion",
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"water": { elem1: null , elem2: "electric" },
|
||||
}
|
||||
};
|
||||
elements.carbon_monoxide_detector = {
|
||||
behavior: behaviors.WALL,
|
||||
desc: "give red light and electric when found Carbon Monoxide touch",
|
||||
color: "#ffffff",
|
||||
reactions: {
|
||||
"carbon_monoxide": {"charge1":1},
|
||||
},
|
||||
conduct: 1,
|
||||
tempHigh: 1550,
|
||||
stateHigh: ["molten_metal_scrap","electric","molten_plastic"],
|
||||
colorOn: "#ff0000",
|
||||
movable: false,
|
||||
category:"machines",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
};
|
||||
|
||||
elements.electrons = {
|
||||
color: "#b80606",
|
||||
behavior: [
|
||||
"XX|SH|XX", // shocks (adds charge)
|
||||
"SH|DL%0.25|SH",
|
||||
"XX|SH|XX",
|
||||
],
|
||||
tick: behaviors.BOUNCY,
|
||||
reactions: {},
|
||||
temp: 20,
|
||||
category: "energy",
|
||||
state: "gas",
|
||||
density: 0.000003,
|
||||
ignoreAir: true
|
||||
}
|
||||
|
|
@ -1,24 +1,25 @@
|
|||
// this is a epic mod
|
||||
|
||||
let heatSen = null;
|
||||
heatSen = null;
|
||||
elements.heatSensor = {
|
||||
|
||||
|
||||
color: "#ff0000",
|
||||
conduct: 1,
|
||||
conduct: 0.1,
|
||||
category:"test",
|
||||
behavior: behaviors.WALL,
|
||||
|
||||
onSelect: function(pixel){
|
||||
setTemp = parseInt(prompt("Enter the temperature you want it to sense. zero will not work", (heatSen || undefined)));
|
||||
heatSen = prompt("Enter the temperature you want it to sense" );
|
||||
|
||||
},
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
|
||||
|
||||
|
||||
if (pixel.temp >= heatSen ) {
|
||||
pixel.charge = 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -26,15 +27,13 @@ elements.heatSensor = {
|
|||
|
||||
};
|
||||
|
||||
let itemA = "steam";
|
||||
|
||||
elements.SteamTurbine = {
|
||||
behavior: behaviors.WALL,
|
||||
desc: "When steam touches it, it conducts electricity and the steam pixel is deleted",
|
||||
color: "#826c6e",
|
||||
color: "#826c6e",
|
||||
tick: function(pixel) {
|
||||
if(pixel.start == pixelTicks){
|
||||
pixel.clone = itemA;
|
||||
}
|
||||
|
||||
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
|
|
@ -42,7 +41,7 @@ elements.SteamTurbine = {
|
|||
var y = pixel.y + coords[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
var sensed = pixelMap[x][y];
|
||||
if (sensed.element == pixel.clone) {
|
||||
if (sensed.element == 'steam' ||sensed.element == 'rad_steam' ) {
|
||||
deletePixel(x,y);
|
||||
pixel.charge = 5;
|
||||
break;
|
||||
|
|
@ -131,15 +130,13 @@ elements.gasoline = {
|
|||
stain: -0.25,
|
||||
}
|
||||
|
||||
let itemB = "light";
|
||||
|
||||
elements.solar_panel = {
|
||||
behavior: behaviors.WALL,
|
||||
desc: "When light touches it, it conducts electricity and the light pixel is deleted",
|
||||
color: "#bebfa3",
|
||||
tick: function(pixel) {
|
||||
if(pixel.start == pixelTicks){
|
||||
pixel.clone = itemB;
|
||||
}
|
||||
|
||||
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
|
|
@ -147,7 +144,7 @@ elements.solar_panel = {
|
|||
var y = pixel.y + coords[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
var sensed = pixelMap[x][y];
|
||||
if (sensed.element == pixel.clone) {
|
||||
if (sensed.element == 'light') {
|
||||
deletePixel(x,y);
|
||||
pixel.charge = 5;
|
||||
break;
|
||||
|
|
@ -367,9 +364,10 @@ elements.Android = {
|
|||
|
||||
|
||||
elements.AndroidBody = {
|
||||
|
||||
color: ["#a1ada5","#ebf5ee","#bac2bc","#848a86","#505251"],
|
||||
category: "life",
|
||||
breakInto: ["oil","metal_scrap","explosion"],
|
||||
breakInto: ["oil","metal_scrap","pop"],
|
||||
properties: {
|
||||
dead: false,
|
||||
dir: 1,
|
||||
|
|
@ -395,7 +393,7 @@ elements.AndroidBody = {
|
|||
if (pixel.dead) {
|
||||
// Turn into rotten_meat if pixelTicks-dead > 500
|
||||
if (pixelTicks-pixel.dead > 200 && Math.random() < 0.1) {
|
||||
changePixel(pixel,"rotten_meat");
|
||||
changePixel(pixel,"rust");
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
@ -465,7 +463,7 @@ elements.AndroidHead = {
|
|||
state: "solid",
|
||||
conduct: .05,
|
||||
temp: 69,
|
||||
breakInto: ["oil","metal_scrap","explosion"],
|
||||
breakInto: ["oil","metal_scrap","pop"],
|
||||
};
|
||||
|
||||
listPipes = "pipe"
|
||||
|
|
@ -506,71 +504,10 @@ elements.ajustableHeater = {
|
|||
insulate:true
|
||||
};
|
||||
|
||||
//old grinder
|
||||
// elements.grinder = {
|
||||
// color: ["#a1ada5","#ebf5ee","#bac2bc","#848a86","#505251"],
|
||||
// category: "machines",
|
||||
// density: 1080,
|
||||
// state: "solid",
|
||||
// conduct: 1,
|
||||
// movable: false,
|
||||
|
||||
// ignore: "grinder",
|
||||
|
||||
// tick: function(pixel) {
|
||||
// for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
// var coords = adjacentCoords[i];
|
||||
// var x = pixel.x + coords[0];
|
||||
// var y = pixel.y + coords[1];
|
||||
// if (!isEmpty(x,y,true)) {
|
||||
// var sensed = pixelMap[x][y];
|
||||
// if (sensed.con || elements[sensed.element].movable && pixel.charge > 0) {
|
||||
// breakPixel(sensed);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// doDefaults(pixel);
|
||||
// },
|
||||
// insulate:true
|
||||
|
||||
|
||||
|
||||
// };
|
||||
|
||||
|
||||
|
||||
elements.dead_plant.conduct = 1;
|
||||
// let compact = "dead_plant";
|
||||
// elements.compacter = {
|
||||
// behavior: behaviors.WALL,
|
||||
// color: "#bebfa3",
|
||||
// tick: function(pixel) {
|
||||
// if(pixel.start == pixelTicks){
|
||||
// pixel.clone = compact;
|
||||
// }
|
||||
|
||||
|
||||
// for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
// var coords = adjacentCoords[i];
|
||||
// var x = pixel.x + coords[0];
|
||||
// var y = pixel.y + coords[1];
|
||||
// if (!isEmpty(x,y,true)) {
|
||||
// var sensed = pixelMap[x][y];
|
||||
// if (sensed.element == pixel.clone && pixel.charge > 0) {
|
||||
// sensed.element = "coal"
|
||||
// sensed.color = elements.coal.color
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// doDefaults(pixel);
|
||||
// },
|
||||
// conduct: 1,
|
||||
// movable: false,
|
||||
// category:"machines",
|
||||
// darkText: true,
|
||||
// hardness: 1,
|
||||
// }
|
||||
compactPi = "dead_plant";
|
||||
compactPi2 = "coal";
|
||||
elements.compacter = {
|
||||
|
|
@ -703,60 +640,66 @@ elements.compacter = {
|
|||
|
||||
// thx to nousersthings mod for the filter
|
||||
// only adding this bc my freind told me so
|
||||
// im not good at javascript and coding so yeah
|
||||
// new and improved version which is not 100% copied from nouser but only about 5-10%
|
||||
|
||||
filterTypeVar = 0;
|
||||
elements.filter = {
|
||||
color: "#599fc2",
|
||||
|
||||
desc: "A filter made by nouser",
|
||||
onSelect: function() {
|
||||
logMessage("Needs to be 1 pixel thick");
|
||||
var answer4 = prompt("Please input the desired element of this filter. It is case senstive.",(filterTypeVar||undefined));
|
||||
if (!answer4) { return }
|
||||
filterTypeVar = answer4;
|
||||
},
|
||||
color: "#414c4f",
|
||||
|
||||
tick: function(pixel) {
|
||||
if (pixel.start === pixelTicks) {
|
||||
pixel.filterType = filterTypeVar
|
||||
}
|
||||
if (1 === 2) {
|
||||
for (var i = 0; i < squareCoords.length; i++) {
|
||||
var coord = squareCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
// createPixel("brick",x,y);
|
||||
// pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
|
||||
}
|
||||
}
|
||||
// pixel.stage = 1;
|
||||
}
|
||||
else if (1 === 2) { //uninitialized
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coord = adjacentCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (isEmpty(x,y)) {
|
||||
// pixel.stage = 2; //blue
|
||||
// pixel.color = pixelColorPick(pixel,"#000036");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (1 === 1) { //initialized
|
||||
|
||||
if (!pixel.stage && pixelTicks-pixel.start > 60) {
|
||||
for (var i = 0; i < squareCoords.length; i++) {
|
||||
var coord = squareCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true) && listPipes.includes(pixelMap[x][y].element)) {
|
||||
// delete this bc it makes the pipe walls
|
||||
// if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable) {
|
||||
// deletePixel(x,y)
|
||||
// }
|
||||
// if (isEmpty(x,y)) {
|
||||
// createPixel("pipe_wall",x,y);
|
||||
// }
|
||||
}
|
||||
pixel.stage = 2;
|
||||
}
|
||||
else if (pixel.stage === 1 && pixelTicks-pixel.start > 70) { //uninitialized
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coord = adjacentCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
pixel.stage = 2;
|
||||
// this makes the thing blue and keep pixel.stage = 2 cuz without it it breaks the code
|
||||
// if (isEmpty(x,y)) {
|
||||
// pixel.stage = 2; //blue
|
||||
// pixel.color = pixelColorPick(pixel,"#000036");
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
}
|
||||
else if (pixel.stage > 1 && pixelTicks % 3 === pixel.stage-2) { //initialized
|
||||
for (var i = 0; i < squareCoords.length; i++) {
|
||||
var coord = squareCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (newPixel.stage === 1) {
|
||||
var newColor;
|
||||
switch (pixel.stage) {
|
||||
// case 2: newPixel.stage = 3; newColor = "#003600"; break; //green
|
||||
// case 3: newPixel.stage = 4; newColor = "#360000"; break; //red
|
||||
// case 4: newPixel.stage = 2; newColor = "#000036"; break; //blue
|
||||
case 2: newPixel.stage = 3; newColor = "#003600"; break; //green
|
||||
case 3: newPixel.stage = 4; newColor = "#360000"; break; //red
|
||||
case 4: newPixel.stage = 2; newColor = "#000036"; break; //blue
|
||||
}
|
||||
// newPixel.color = pixelColorPick(newPixel,newColor);
|
||||
newPixel.color = pixelColorPick(newPixel,newColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -768,14 +711,12 @@ elements.filter = {
|
|||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (listPipes.includes(newPixel.element)) {
|
||||
if (newPixel.element === "pipe") {
|
||||
var nextStage;
|
||||
switch (pixel.stage) {
|
||||
// case 2: nextStage = 4; break; //green
|
||||
// case 3: nextStage = 2; break; //red
|
||||
// case 4: nextStage = 3; break; //blue
|
||||
|
||||
}
|
||||
if (pixel.con && !newPixel.con) { //transfer to adjacent pipe
|
||||
if (pixel.con && !newPixel.con && newPixel.stage === nextStage) { //transfer to jacent pipe
|
||||
newPixel.con = pixel.con;
|
||||
newPixel.con.x = newPixel.x;
|
||||
newPixel.con.y = newPixel.y;
|
||||
|
|
@ -784,18 +725,14 @@ elements.filter = {
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if (!pixel.con ) { //suck up pixel
|
||||
if (newPixel.element == pixel.filterType ) {
|
||||
|
||||
else if (!pixel.con && elements[newPixel.element].movable && newPixel.element == filterTypeVar) { //suck up pixel
|
||||
pixel.con = newPixel;
|
||||
|
||||
deletePixel(newPixel.x,newPixel.y);
|
||||
pixel.con.x = pixel.x;
|
||||
pixel.con.y = pixel.y;
|
||||
pixel.con.del;
|
||||
moved = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -804,7 +741,7 @@ elements.filter = {
|
|||
var coord = squareCoordsShuffle[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (isEmpty(x,y)) {
|
||||
if (isEmpty(x,y)) {
|
||||
delete pixel.con.del;
|
||||
pixel.con.x = x;
|
||||
pixel.con.y = y;
|
||||
|
|
@ -813,9 +750,9 @@ elements.filter = {
|
|||
pixel.con = null;
|
||||
break;
|
||||
}
|
||||
if (!isEmpty(x,y,true) && listPipes.includes(pixelMap[x][y].element)) {
|
||||
if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (pixel.con && !newPixel.con) {
|
||||
if (pixel.con && !newPixel.con && newPixel.stage === pixel.stage) {
|
||||
newPixel.con = pixel.con;
|
||||
newPixel.con.x = newPixel.x;
|
||||
newPixel.con.y = newPixel.y;
|
||||
|
|
@ -831,8 +768,6 @@ elements.filter = {
|
|||
category: "machines",
|
||||
movable: false,
|
||||
canContain: true,
|
||||
noMix: true,
|
||||
insulate: true,
|
||||
}
|
||||
|
||||
filterTypeVar2 = 0;
|
||||
|
|
@ -926,11 +861,7 @@ elements.Destructive_Filter = {
|
|||
moved = true;
|
||||
break;
|
||||
}
|
||||
else if(!(newPixel.element == "filter") && !(newPixel.element == "Destructive_Filter") && !doNotEF.includes(newPixel.element) ) {
|
||||
deletePixel(newPixel.x, newPixel.y);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1256,6 +1187,7 @@ elements.Acid_Bomb = {
|
|||
}
|
||||
|
||||
elements.E_Spout = {
|
||||
name: "E-Spout",
|
||||
color: "#606378",
|
||||
behavior: behaviors.WALL,
|
||||
behaviorOn: [
|
||||
|
|
@ -1269,7 +1201,6 @@ elements.E_Spout = {
|
|||
conduct: 1,
|
||||
}
|
||||
|
||||
|
||||
elements.DestroyableWire = {
|
||||
color: "#4d0a03",
|
||||
behavior: behaviors.WALL,
|
||||
|
|
@ -1356,54 +1287,6 @@ elements.pusherRight = {
|
|||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
||||
elements.missile = {
|
||||
behavior: behaviors.WALL,
|
||||
maxSize: 1,
|
||||
|
||||
properties: {
|
||||
luanched : false,
|
||||
},
|
||||
ignore: "pushTest",
|
||||
tick: function(pixel) {
|
||||
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
var x = pixel.x + coords[0];
|
||||
var y = pixel.y + coords[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
let sensed = pixelMap[x][y];
|
||||
if (!(sensed.element == "missile") && sensed.element && !(sensed.element == "fire") && !(sensed.element == "smoke") && pixel.luanched == true || pixel.y ==1 ||outOfBounds(pixel.x,pixel.y) ) {
|
||||
explodeAt(x, y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
explodeAt(x, y, 5, "molten_metal_scrap");
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
} else if(pixel.temp >= 100) {
|
||||
|
||||
pixel.luanched = true;
|
||||
pixel.clone = "fire";
|
||||
var newX = pixel.x ;
|
||||
var newY = pixel.y - 0.5;
|
||||
let test = createPixel("fire",pixel.x,pixel.y+2);
|
||||
tryMove(pixel,newX,newY,test);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"weapons",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
|
||||
|
||||
}
|
||||
|
||||
elements.NewWater = {
|
||||
color: elements.water.color,
|
||||
behavior : behaviors.LIQUID,
|
||||
|
|
@ -1645,78 +1528,209 @@ elements.guided_missile = {
|
|||
},
|
||||
properties: {
|
||||
luanched : false,
|
||||
speed :1,
|
||||
speed :2,
|
||||
AtY : false,
|
||||
},
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixel.start == pixelTicks){
|
||||
|
||||
if(pixel.temp >= 100) {
|
||||
|
||||
pixel.luanched = true;
|
||||
pixel.clone = "fire";
|
||||
var newX = pixel.x ;
|
||||
var newY = pixel.y - pixel.speed;
|
||||
|
||||
}
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
var x = pixel.x + coords[0];
|
||||
var y = pixel.y + coords[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
let sensed = pixelMap[x][y];
|
||||
if (!(sensed.element == "missile") &&!(sensed.element == "guided_missile") && sensed.element && !(sensed.element == "fire") && !(sensed.element == "smoke") && pixel.luanched == true || pixel.y ==1 ||outOfBounds(pixel.x,pixel.y)) {
|
||||
explodeAt(x, y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
explodeAt(x, y, 5, "molten_metal_scrap");
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
} else if(pixel.temp >= 100) {
|
||||
|
||||
pixel.luanched = true;
|
||||
pixel.clone = "fire";
|
||||
var newX = pixel.x ;
|
||||
var newY = pixel.y - pixel.speed;
|
||||
|
||||
|
||||
if (!(pixel.y == tarY) && pixel.y > tarY ) {
|
||||
let test = createPixel("fire",pixel.x,pixel.y+2);
|
||||
tryMove(pixel,newX,newY,test);
|
||||
pixel.AtY = true;
|
||||
|
||||
}
|
||||
else if(!(pixel.y == tarY) && pixel.y < tarY ){
|
||||
let test = createPixel("fire",pixel.x,pixel.y-2);
|
||||
tryMove(pixel,pixel.x,pixel.y + pixel.speed,test);
|
||||
pixel.AtY = true;
|
||||
|
||||
if (!(pixel.y == tarY) && pixel.y > tarY ) {
|
||||
if((!tarY-pixel.y === 1) || (!tarY-pixel.y === -1)) {
|
||||
let test = createPixel("fire",pixel.x,pixel.y+3);
|
||||
if(isEmpty(newX,newY)) {
|
||||
tryMove(pixel,newX,newY,);
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
}
|
||||
else if(pixel.AtY = true) {
|
||||
if(pixel.x > tarX) {
|
||||
let test = createPixel("fire",pixel.x,pixel.y);
|
||||
tryMove(pixel,pixel.x-pixel.speed,pixel.y,test);
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
pixel.AtY = true;
|
||||
} else {
|
||||
pixel.speed = 1;
|
||||
let test = createPixel("fire",pixel.x,pixel.y+3);
|
||||
if(isEmpty(newX,newY)) {
|
||||
tryMove(pixel,newX,newY,);
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
//pixel.AtY = true;
|
||||
}
|
||||
|
||||
}
|
||||
else if(!(pixel.y == tarY) && pixel.y < tarY ){
|
||||
if((!tarY-pixel.y === 1) || (!tarY-pixel.y === -1)) {
|
||||
let test = createPixel("fire",pixel.x,pixel.y-3);
|
||||
if(isEmpty(pixel.x,pixel.y+pixel.speed)) {
|
||||
tryMove(pixel,pixel.x,pixel.y + pixel.speed,);
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
else if(pixel.x < tarX) {
|
||||
let test = createPixel("fire",pixel.x,pixel.y);
|
||||
tryMove(pixel,pixel.x+pixel.speed,pixel.y,test);
|
||||
|
||||
|
||||
pixel.AtY = true;
|
||||
} else {
|
||||
pixel.speed = 1;
|
||||
let test = createPixel("fire",pixel.x,pixel.y-3);
|
||||
if(isEmpty(pixel.x,pixel.y+pixel.speed)) {
|
||||
tryMove(pixel,pixel.x,pixel.y - pixel.speed,);
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
else if (pixel.x == tarX){
|
||||
explodeAt(x, y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
explodeAt(x, y, 5, "molten_metal_scrap");
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//pixel.AtY = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
else if(pixel.AtY = true) {
|
||||
if(pixel.x > tarX) {
|
||||
pixel.speed = 2;
|
||||
let test = createPixel("fire",pixel.x,pixel.y);
|
||||
if(isEmpty(pixel.x-1,pixel.y)) {
|
||||
tryMove(pixel,pixel.x-pixel.speed,pixel.y,test);
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
}
|
||||
else if(pixel.x < tarX) {
|
||||
pixel.speed = 2;
|
||||
let test = createPixel("fire",pixel.x,pixel.y);
|
||||
if(isEmpty(pixel.x+2,pixel.y)) {
|
||||
tryMove(pixel,pixel.x+pixel.speed,pixel.y,test );
|
||||
} else {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if (pixel.x == tarX){
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
if(tarX-pixel.x == 1 || tarX-pixel.x == -1) {
|
||||
explodeAt(pixel.x, pixel.y, 13, ["fire","fire","plasma","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
doDefaults(pixel);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"test",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
elements.room_temp.category = "tools"
|
||||
elements.uncharge.category = "tools"
|
||||
elements.unburn.category = "tools"
|
||||
|
||||
|
||||
textures.Reniforced_Titanuim = {
|
||||
REINFORCEDTITANIUM: [
|
||||
"GiGgggGiGGg",
|
||||
"gggGGGGgggg",
|
||||
"iiiiiiiiiii",
|
||||
"GgGGggggGGg",
|
||||
"GggGGgggGGg",
|
||||
"igGGGgggggi",
|
||||
"GggggggGGGG",
|
||||
"GggGGgggggg",
|
||||
"Ggggggggggg",
|
||||
"ggggggGGggg",
|
||||
"Ggggggggggg",
|
||||
"iiiiiiiiiii",],
|
||||
|
||||
|
||||
}
|
||||
|
||||
elements.Reniforced_Titanuim = {
|
||||
color: "#787878",
|
||||
colorPattern: textures.Reniforced_Titanuim.REINFORCEDTITANIUM,
|
||||
colorKey: {
|
||||
"g": "#787878",
|
||||
"G": "#606060",
|
||||
"i": "#332f2f"},
|
||||
behavior: behaviors.WALL,
|
||||
|
||||
tempHigh: 4000,
|
||||
stateHigh : "molten_titanium",
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 5000,
|
||||
hardness:1,
|
||||
noMix: true
|
||||
}
|
||||
|
||||
|
||||
|
||||
elements.Missile_Up = {
|
||||
|
||||
maxSize: 1,
|
||||
|
||||
properties: {
|
||||
luanched : false,
|
||||
},
|
||||
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixel.temp >= 100) {
|
||||
pixel.luanched = true;
|
||||
if(isEmpty(pixel.x,pixel.y-1) ) {
|
||||
let exguast = createPixel("fire",pixel.x,pixel.y + 3)
|
||||
tryMove(pixel,pixel.x,pixel.y-2,);
|
||||
} else if(!isEmpty(pixel.x, pixel.y-1)) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
if(!(pixelMap[pixel.x][pixel.y-1] == "Missile_Down") || !(pixelMap[pixel.x][pixel.y-1] == "fire") ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"weapons",
|
||||
|
|
@ -1726,7 +1740,286 @@ elements.guided_missile = {
|
|||
|
||||
}
|
||||
|
||||
|
||||
elements.room_temp.category = "tools"
|
||||
elements.uncharge.category = "tools"
|
||||
elements.unburn.category = "tools"
|
||||
elements.Missile_Down = {
|
||||
|
||||
maxSize: 1,
|
||||
|
||||
properties: {
|
||||
luanched : false,
|
||||
},
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixel.temp >= 100) {
|
||||
pixel.luanched = true;
|
||||
if(isEmpty(pixel.x,pixel.y+2) ) {
|
||||
let exguast = createPixel("fire",pixel.x,pixel.y - 3)
|
||||
tryMove(pixel,pixel.x,pixel.y+2,);
|
||||
} else if(!isEmpty(pixel.x, pixel.y+1)) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
if(!(pixelMap[pixel.x][pixel.y+1] == "Missile_Down") || !(pixelMap[pixel.x][pixel.y-1] == "fire") ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"weapons",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
|
||||
|
||||
}
|
||||
elements.Missile_Left = {
|
||||
|
||||
maxSize: 1,
|
||||
|
||||
properties: {
|
||||
luanched : false,
|
||||
},
|
||||
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixel.temp >= 100) {
|
||||
pixel.luanched = true;
|
||||
if(isEmpty(pixel.x-1,pixel.y) ) {
|
||||
let exguast = createPixel("fire",pixel.x+3,pixel.y)
|
||||
tryMove(pixel,pixel.x-2,pixel.y);
|
||||
} else if( !isEmpty(pixel.x-1, pixel.y) && !isEmpty(pixel.x-2, pixel.y) && !outOfBounds(pixel.x-1,pixel.y) && !outOfBounds(pixel.x-2,pixel.y) ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
if(!(pixelMap[pixel.x-1][pixel.y] == "Missile_Down") || !(pixelMap[pixel.x][pixel.y-1] == "fire") ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"weapons",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
elements.Missile_Right = {
|
||||
|
||||
maxSize: 1,
|
||||
|
||||
properties: {
|
||||
luanched : false,
|
||||
},
|
||||
|
||||
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixel.temp >= 100) {
|
||||
pixel.luanched = true;
|
||||
if(isEmpty(pixel.x+1,pixel.y) ) {
|
||||
let exguast = createPixel("fire",pixel.x-3,pixel.y)
|
||||
tryMove(pixel,pixel.x+2,pixel.y);
|
||||
} else if( !isEmpty(pixel.x+1, pixel.y) && !isEmpty(pixel.x+2, pixel.y) && !outOfBounds(pixel.x+1,pixel.y) && !outOfBounds(pixel.x+2,pixel.y) ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
if(!(pixelMap[pixel.x+1][pixel.y] == "Missile_Down") || !(pixelMap[pixel.x][pixel.y+1] == "fire") ) {
|
||||
|
||||
explodeAt(pixel.x,pixel.y, 13 ,["fire","plasma","plasma","plasma"]);
|
||||
deletePixel(pixel.x,pixel.y)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
conduct: 1,
|
||||
movable: true,
|
||||
category:"weapons",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
|
||||
|
||||
}
|
||||
|
||||
elements.pancho = {
|
||||
tempHigh: 300,
|
||||
stateHigh: "steam",
|
||||
color: ["#bd8e0d","#0ec930","#ff0000","#fcf800"],
|
||||
singleColor: true,
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
state: "liquid"
|
||||
};
|
||||
|
||||
|
||||
//imma finnish rest later
|
||||
elements.pesticide = {
|
||||
category: "test",
|
||||
state: "liquid",
|
||||
color: elements.plant.color,
|
||||
behavior:behaviors.LIQUID,
|
||||
reactions : {
|
||||
"plant": { elem1: "dead_plant" },
|
||||
"algae": { elem1: "dead_plant" },
|
||||
"cactus": { elem1: "dead_plant" },
|
||||
"hive": { elem1: "dead_plant" },
|
||||
"sapling": { elem1: "dead_plant" },
|
||||
"pinecone": { elem1: "dead_plant" },
|
||||
"evergreen": { elem1: "dead_plant" },
|
||||
"hyphae": { elem1: "dead_plant" },
|
||||
"petal": { elem1: "dead_plant" },
|
||||
"pistil": { elem1: "dead_plant" },
|
||||
"tree_branch": { elem1: "wood" },
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
elements.uranium_particles = {
|
||||
color: ["#599e61","#364d3c","#494d4a","#6c8a42","#798d65","#b5e089"],
|
||||
tick: behaviors.BOUNCY,
|
||||
reactions: {
|
||||
"uranium_particles": { elem1:null, elem2:"supernova", chance:0.000001}
|
||||
},
|
||||
category: "???????",
|
||||
}
|
||||
|
||||
elements.air_filter = {
|
||||
|
||||
|
||||
color: "#414c4f",
|
||||
|
||||
tick: function(pixel) {
|
||||
|
||||
if (!pixel.stage && pixelTicks-pixel.start > 60) {
|
||||
for (var i = 0; i < squareCoords.length; i++) {
|
||||
var coord = squareCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
// delete this bc it makes the pipe walls
|
||||
// if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable) {
|
||||
// deletePixel(x,y)
|
||||
// }
|
||||
// if (isEmpty(x,y)) {
|
||||
// createPixel("pipe_wall",x,y);
|
||||
// }
|
||||
}
|
||||
pixel.stage = 2;
|
||||
}
|
||||
else if (pixel.stage === 1 && pixelTicks-pixel.start > 70) { //uninitialized
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coord = adjacentCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
pixel.stage = 2;
|
||||
// this makes the thing blue and keep pixel.stage = 2 cuz without it it breaks the code
|
||||
// if (isEmpty(x,y)) {
|
||||
// pixel.stage = 2; //blue
|
||||
// pixel.color = pixelColorPick(pixel,"#000036");
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
}
|
||||
else if (pixel.stage > 1 && pixelTicks % 3 === pixel.stage-2) { //initialized
|
||||
for (var i = 0; i < squareCoords.length; i++) {
|
||||
var coord = squareCoords[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (newPixel.stage === 1) {
|
||||
var newColor;
|
||||
switch (pixel.stage) {
|
||||
case 2: newPixel.stage = 3; newColor = "#003600"; break; //green
|
||||
case 3: newPixel.stage = 4; newColor = "#360000"; break; //red
|
||||
case 4: newPixel.stage = 2; newColor = "#000036"; break; //blue
|
||||
}
|
||||
newPixel.color = pixelColorPick(newPixel,newColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
var moved = false;
|
||||
shuffleArray(squareCoordsShuffle);
|
||||
for (var i = 0; i < squareCoordsShuffle.length; i++) {
|
||||
var coord = squareCoordsShuffle[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (newPixel.element === "pipe") {
|
||||
var nextStage;
|
||||
switch (pixel.stage) {
|
||||
|
||||
}
|
||||
if (pixel.con && !newPixel.con && newPixel.stage === nextStage) { //transfer to jacent pipe
|
||||
newPixel.con = pixel.con;
|
||||
newPixel.con.x = newPixel.x;
|
||||
newPixel.con.y = newPixel.y;
|
||||
pixel.con = null;
|
||||
moved = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (!pixel.con && (newPixel.element == "smoke" || newPixel.element == "carbon_dioxide" || newPixel.element == "smog" || newPixel.element == "rad_steam" || newPixel.element == "oxygen" )) { //suck up pixel
|
||||
changePixel(newPixel,"oxygen");
|
||||
pixel.con = newPixel;
|
||||
deletePixel(newPixel.x,newPixel.y);
|
||||
pixel.con.x = pixel.x;
|
||||
pixel.con.y = pixel.y;
|
||||
pixel.con.del;
|
||||
moved = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pixel.con && !moved) { // move to same stage if none other
|
||||
for (var i = 0; i < squareCoordsShuffle.length; i++) {
|
||||
var coord = squareCoordsShuffle[i];
|
||||
var x = pixel.x+coord[0];
|
||||
var y = pixel.y+coord[1];
|
||||
if (isEmpty(x,y)) {
|
||||
delete pixel.con.del;
|
||||
pixel.con.x = x;
|
||||
pixel.con.y = y;
|
||||
pixelMap[x][y] = pixel.con;
|
||||
currentPixels.push(pixel.con);
|
||||
pixel.con = null;
|
||||
break;
|
||||
}
|
||||
if (!isEmpty(x,y,true) && pixelMap[x][y].element === "pipe") {
|
||||
var newPixel = pixelMap[x][y];
|
||||
if (pixel.con && !newPixel.con && newPixel.stage === pixel.stage) {
|
||||
newPixel.con = pixel.con;
|
||||
newPixel.con.x = newPixel.x;
|
||||
newPixel.con.y = newPixel.y;
|
||||
pixel.con = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
category: "machines",
|
||||
movable: false,
|
||||
canContain: true,
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
/*
|
||||
Created by SquareScreamYT/sqec <@918475812884344852>
|
||||
Thanks to RealerRaddler <@914371295561535508>, Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696>, ryan(R74n) <@101070932608561152> and Fioushemastor <@738828785482203189> for helping :)
|
||||
Compatibility with other mods coming soon! s
|
||||
|
||||
v1.12.2
|
||||
v1.12.4
|
||||
|
||||
you can support me at my youtube: https://youtube.com/@sqec
|
||||
|
||||
Upcoming Features:
|
||||
- cinnamon
|
||||
- spring onions
|
||||
- soy sauce/wasabi
|
||||
- white rice noodles
|
||||
- matcha leaves, powder, tea
|
||||
- cacao pods
|
||||
|
|
@ -406,6 +407,18 @@ Changelog (v1.12.2)
|
|||
|
||||
|
||||
|
||||
Changelog (v1.12.4)
|
||||
- added cake batter
|
||||
- added condensed milk
|
||||
- added wasabi
|
||||
- added beans
|
||||
- added baked beans
|
||||
- added fermented beans/natto
|
||||
- added soy sauce
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
|
|
@ -428,7 +441,13 @@ function interpolateRgb(rgb1, rgb2, ratio) {
|
|||
function getRGB(rgb){
|
||||
let rgb2 = rgb.replace(")", "").replace("rgb(", "").replace(/,/g, "r").split("r")
|
||||
return { r: parseInt(rgb2[0]), g: parseInt(rgb2[1]), b: parseInt(rgb2[2]) };
|
||||
}
|
||||
}
|
||||
|
||||
behaviors.STURDYPOWDER2 = [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"M2%30|M1|M2%30",
|
||||
],
|
||||
|
||||
elements.knife = {
|
||||
color: "#adb5bd",
|
||||
|
|
@ -609,11 +628,7 @@ elements.chicken = {
|
|||
|
||||
elements.chicken_egg = {
|
||||
color: ["#e0d3ab","#d9cdb5"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|FX%5|XX",
|
||||
"M2%30|M1|M2%30",
|
||||
],
|
||||
behavior: behaviors.STURDYPOWDER2,
|
||||
tick: function(pixel) {
|
||||
if (Math.random() < 0.1 && pixel.temp > 20 && pixel.temp < 35) {
|
||||
changePixel(pixel,"chick")
|
||||
|
|
@ -4986,11 +5001,7 @@ elements.snail.reactions.nut_oil = { elem1: "escargot", chance:30, tempMin:50 }
|
|||
|
||||
elements.escargot = {
|
||||
color: "#ab924d",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|",
|
||||
"M2%10|M1|M2%10",
|
||||
],
|
||||
behavior: behaviors.STURDYPOWDER2,
|
||||
tempHigh: 120,
|
||||
stateHigh: "steam",
|
||||
breakInto: "quicklime",
|
||||
|
|
@ -7101,3 +7112,140 @@ elements.food_coloring = {
|
|||
}
|
||||
|
||||
elements.cooked_meat.behavior = behaviors.SUPPORT;
|
||||
|
||||
elements.cake_batter = {
|
||||
color: "#d4bc85",
|
||||
behavior: behaviors.LIQUID,
|
||||
onMix: function(batter,ingredient) {
|
||||
if (elements[ingredient.element].isFood && elements[ingredient.element].id !== elements.batter.id && elements[ingredient.element].id !== elements.flour.id && elements[ingredient.element].id !== elements.yolk.id && elements[ingredient.element].id !== elements.dough.id && elements[ingredient.element].id !== elements.baked_batter.id && elements[ingredient.element].id !== elements.cake.id && elements[ingredient.element].id !== elements.cake_batter.id) {
|
||||
var rgb1 = batter.color.match(/\d+/g);
|
||||
var rgb2 = ingredient.color.match(/\d+/g);
|
||||
// average the colors
|
||||
var rgb = [
|
||||
Math.round((parseInt(rgb1[0])*10+parseInt(rgb2[0]))/11),
|
||||
Math.round((parseInt(rgb1[1])*10+parseInt(rgb2[1]))/11),
|
||||
Math.round((parseInt(rgb1[2])*10+parseInt(rgb2[2]))/11)
|
||||
];
|
||||
// convert rgb to hex
|
||||
var hex = RGBToHex(rgb);
|
||||
batter.color = pixelColorPick(batter, hex);
|
||||
if ((elements[ingredient.element].density > elements.batter.density || shiftDown) && Math.random() < 0.05) {
|
||||
// 50% change to delete ingredient
|
||||
if (Math.random() < 0.5) { deletePixel(ingredient.x, ingredient.y); }
|
||||
else {
|
||||
ingredient.color = pixelColorPick(ingredient, hex);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
reactions: {
|
||||
"cream": { elem2:"cake_batter", tempMin:40, chance:0.01 },
|
||||
},
|
||||
category: "food",
|
||||
tempHigh: 94,
|
||||
stateHigh: "cake",
|
||||
stateHighColorMultiplier: 0.9,
|
||||
burn:40,
|
||||
burnTime:25,
|
||||
burnInto:"ash",
|
||||
state: "liquid",
|
||||
viscosity: 10000,
|
||||
density: 1001,
|
||||
hidden: true,
|
||||
isFood: true
|
||||
}
|
||||
elements.batter.whiskInto = "cake_batter";
|
||||
elements.milk.stateHigh = ["steam","steam","condensed_milk"];
|
||||
elements.condensed_milk = {
|
||||
color: "#f2f0df",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"cell": { elem1:"yogurt", chance:0.1 },
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
|
||||
"sugar": { color1:"#fffbf0", elem2:null, chance:0.5},
|
||||
},
|
||||
tempLow: 0,
|
||||
stateLow: "ice_cream",
|
||||
stateLowColorMultiplier: [0.97,0.93,0.87],
|
||||
tempHigh: 500,
|
||||
stateHigh: ["smoke","smoke","smoke","quicklime"],
|
||||
viscosity: 1500,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
density: 1036.86,
|
||||
isFood: true,
|
||||
alias: "evaporated_milk"
|
||||
}
|
||||
elements.wasabi = {
|
||||
color: ["#82b55b","#6cad50","#7dcc5c"],
|
||||
behavior: behaviors.STURDYPOWDER2,
|
||||
reactions: {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"melted_chocolate": { color1:"#664934", elem2:null },
|
||||
"chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 },
|
||||
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
|
||||
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
|
||||
"yolk": { elem1:"#eggnog", elem2:null, chance:0.1 },
|
||||
"caramel": { color1:"#C8B39A", chance:0.05 },
|
||||
"sugar": { elem2:null, chance:0.005},
|
||||
},
|
||||
viscosity: 1.5,
|
||||
tempHigh: 1000,
|
||||
stateHigh: ["smoke","smoke","smoke","steam","steam"],
|
||||
category: "food",
|
||||
isFood: true,
|
||||
state: "solid",
|
||||
density: 959.97,
|
||||
}
|
||||
// extremely confused part
|
||||
elements.beans.name = "baked_beans";
|
||||
elements.real_beans = {
|
||||
name: "beans",
|
||||
color: ["#e8dfc5","#d1c7ab"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
tempHigh: 350,
|
||||
stateHigh: ["fire","fire","ash"],
|
||||
burn:3,
|
||||
burnTime:500,
|
||||
burnInto: ["fire","smoke","smoke","steam","ash"],
|
||||
reactions: {
|
||||
"sauce": { elem1: "beans", elem2: "beans" },
|
||||
"yeast": { elem1: "fermented_beans", elem2: null, chance:0.5 }
|
||||
},
|
||||
state: "solid",
|
||||
density: 721,
|
||||
isFood: true,
|
||||
alias: "soy_beans"
|
||||
}
|
||||
elements.fermented_beans = {
|
||||
color:"#ada386",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
tempHigh: 350,
|
||||
stateHigh: ["fire","fire","ash"],
|
||||
burn:3,
|
||||
burnTime:500,
|
||||
burnInto: ["fire","smoke","smoke","steam","ash"],
|
||||
state: "solid",
|
||||
density: 721,
|
||||
breakInto: "soy_sauce",
|
||||
isFood: true,
|
||||
alias: "natto"
|
||||
}
|
||||
elements.soy_sauce = {
|
||||
color: "#480601",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempLow: -5,
|
||||
tempHigh: 105,
|
||||
stateHigh: ["steam","steam","salt"],
|
||||
state: "liquid",
|
||||
category:"food",
|
||||
density: 1200,
|
||||
};
|
||||
// end of confused part
|
||||
|
|
|
|||
|
|
@ -0,0 +1,239 @@
|
|||
elements.carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.GAS,
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"XX|CH:fire|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 1.14,
|
||||
burn: 75,
|
||||
tempHigh: 609,
|
||||
stateHigh: "fire",
|
||||
tempLow: -192,
|
||||
stateLow: "liquid_carbon_monoxide",
|
||||
burntime: 5,
|
||||
fireColor: "#ebba34",
|
||||
reactions: {
|
||||
"head": { elem1:"rotten_meat", chance:0.5 },
|
||||
"body": { elem1:"rotten_meat", chance:0.5 },
|
||||
"human": { elem1:"rotten_meat", chance:0.5 },
|
||||
}
|
||||
};
|
||||
elements.liquid_carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1.14,
|
||||
tempHigh: -190,
|
||||
temp: -192,
|
||||
tempLow: -199,
|
||||
stateLow: "ice_carbon_monoxide",
|
||||
stateHigh: "carbon_monoxide",
|
||||
};
|
||||
elements.ice_carbon_monoxide = {
|
||||
color: "#b5b5b5",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
temp: -199,
|
||||
density: 1.14,
|
||||
tempHigh: -192,
|
||||
stateHigh: "liquid_carbon_monoxide",
|
||||
};
|
||||
elements.carbon_monoxide_detector = {
|
||||
behavior: behaviors.WALL,
|
||||
desc: "give red light and electric when found Carbon Monoxide touch",
|
||||
color: "#ffffff",
|
||||
reactions: {
|
||||
"carbon_monoxide": {"charge1":1},
|
||||
},
|
||||
conduct: 1,
|
||||
tempHigh: 1550,
|
||||
stateHigh: ["molten_metal_scrap","electric","molten_plastic"],
|
||||
colorOn: "#ff0000",
|
||||
movable: false,
|
||||
insulate: true,
|
||||
noMix: true,
|
||||
category:"machines",
|
||||
darkText: true,
|
||||
hardness: 1,
|
||||
};
|
||||
elements.cpu = {
|
||||
color: "#575757",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
insulate: true,
|
||||
movable: false,
|
||||
noMix: true,
|
||||
density: 75,
|
||||
tempHigh: 1414,
|
||||
stateHigh: ["explosion","metal_scrap"],
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"metal_scrap": { elem2:"computer" },
|
||||
|
||||
}
|
||||
};
|
||||
elements.computer = {
|
||||
color: "#2b2b2a",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "machines",
|
||||
state: "solid",
|
||||
density: 8908,
|
||||
insulate: true,
|
||||
noMix: true,
|
||||
movable: false,
|
||||
tempHigh: 1414,
|
||||
stateHigh: ["explosion","metal_scrap"],
|
||||
reactions: {
|
||||
"virus": { elem1 : null , elem2:"malware", chance:0.9 },
|
||||
"water": { elem1: null , elem2: "electric" },
|
||||
}
|
||||
}
|
||||
elements.electrons = {
|
||||
color: "#b80606",
|
||||
behavior: [
|
||||
"XX|SH|XX", // shocks (adds charge)
|
||||
"SH|DL%0.25|SH",
|
||||
"XX|SH|XX",
|
||||
],
|
||||
tick: behaviors.BOUNCY,
|
||||
reactions: {},
|
||||
temp: 20,
|
||||
category: "energy",
|
||||
state: "gas",
|
||||
density: 0.000003,
|
||||
ignoreAir: true,
|
||||
};
|
||||
elements.gelatin = {
|
||||
behavior: behaviors.SOLID,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
color: "#faf8ca",
|
||||
breakInto: "gelatin_powder",
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
};
|
||||
elements.gelatin_powder = {
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "powder",
|
||||
color: "#edeb9f",
|
||||
hidden: true,
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
};
|
||||
elements.blueberries = {
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
color: ["#464196","#2e2b64"],
|
||||
breakInto: "blueberries_juice",
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
reactions: {
|
||||
"sugar": { elem1: "blueberries_jam" },
|
||||
},
|
||||
};
|
||||
elements.blueberries_juice = {
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
color: "#1f1c42",
|
||||
hidden: true,
|
||||
tempHigh: 170,
|
||||
stateHigh: ["steam","sugar"],
|
||||
reactions: {
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
"gelatin": { elem1: "blueberries_jelly", elem2: null },
|
||||
"gelatin_powder": { elem1: "blueberries_jelly", elem2: null },
|
||||
},
|
||||
};
|
||||
elements.blueberries_jam = {
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 5000,
|
||||
state: "liquid",
|
||||
tempHigh: 200,
|
||||
stateHigh: ["smoke","sugar"],
|
||||
color: "#080629",
|
||||
hidden: true,
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
};
|
||||
elements.blueberries_jelly = {
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "food",
|
||||
viscosity: 200000,
|
||||
state: "liquid",
|
||||
color: "#59559e",
|
||||
hidden: true,
|
||||
tempHigh: 200,
|
||||
stateHigh: ["smoke","sugar"],
|
||||
tempLow: -5,
|
||||
stateLow: ["sugar_ice","sugar_ice","juice_ice"],
|
||||
ignoreAir: true,
|
||||
isFood: true,
|
||||
};
|
||||
elements.fallout_drum = {
|
||||
behavior: behaviors.WALL,
|
||||
category: "radiated",
|
||||
state: "solid",
|
||||
density: 9000,
|
||||
color: "#e3cc34",
|
||||
breakInto: ["fallout","fallout"],
|
||||
reactions: {
|
||||
"water": { elem1:"fallout_drum", elem2:"radiated_water" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.radiated_water = {
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "radiated",
|
||||
state:"liquid",
|
||||
density :1300,
|
||||
color: ["#23d959","#29d65d"],
|
||||
hidden: true,
|
||||
reactions: {
|
||||
"human": { elem2:"rotten_meat" },
|
||||
"body": { elem2:"rotten_meat" },
|
||||
"head": { elem2:"ash" },
|
||||
"bird": { elem2:"rotten_meat"},
|
||||
"cell": { elem2:"cancer"},
|
||||
}
|
||||
};
|
||||
|
||||
elements.polluted_air = {
|
||||
behavior: behaviors.GAS,
|
||||
category: "radiated",
|
||||
state:"gas",
|
||||
density :10,
|
||||
color: ["#60f53b","#65ba50"],
|
||||
reactions: {
|
||||
"body": { elem2:"rotten_meat" },
|
||||
"head": { elem2:"rotten_meat" },
|
||||
"human": { elem2:"rotten_meat" },
|
||||
"bird": { elem2:"rotten_meat" },
|
||||
"cell": { elem2:"cancer"},
|
||||
}
|
||||
};
|
||||
|
||||
elements.siren = {
|
||||
desc: "Detecting Nuclear Radiation Residues",
|
||||
behavior: behaviors.WALL,
|
||||
category: "machines",
|
||||
state:"solid",
|
||||
density :500,
|
||||
color: "#808080",
|
||||
reactions: {
|
||||
"fallout": {"charge1":1},
|
||||
"radiated_water": {"charge1":1},
|
||||
"polluted_air": {"charge1":1},
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
* Mod created by Tisquares
|
||||
* Every dessert idea is provided by the community.
|
||||
* Don't see your favorite dessert? Let me know!
|
||||
*
|
||||
* Got questions? Contact tisqbisque on Discord!
|
||||
*/
|
||||
// Dulce de leche items - BASE COMPLETE
|
||||
elements.dulce_de_leche = {
|
||||
color: ["#c56600","#f7a204","#ca6400","#893604"],
|
||||
category: "Community",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
tempHigh: 250,
|
||||
stateHigh: ["fragrance","smoke","smoke"],
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. From undexconocidox_26419.\n"
|
||||
}
|
||||
elements.sweetened_condensed_milk = {
|
||||
color: ["#ffe9ba","#fbd396","#fde2a9"],
|
||||
category: "Community",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 175,
|
||||
stateHigh: "dulce_de_leche",
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by mixing Milk and Sugar at 85°C+.\n",
|
||||
}
|
||||
|
||||
// Chocotorta items - BASE COMPLETE
|
||||
elements.cream_cheese = {
|
||||
color: ["#ebe9ea","#e4dfdd","#eeeeee"],
|
||||
category: "Community",
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by mixing Acid with Milk or Cream.\n",
|
||||
}
|
||||
elements.cocoa_bean = {
|
||||
color: ["#e16f51","#e28e67","#e18550","#84574d"],
|
||||
category: "Community",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
breakInto: "cocoa_powder",
|
||||
desc: "Added in the first version of the mod.\n",
|
||||
}
|
||||
elements.cocoa_powder = {
|
||||
color: ["#855344","#6d4c41","#40271d"],
|
||||
behavior: behaviors.POWDER,
|
||||
onMix: function(powder, doughcheck) {
|
||||
if (doughcheck.name == "dough" && shiftDown && Math.random() < 0.01) {
|
||||
changePixel(powder,"chocolate_biscuit_dough");
|
||||
changePixel(doughcheck,"chocolate_biscuit_dough");
|
||||
}
|
||||
},
|
||||
reactions: {
|
||||
"dough": { elem1:null, elem2:"chocolate_biscuit_dough" },
|
||||
},
|
||||
category: "Community",
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by Smashing Cocoa Bean.\n",
|
||||
}
|
||||
elements.chocolate_biscuit_dough = {
|
||||
name: "choco_Biscuit_Dough",
|
||||
color: "#623727",
|
||||
category: "Community",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
tempHigh: 94,
|
||||
stateHigh: "chocolate_biscuit",
|
||||
burn: 40,
|
||||
burnTime: 25,
|
||||
burnInto: "ash",
|
||||
state: "solid",
|
||||
density: 526.9,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by mixing Cocoa Powder with Dough.\n",
|
||||
}
|
||||
elements.chocolate_biscuit = {
|
||||
name: "choco_Biscuit",
|
||||
color: "#864B36",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
tempHigh: 550,
|
||||
stateHigh: ["smoke","smoke","smoke","ash"],
|
||||
breakInto: "crumb",
|
||||
state: "solid",
|
||||
density: 233.96,
|
||||
isFood: true,
|
||||
category: "Community",
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by cooking Choco Biscuit Dough at 94°C+. Can be layered with other items to make chocotorta, from undexconocidox_26419.\n",
|
||||
}
|
||||
|
||||
// Haupia items - BASE COMPLETE
|
||||
elements.coconut = {
|
||||
color: ["#793b1e","#995c31","#5f3015"],
|
||||
behavior: behaviors.POWDER,
|
||||
breakInto: ["coconut_milk","tinder"],
|
||||
category: "Community",
|
||||
desc: "Added in the first version of the mod.\n",
|
||||
}
|
||||
elements.coconut_milk = {
|
||||
color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "Community",
|
||||
reactions: {
|
||||
"sugar": { elem1:null, elem2:"haupia_mix", tempMin:90 },
|
||||
},
|
||||
density: 1031.33,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by smashing Coconut.\n",
|
||||
}
|
||||
elements.haupia_mix = {
|
||||
color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
|
||||
behavior: behaviors.LIQUID,
|
||||
tempLow: 3,
|
||||
category: "Community",
|
||||
stateLow: "haupia",
|
||||
density: 1242.67,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by mixing Coconut Milk and Sugar at 90°C+.\n",
|
||||
}
|
||||
elements.haupia = {
|
||||
color: ["#ffffff","#f8f8f8","#f7f9f8"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
density: 1300,
|
||||
category: "Community",
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod. Made by cooling Haupia Mix at 3°C-. From tisqbisque.\n"
|
||||
}
|
||||
|
||||
// Adjusting existing elements here
|
||||
elements.milk.reactions = {
|
||||
"melted_chocolate": { elem1:"chocolate_milk", elem2:null },
|
||||
"chocolate": { elem1:"chocolate_milk", elem2:"melted_chocolate", chance:0.05 },
|
||||
"coffee_ground": { elem1:"chocolate_milk", chance:0.05 },
|
||||
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
|
||||
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
|
||||
"yolk": { elem1:"eggnog", elem2:null, chance:0.1 },
|
||||
"cell": { elem1:"yogurt", chance:0.1 },
|
||||
"ash": { elem1:"soap", chance:0.1 },
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
|
||||
// Start mod items here
|
||||
"sugar": { elem1:"sweetened_condensed_milk", elem2:null, chance:0.05, tempMin:85 },
|
||||
"acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
|
||||
}
|
||||
|
||||
elements.cream.reactions = {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"melted_chocolate": { color1:"#664934", elem2:null },
|
||||
"chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 },
|
||||
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
|
||||
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
|
||||
"yolk": { elem1:"#eggnog", elem2:null, chance:0.1 },
|
||||
"caramel": { color1:"#C8B39A", chance:0.05 },
|
||||
"sugar": { elem2:null, chance:0.005},
|
||||
// Start mod items here
|
||||
"acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
|
||||
}
|
||||
|
||||
// Mod items first
|
||||
elements.acid.ignore = ["cream_cheese","cream","milk",
|
||||
"glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone"];
|
||||
|
|
@ -256,9 +256,13 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
|||
}
|
||||
|
||||
// ugly way of doing it but probably works
|
||||
// it didnt - me 8 months later
|
||||
const checkType = (key, value) => {
|
||||
if (key == "behavior" && (typeof value == "function" || (value instanceof Array && value.filter(e => typeof e == "string").length == value.length))) return true;
|
||||
else if (key == "behavior") return false;
|
||||
if (key == "behavior") {
|
||||
const constructed = constructBehavior(value);
|
||||
if (constructed == undefined || (Array.isArray(constructed) && constructed.some(a => typeof a != "string"))) return false;
|
||||
return true;
|
||||
}
|
||||
if (["darkText", "hidden", "insulate", "noMix", "isFood", "forceAutoGen", "customColor", "ignoreAir", "excludeRandom", "burning", "flipX", "flipY", "flippableX", "flippableY"].includes(key) && typeof value != "boolean") return false;
|
||||
if (["name", "category", "desc", "alias", "seed", "baby", "state", "stateHigh", "stateHighName", "stateHighColor", "stateLow", "stateLowNmae", "stateLowColor"].includes(key) && typeof value != "string") return false;
|
||||
if (["id", "burn", "burnTime", "stateHighColorMultiplier", "stateLowColorMutliplier", "temp", "tempHigh", "extraTempHigh", "tempLow", "extraTempLow"].includes(key) && typeof value != "number") return false;
|
||||
|
|
@ -269,24 +273,29 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
|||
return true;
|
||||
}
|
||||
|
||||
const constructBehavior = (behavior) => {
|
||||
if (typeof behavior == "function" || Array.isArray(behavior)) return behavior;
|
||||
if (typeof behavior != "string") return undefined;
|
||||
return behavior.split(";");
|
||||
}
|
||||
|
||||
const loadChanges = () => {
|
||||
const newElements = Storage.get("elements", []);
|
||||
for (const element of newElements) {
|
||||
const element_ = element;
|
||||
if (Object.keys(behaviors).includes(element_["behavior"])) element_["behavior"] = behaviors[element_["behavior"]];
|
||||
if (Object.keys(behaviors).includes(element["behavior"])) element["behavior"] = behaviors[element["behavior"]];
|
||||
elements[element.name] = {};
|
||||
// elements[element.name] = element_;
|
||||
for (const key of Object.keys(element_)) {
|
||||
const val = element_[key];
|
||||
if (checkType(key, val)) elements[element.name][key] = val;
|
||||
for (const key of Object.keys(element)) {
|
||||
const val = element[key];
|
||||
if (checkType(key, val)) elements[element.name][key] = key == "behavior" ? constructBehavior(val) : val;
|
||||
else if (["name", "category"].includes(key)) elements[element.name][key] = key == "name" ? "NewElement" : "other";
|
||||
}
|
||||
}
|
||||
const changes = Storage.get("changes", []);
|
||||
for (const change of changes) {
|
||||
for (const key of Object.keys(change.changes)) {
|
||||
const c = change.changes[key];
|
||||
if (checkType(key, c)) elements[change.element][key] = c;
|
||||
let c = change.changes[key];
|
||||
if (key == "behavior" && Object.keys(behaviors).includes(c)) c = behaviors[c];
|
||||
if (checkType(key, c)) elements[change.element][key] = key == "behavior" ? constructBehavior(c) : c;
|
||||
}
|
||||
}
|
||||
const deleted = Storage.get("deletedElements", []);
|
||||
|
|
@ -547,7 +556,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
|||
el.style.display = "none";
|
||||
el.onchange = (ev) => {
|
||||
if (document.getElementById(id).value == "CUSTOM") {
|
||||
applyChange(prop.name, ev.target.value.split(";").map(e => e.split(",")));
|
||||
applyChange(prop.name, ev.target.value);
|
||||
} else {
|
||||
ev.target.style.display = "none";
|
||||
}
|
||||
|
|
@ -658,7 +667,7 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
|||
el.onchange = (ev) => {
|
||||
if (document.getElementById(id).value == "CUSTOM") {
|
||||
const elementData = Storage.get("newElement", {});
|
||||
elementData[prop.name] = ev.target.value.split(";").map(e => e.split(","));
|
||||
elementData[prop.name] = ev.target.value.split(";");
|
||||
Storage.set("newElement", elementData);
|
||||
} else {
|
||||
ev.target.style.display = "none";
|
||||
|
|
@ -961,22 +970,33 @@ if (enabledMods.includes("mods/betterMenuScreens.js")) {
|
|||
else el.setAttribute("value", "none");
|
||||
}
|
||||
} else {
|
||||
if (element[prop.name]) {
|
||||
if (element[prop.name] || prop.name == "behavior") {
|
||||
if (prop.type == "boolean") {
|
||||
el.setAttribute("value", element[prop.name] ? "ON" : "OFF");
|
||||
el.setAttribute("state", element[prop.name] ? "1" : "0");
|
||||
} else if (prop.type == "color") {
|
||||
el.setAttribute("value", parseColor(element[prop.name]));
|
||||
} else if (prop.name == "behavior") {
|
||||
const behavior = element[prop.name];
|
||||
const index = Object.keys(behaviors).map(b => `${behaviors[b] instanceof Array ? behaviors[b].join(";") : behaviors[b]}`).indexOf(behavior instanceof Array ? behavior.join(";") : behavior);
|
||||
if (index == -1) {
|
||||
document.getElementById(id + "/option/custom").selected = true;
|
||||
document.getElementById(id + "/textInput").style.display = "";
|
||||
document.getElementById(id + "/textInput").setAttribute("value", behavior.join(";"))
|
||||
} else {
|
||||
let behavior = element[prop.name];
|
||||
if (!behavior && element.tick) behavior = element.tick;
|
||||
if (typeof behavior == "function" && behavior.name) {
|
||||
const name = behavior.name;
|
||||
const index = Object.keys(behaviors).indexOf(name);
|
||||
document.getElementById(id + "/textInput").style.display = "none";
|
||||
document.getElementById(id + "/option/" + index).selected = true;
|
||||
document.getElementById(id + "/option/" + (index == -1 ? "none" : index)).selected = true;
|
||||
} else if (typeof behavior == "function") {
|
||||
document.getElementById(id + "/textInput").style.display = "none";
|
||||
document.getElementById(id + "/option/none").selected = true;
|
||||
} else {
|
||||
const index = Object.keys(behaviors).map(b => `${behaviors[b] instanceof Array ? behaviors[b].join(";") : behaviors[b]}`).indexOf(behavior instanceof Array ? behavior.join(";") : behavior);
|
||||
if (index == -1) {
|
||||
document.getElementById(id + "/option/custom").selected = true;
|
||||
document.getElementById(id + "/textInput").style.display = "";
|
||||
document.getElementById(id + "/textInput").setAttribute("value", behavior.map(b => b.join("|")).join(";"))
|
||||
} else {
|
||||
document.getElementById(id + "/textInput").style.display = "none";
|
||||
document.getElementById(id + "/option/" + index).selected = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
el.setAttribute("value", element[prop.name] instanceof Function ? element[prop.name].toString() : element[prop.name]);
|
||||
|
|
|
|||
|
|
@ -1,3 +1,45 @@
|
|||
elements.better_bomb = {
|
||||
color: "#823d30",
|
||||
behavior: [
|
||||
"XX|EX:20|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:20|M2",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.strong_bomb = {
|
||||
color: "#09fd62",
|
||||
behavior: [
|
||||
"XX|EX:50|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:50|M2",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.bomb2 = {
|
||||
color: "#68cdf4",
|
||||
behavior: [
|
||||
"XX|EX:75|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:75|M2",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.super_bomb = {
|
||||
color: "#551c41",
|
||||
behavior: [
|
||||
|
|
@ -131,6 +173,36 @@ elements.ice_cream_bomb = {
|
|||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.human_bomb = {
|
||||
color: ["#f3e7db","#f7ead0","#eadaba","#d7bd96","#a07e56","#825c43","#604134","#3a312a"],
|
||||
behavior: [
|
||||
"XX|EX:15>human|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:15>human|M2",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown,
|
||||
temp: 30
|
||||
}
|
||||
|
||||
elements.alien_bomb = {
|
||||
color: ["#41ab1d","#4cbf25","#40752e","#871dab","#ac3ad2","#71278a"],
|
||||
behavior: [
|
||||
"XX|EX:15>alien|XX",
|
||||
"XX|XX|XX",
|
||||
"M2|M1 AND EX:15>alien|M2",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
excludeRandom: true,
|
||||
cooldown: defaultCooldown,
|
||||
temp: 30
|
||||
}
|
||||
|
||||
|
||||
elements.dirty_sand = {
|
||||
color: ["#a35222", "#a15122", "#7e3f1a", "#f4ba9a", "#fed3ba", "#f2b796"],
|
||||
|
|
@ -1182,6 +1254,39 @@ elements.whenyouium = {
|
|||
category: "solids",
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
hardness:1.01,
|
||||
reactions: {"when_iium": { elem1: "whenweium" },}
|
||||
|
||||
}
|
||||
|
||||
elements.whenweium = {
|
||||
color: "#7f0080",
|
||||
colorPattern: [
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppgppgppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pggggggggp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
"pppppppppp",
|
||||
],
|
||||
colorKey: {
|
||||
"p": "#7f0080",
|
||||
"g": "#808080"
|
||||
},
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
hardness:1.01
|
||||
|
||||
}
|
||||
|
|
@ -1345,7 +1450,7 @@ elements.water_but_it_stays_liquid = {
|
|||
color: "#2167ff",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
heatCapacity: 1234213423423423,
|
||||
heatCapacity: 1234213423423554,
|
||||
reactions: {
|
||||
"dirt": {
|
||||
elem1: null,
|
||||
|
|
@ -1438,8 +1543,6 @@ elements.paprika = {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
elements.blue_paprika = {
|
||||
color: ["#4ba5ff","#71a8de","#b4c7da",],
|
||||
behavior: [
|
||||
|
|
@ -1565,8 +1668,8 @@ elements.cool_ray = {
|
|||
}
|
||||
else {
|
||||
if (elements[pixelMap[x][y].element].isGas) { continue }
|
||||
if (elements[pixelMap[x][y].element].id === elements.heat_ray.id) { break }
|
||||
pixelMap[x][y].temp += 100;
|
||||
if (elements[pixelMap[x][y].element].id === elements.cool_ray.id) { break }
|
||||
pixelMap[x][y].temp += -100;
|
||||
pixelTempCheck(pixelMap[x][y]);
|
||||
break;
|
||||
}
|
||||
|
|
@ -1574,7 +1677,7 @@ elements.cool_ray = {
|
|||
deletePixel(pixel.x, pixel.y);
|
||||
},
|
||||
temp: -3500,
|
||||
category: "energy",
|
||||
category: "rays",
|
||||
state: "gas",
|
||||
density: 1,
|
||||
excludeRandom: true,
|
||||
|
|
@ -1597,8 +1700,8 @@ elements.radiant_ray = {
|
|||
}
|
||||
else {
|
||||
if (elements[pixelMap[x][y].element].isGas) { continue }
|
||||
if (elements[pixelMap[x][y].element].id === elements.heat_ray.id) { break }
|
||||
pixelMap[x][y].temp += 100;
|
||||
if (elements[pixelMap[x][y].element].id === elements.radiant_ray.id) { break }
|
||||
pixelMap[x][y].temp += 10000;
|
||||
pixelTempCheck(pixelMap[x][y]);
|
||||
break;
|
||||
}
|
||||
|
|
@ -1606,7 +1709,7 @@ elements.radiant_ray = {
|
|||
deletePixel(pixel.x, pixel.y);
|
||||
},
|
||||
temp: 100000000,
|
||||
category: "energy",
|
||||
category: "rays",
|
||||
state: "gas",
|
||||
density: 1,
|
||||
excludeRandom: true,
|
||||
|
|
@ -1629,8 +1732,8 @@ elements.sun_ray = {
|
|||
}
|
||||
else {
|
||||
if (elements[pixelMap[x][y].element].isGas) { continue }
|
||||
if (elements[pixelMap[x][y].element].id === elements.heat_ray.id) { break }
|
||||
pixelMap[x][y].temp += 100;
|
||||
if (elements[pixelMap[x][y].element].id === elements.sun_ray.id) { break }
|
||||
pixelMap[x][y].temp += 170;
|
||||
pixelTempCheck(pixelMap[x][y]);
|
||||
break;
|
||||
}
|
||||
|
|
@ -1638,7 +1741,7 @@ elements.sun_ray = {
|
|||
deletePixel(pixel.x, pixel.y);
|
||||
},
|
||||
temp: 5504,
|
||||
category: "energy",
|
||||
category: "rays",
|
||||
state: "gas",
|
||||
density: 1,
|
||||
excludeRandom: true,
|
||||
|
|
@ -1655,7 +1758,7 @@ elements.mega_incinerate = {
|
|||
}
|
||||
pixelTempCheck(pixel);
|
||||
},
|
||||
category: "energy",
|
||||
category: "tools",
|
||||
excludeRandom: true
|
||||
}
|
||||
|
||||
|
|
@ -1695,7 +1798,7 @@ elements.green_fire = {
|
|||
"water": { elem1: "green_smoke" },
|
||||
"steam": { elem1: "green_smoke" },
|
||||
"carbon_dioxide": { elem1: "green_smoke" },
|
||||
"foam": { elem1: "smoke" },
|
||||
"foam": { elem1: "green_smoke" },
|
||||
"dirty_water": { elem1: "green_smoke" },
|
||||
"salt_water": { elem1: "green_smoke" },
|
||||
"sugar_water": { elem1: "green_smoke" },
|
||||
|
|
@ -1711,7 +1814,7 @@ elements.green_fire = {
|
|||
category: "energy",
|
||||
burning: true,
|
||||
burnTime: 25,
|
||||
burnInto: "smoke",
|
||||
burnInto: "green_smoke",
|
||||
state: "gas",
|
||||
density: 0.1,
|
||||
ignoreAir: true,
|
||||
|
|
@ -1858,9 +1961,9 @@ elements.heavy_water = {
|
|||
color: "#1237ff",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 100,
|
||||
stateHigh: "steam",
|
||||
stateHigh: "heavy_steam",
|
||||
tempLow: 0,
|
||||
stateLow: "ice",
|
||||
stateLow: "heavy_ice",
|
||||
category: "liquids",
|
||||
heatCapacity: 4.184,
|
||||
reactions: {
|
||||
|
|
@ -1875,25 +1978,25 @@ elements.heavy_water = {
|
|||
"honey": { elem1: "sugar_water" },
|
||||
"caramel": { elem1: "sugar_water" },
|
||||
"molasses": { elem1: "sugar_water" },
|
||||
"dust": { elem1: "dirty_water", elem2: null },
|
||||
"ash": { elem1: "dirty_water", elem2: null },
|
||||
"cyanide": { elem1: "dirty_water", elem2: null },
|
||||
"cyanide_gas": { elem1: "dirty_water", elem2: null },
|
||||
"dust": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"ash": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"cyanide": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"cyanide_gas": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"carbon_dioxide": { elem1: "seltzer", elem2: null, oneway:true },
|
||||
"sulfur": { elem1: "dirty_water", elem2: null },
|
||||
"rat": { elem1: "dirty_water", chance:0.005 },
|
||||
"plague": { elem1: "dirty_water", elem2: null },
|
||||
"rust": { elem1: "dirty_water", chance:0.005 },
|
||||
"lead": { elem1: "dirty_water", chance:0.005 },
|
||||
"solder": { elem1: "dirty_water", chance:0.005 },
|
||||
"fallout": { elem1: "dirty_water", chance:0.25 },
|
||||
"radiation": { elem1: "dirty_water", chance:0.25 },
|
||||
"uranium": { elem1: "dirty_water", chance:0.25 },
|
||||
"rotten_meat": { elem1: "dirty_water", chance:0.25 },
|
||||
"rotten_cheese": { elem1: "dirty_water", chance:0.25 },
|
||||
"cancer": { elem1: "dirty_water", chance:0.25 },
|
||||
"oil": { elem1: "dirty_water", chance:0.005 },
|
||||
"dioxin": { elem1: "dirty_water", chance:0.1 },
|
||||
"sulfur": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"rat": { elem1: "dirty_heavy_water", chance:0.005 },
|
||||
"plague": { elem1: "dirty_heavy_water", elem2: null },
|
||||
"rust": { elem1: "dirty_heavy_water", chance:0.005 },
|
||||
"lead": { elem1: "dirty_heavy_water", chance:0.005 },
|
||||
"solder": { elem1: "dirty_heavy_water", chance:0.005 },
|
||||
"fallout": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"radiation": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"uranium": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"rotten_meat": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"rotten_cheese": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"cancer": { elem1: "dirty_heavy_water", chance:0.25 },
|
||||
"oil": { elem1: "dirty_heavy_water", chance:0.005 },
|
||||
"dioxin": { elem1: "dirty_heavy_water", chance:0.1 },
|
||||
"quicklime": { elem1: "slaked_lime", elem2: "slaked_lime", temp2:100, temp1:100, chance:0.05 },
|
||||
"rock": { elem2: "wet_sand", chance: 0.00035 },
|
||||
"limestone": { elem2: "wet_sand", chance: 0.00035 },
|
||||
|
|
@ -1908,24 +2011,144 @@ elements.heavy_water = {
|
|||
"stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true },
|
||||
"cured_meat": { elem1:"salt_water", elem2:"meat" },
|
||||
// electrolysis:
|
||||
"aluminum": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0025 },
|
||||
"zinc": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.015 },
|
||||
"steel": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 },
|
||||
"iron": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0125 },
|
||||
"tin": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.01 },
|
||||
"brass": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 },
|
||||
"bronze": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.001 },
|
||||
"copper": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
|
||||
"silver": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
|
||||
"gold": { elem1:["hydrogen","hydrogen","oxygen"], charged:true, chance:0.0075 },
|
||||
"aluminum": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0025 },
|
||||
"zinc": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.015 },
|
||||
"steel": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0125 },
|
||||
"iron": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0125 },
|
||||
"tin": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.01 },
|
||||
"brass": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.001 },
|
||||
"bronze": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.001 },
|
||||
"copper": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0075 },
|
||||
"silver": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0075 },
|
||||
"gold": { elem1:["deuterium","deuterium","oxygen"], charged:true, chance:0.0075 },
|
||||
},
|
||||
state: "liquid",
|
||||
density: 1105.2,
|
||||
conduct: 0.02,
|
||||
stain: -0.5,
|
||||
extinguish: true
|
||||
extinguish: true,
|
||||
alias: "Deuterium Oxide"
|
||||
}
|
||||
|
||||
elements.dirty_heavy_water = {
|
||||
color: ["#0e8240","#077550","#0c6930"],
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 105,
|
||||
stateHigh: ["heavy_steam","carbon_dioxide"],
|
||||
tempLow: -5,
|
||||
stateLowName: "dirty_heavy_ice",
|
||||
viscosity: 10,
|
||||
category: "liquids",
|
||||
reactions: {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"rock": { elem2: "wet_sand", chance: 0.0004 },
|
||||
"limestone": { elem2: "wet_sand", chance: 0.0004 },
|
||||
"plant": { elem1:"heavy_water", chance:0.05 },
|
||||
"algae": { elem1:"heavy_water", chance:0.05 },
|
||||
"charcoal": { elem1:"heavy_water", chance:0.02 },
|
||||
"gravel": { elem1:"heavy_water", chance:0.01 },
|
||||
"fly": { elem2:"dead_bug", chance:0.1, oneway:true },
|
||||
"firefly": { elem2:"dead_bug", chance:0.1, oneway:true },
|
||||
"bee": { elem2:"dead_bug", chance:0.05, oneway:true },
|
||||
"stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true }
|
||||
},
|
||||
hidden: true,
|
||||
state: "liquid",
|
||||
density: 1113,
|
||||
conduct: 0.1,
|
||||
extinguish: true
|
||||
},
|
||||
|
||||
elements.heavy_ice = {
|
||||
color: "#b2daeb",
|
||||
behavior: behaviors.WALL,
|
||||
temp: -5,
|
||||
tempHigh: 5,
|
||||
stateHigh: "heavy_water",
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1016.5,
|
||||
breakInto: "heavy_snow"
|
||||
}
|
||||
|
||||
elements.heavy_snow = {
|
||||
color: "#e1f8fc",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"salt_water": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"dirty_water": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"pool_water": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"sugar_water": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"seltzer": { elem1:"heavy_slush", elem2:"heavy_slush" },
|
||||
"uranium": { elem1:"dirty_heavy_water", chance:0.001 },
|
||||
},
|
||||
temp: -5,
|
||||
tempHigh: 18,
|
||||
stateHigh: "heavy_water",
|
||||
category: "land",
|
||||
state: "solid",
|
||||
density: 110.9
|
||||
}
|
||||
|
||||
elements.heavy_slush = {
|
||||
color: "#81bcd4",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"uranium": { elem1:"dirty_heavy_water", chance:0.25 },
|
||||
},
|
||||
temp: -5,
|
||||
tempHigh: 18,
|
||||
tempLow: -20,
|
||||
stateLow: "heavy_ice",
|
||||
stateHigh: "heavy_water",
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 105.3,
|
||||
viscosity: 100,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.heavy_steam = {
|
||||
color: "#abd6ff",
|
||||
behavior: behaviors.GAS,
|
||||
reactions: {
|
||||
"heavy_steam": { elem1: null, elem2: "cloud", chance:0.3, "y":[0,15], "setting":"clouds" },
|
||||
"rain_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"cloud": { elem1: "cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"snow_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"hail_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"thunder_cloud": { elem1: "rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"pyrocumulus": { elem1: "cloud", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"anesthesia": { elem1:"acid_cloud", elem2:null, chance:0.05, "y":[0,12], "setting":"clouds" },
|
||||
"fire_cloud": { elem1: "cloud", elem2: "pyrocumulus", chance:0.4, "y":[0,12], "setting":"clouds" },
|
||||
"smoke": { elem1: "smog", elem2: null, chance:0.001 },
|
||||
"carbon_dioxide": { elem1: "smog", elem2: null, chance:0.001 },
|
||||
"plasma": { elem1:"ozone", tempMin:500, charged:true },
|
||||
"copper": { elem1:"oxygen", elem2:"oxidized_copper", chance:0.01 },
|
||||
"bronze": { elem1:"oxygen", elem2:"oxidized_copper", chance:0.005 },
|
||||
"iron": { elem1:"oxygen", elem2:"rust", chance:0.005 },
|
||||
"steel": { elem1:"oxygen", elem2:"rust", chance:0.004 },
|
||||
},
|
||||
temp: 150,
|
||||
tempLow: 95,
|
||||
extraTempLow: {
|
||||
0: "rime"
|
||||
},
|
||||
stateLow: "heavy_water",
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 0.6,
|
||||
conduct: 0.002,
|
||||
stain: -0.05,
|
||||
alias: "heavy water vapor",
|
||||
extinguish: true
|
||||
},
|
||||
|
||||
elements.led_y = {
|
||||
behavior: behaviors.WALL,
|
||||
reactions: {
|
||||
|
|
@ -2068,6 +2291,20 @@ elements.silvanium = {
|
|||
hardness: 0.48
|
||||
}
|
||||
|
||||
elements.silvanium_alite = {
|
||||
behavior: behaviors.WALL,
|
||||
reactions: {
|
||||
"light": {"charge1":1},
|
||||
"liquid_light": {"charge1":1},
|
||||
},
|
||||
color: ["#7d5ebb", "#9c7bde", "#502d96"],
|
||||
colorOn: ["#e62525", "#79d64b"],
|
||||
category: "solids",
|
||||
tempHigh: 1052224,
|
||||
conduct: 0.37,
|
||||
hardness: 0.91
|
||||
}
|
||||
|
||||
elements.silvanium_sulfate = {
|
||||
behavior: behaviors.WALL,
|
||||
reactions: {
|
||||
|
|
@ -2675,8 +2912,6 @@ elements.cooked_chicken = {
|
|||
},
|
||||
tempHigh: 300,
|
||||
stateHigh: "ash",
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_meat",
|
||||
category:"food",
|
||||
burn:15,
|
||||
burnTime:200,
|
||||
|
|
@ -2845,7 +3080,222 @@ elements.otherworldy_dirt = {
|
|||
tempHigh: 5600,
|
||||
category:"land",
|
||||
state: "solid",
|
||||
density: 8321
|
||||
density: 8321,
|
||||
fireColor: ["#4259ff","#697aff","#5361ca"],
|
||||
}
|
||||
|
||||
elements.liquid_fire = {
|
||||
color: ["#ff6b21","#ffa600","#ff4000"],
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"water": { elem1: "smoke" },
|
||||
"steam": { elem1: "smoke" },
|
||||
"carbon_dioxide": { elem1: "smoke" },
|
||||
"foam": { elem1: "smoke" },
|
||||
"dirty_water": { elem1: "smoke" },
|
||||
"salt_water": { elem1: "smoke" },
|
||||
"sugar_water": { elem1: "smoke" },
|
||||
"seltzer": { elem1: "smoke" },
|
||||
"pool_water": { elem1: "smoke" },
|
||||
"oxygen": { elem2: null, chance:0.1 },
|
||||
},
|
||||
temp:600,
|
||||
tempLow:100,
|
||||
stateLow: "smoke",
|
||||
tempHigh: 7000,
|
||||
stateHigh: "plasma",
|
||||
category: "special",
|
||||
state: "liquid",
|
||||
density: 0.1,
|
||||
ignoreAir: true,
|
||||
noMix: true
|
||||
}
|
||||
|
||||
elements.unincinerate = {
|
||||
color: ["#e600ff","#d984d8","#ff00e1"],
|
||||
tool: function(pixel) {
|
||||
pixel.temp += -10000;
|
||||
if (!pixel.burning && elements[pixel.element].burn) {
|
||||
pixel.burning = true;
|
||||
pixel.burnStart = pixelTicks;
|
||||
}
|
||||
pixelTempCheck(pixel);
|
||||
},
|
||||
category: "tools",
|
||||
excludeRandom: true
|
||||
}
|
||||
|
||||
elements.plasmageddon = {
|
||||
color: "#7f19a7",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:10>plasmageddon,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma%25 AND DL%10|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
hidden: true,
|
||||
excludeRandom: true,
|
||||
maxSize: 1,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.wetgeddon = {
|
||||
color: "#1953a6",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:10>wetgeddon,water,water,water,water,water,water,water,water,water,water,water,water%25 AND DL%2|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
hidden: true,
|
||||
excludeRandom: true,
|
||||
maxSize: 1,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.eternal_wetgeddon = {
|
||||
color: "#1953a6",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:10>eternal_wetgeddon,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid,water_but_it_stays_liquid%25 AND DL%2|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
hidden: true,
|
||||
excludeRandom: true,
|
||||
maxSize: 1,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
|
||||
elements.fast_armageddon = {
|
||||
color: "#a62900",
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|EX:10>armageddon,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire,fire%50 AND DL%10|XX",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
density: 1300,
|
||||
hidden: true,
|
||||
excludeRandom: true,
|
||||
maxSize: 1,
|
||||
cooldown: defaultCooldown
|
||||
}
|
||||
|
||||
elements.turtle = {
|
||||
color: ["#249f20", "#124e10"],
|
||||
behavior: [
|
||||
"SW:water%3|XX|SW:water%3",
|
||||
"M2%3|XX|M2%3",
|
||||
"SW:water%3|M1 AND CR:turtle_egg%0.05|SW:water%3",
|
||||
|
||||
],
|
||||
reactions: {
|
||||
"ash": { elem2:[null,null,null,null,null,null,null,null,null,null,"dirt"], chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"crumb": { elem2:[null,null,null,null,null,null,null,null,null,null,"dirt"], chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"sawdust": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"dust": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"rotten_meat": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"yolk": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
|
||||
"frog": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"tadpole": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"worm": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"snail": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"slug": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"fish": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"mudstone": { elem2:"dirt", chance:0.1 },
|
||||
"permafrost": { elem2:"dirt", chance:0.1 },
|
||||
"packed_sand": { elem2:"sand", chance:0.1 },
|
||||
"alcohol": { elem1:null, chance:0.005 },
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "ash",
|
||||
tempLow: 0,
|
||||
stateLow: "frozen_meat",
|
||||
category:"life",
|
||||
breakInto: ["crushed_shell", "blood"],
|
||||
burn:20,
|
||||
burnTime:50,
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
conduct: 0.17
|
||||
}
|
||||
|
||||
elements.baby_turtle = {
|
||||
color: ["#249f20", "#124e10"],
|
||||
behavior: [
|
||||
"SW:water%3|XX|SW:water%3",
|
||||
"M2%3|CH:turtle%0.01|M2%3",
|
||||
"SW:water%3|M1|SW:water%3",
|
||||
|
||||
],
|
||||
reactions: {
|
||||
"ash": { elem2:[null,null,null,null,null,null,null,null,null,null,"dirt"], chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"crumb": { elem2:[null,null,null,null,null,null,null,null,null,null,"dirt"], chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"sawdust": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"dust": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
|
||||
"rotten_meat": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL },
|
||||
"yolk": { elem2:null, chance:0.01, func:behaviors.FEEDPIXEL },
|
||||
"frog": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"tadpole": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"worm": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"snail": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"slug": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"fish": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL },
|
||||
"mudstone": { elem2:"dirt", chance:0.1 },
|
||||
"permafrost": { elem2:"dirt", chance:0.1 },
|
||||
"packed_sand": { elem2:"sand", chance:0.1 },
|
||||
"alcohol": { elem1:null, chance:0.005 },
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "ash",
|
||||
tempLow: 0,
|
||||
stateLow: "frozen_meat",
|
||||
category:"life",
|
||||
breakInto: ["crushed_shell", "blood"],
|
||||
burn:20,
|
||||
burnTime:50,
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
conduct: 0.17
|
||||
}
|
||||
|
||||
elements.shell = {
|
||||
color: ["#cca47c","#adbb63","#559d81","#d7a073","#d9b297"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
hardness: 0.2,
|
||||
noMix: false,
|
||||
breakInto: "crushed_shell"
|
||||
}
|
||||
|
||||
elements.crushed_shell = {
|
||||
color: ["#cca47c","#adbb63","#559d81","#d7a073","#d9b297"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
hardness: 0.2,
|
||||
noMix: false,
|
||||
}
|
||||
|
||||
elements.turtle_egg = {
|
||||
color: ["#a9c7ce","#83c1cf"],
|
||||
behavior: behaviors.SUPPORTPOWDER , behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|CH:baby_turtle%0.02|XX",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
category: "life",
|
||||
hardness: 0.2,
|
||||
noMix: false,
|
||||
breakInto: "crushed_shell"
|
||||
}
|
||||
|
||||
if (!elements.sand.reactions) { elements.sand.reactions = {} }
|
||||
|
|
@ -2882,6 +3332,11 @@ runAfterAutogen(() => {
|
|||
elements.molten_sulfur.reactions.silvanium = { elem1:"silvanium_sulfate", elem2:"silvanium_sulfate" }
|
||||
})
|
||||
|
||||
runAfterAutogen(() => {
|
||||
if (!elements.molten_silvanium.reactions) { elements.molten_silvanium.reactions = {} }
|
||||
elements.molten_silvanium.reactions.molten_alienite = { elem1:"silvanium_alite", elem2:"silvanium_alite" }
|
||||
})
|
||||
|
||||
|
||||
if (!elements.wall.reactions) { elements.wall.reactions = {} }
|
||||
elements.wall.reactions.plasma3 = { elem1:"plasma3", elem2:"plasma3" }
|
||||
|
|
@ -2919,5 +3374,15 @@ elements.when_iium.reactions.when_i_particles = { elem1:"when_i_particles", elem
|
|||
if (!elements.ash.reactions) { elements.ash.reactions = {} }
|
||||
elements.ash.reactions.dust = { elem1:"dusty_ash", elem2:"dusty_ash" }
|
||||
|
||||
elements.steel.hardness = 0.85
|
||||
|
||||
// important colors: ["#000000", "#edff00", "#3a3a3a", "#ff0000"], ["#82c0ff", "#ff8282"],
|
||||
elements.uncharge.category = "tools"
|
||||
|
||||
elements.incinerate.category = "tools"
|
||||
|
||||
elements.room_temp.category = "tools"
|
||||
|
||||
elements.heat_ray.category = "rays"
|
||||
|
||||
|
||||
// important colors: ["#000000", "#edff00", "#3a3a3a", "#ff0000"], ["#82c0ff", "#ff8282"], ["#cca77c","#ad8b63","#b59d81","#c7a073","#c9b297"],
|
||||
Loading…
Reference in New Issue