Merge branch 'main' of https://github.com/GGodPL/sandboxels
This commit is contained in:
commit
3dae0a9951
14
lang/cs.json
14
lang/cs.json
|
|
@ -23,7 +23,7 @@
|
|||
"shock":"Šok",
|
||||
"paint":"Malovat",
|
||||
"sand":"Písek",
|
||||
"water":"Voda",
|
||||
"water":"Voda",
|
||||
"salt_water":"Slaná_Voda",
|
||||
"sugar_water":"Sladká_Voda",
|
||||
"seltzer":"Minerální_Voda",
|
||||
|
|
@ -305,7 +305,7 @@
|
|||
"crumb":"Drobek",
|
||||
"baked_batter":"Dort",
|
||||
"wheat":"Pšenice",
|
||||
"candy":"Sladkosti",
|
||||
"candy":"Sladkost",
|
||||
"coffee_bean":"Kávové_Zrna",
|
||||
"coffee_ground":"Mletá_Káva",
|
||||
"nut":"Ořech",
|
||||
|
|
@ -444,7 +444,7 @@
|
|||
"supernova":"Supernova",
|
||||
"cook":"Vařit",
|
||||
"incinerate":"Spálit",
|
||||
"room_temp":"Teplota_Pokoje",
|
||||
"room_temp":"Pokojová_Teplota",
|
||||
"positron":"Pozitron",
|
||||
"tnt":"TNT",
|
||||
"c4":"C-4",
|
||||
|
|
@ -541,7 +541,11 @@
|
|||
"tornado":"Tornádo",
|
||||
"earthquake":"Zemětřesení",
|
||||
"tsunami":"Tsunami",
|
||||
"blaster":"Blaster",
|
||||
"blaster":"Lazerová_Pistole",
|
||||
"propane_ice":"Zrmzlý_Propan",
|
||||
"molten_caustic_potash":"Rozteklý_Potaš"
|
||||
"molten_caustic_potash":"Rozteklý_Potaš",
|
||||
"spider": "Pavouk",
|
||||
"web": "Pavučina",
|
||||
"rice": "Rýže",
|
||||
"midas_touch": "Midasův_Dotek"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ var json = `{
|
|||
"food": "",
|
||||
"machines": "",
|
||||
"special": "",
|
||||
"states": "",
|
||||
"other": ""`;
|
||||
for (var element in elements) {
|
||||
json += ',\n"'+element+'": ""'
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@
|
|||
"copper":"réz",
|
||||
"gold":"arany",
|
||||
"steel":"acél",
|
||||
"galvanized_steel":"horganyzott_acél"
|
||||
"galvanized_steel":"horganyzott_acél",
|
||||
"nickel":"nikkel",
|
||||
"zinc":"cink",
|
||||
"silver":"ezüst",
|
||||
|
|
@ -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ő",
|
||||
|
|
|
|||
|
|
@ -479,7 +479,7 @@
|
|||
"prop":"реквизит",
|
||||
"salt_ice":"солёный лёд",
|
||||
"sugar_ice":"сладкий лёд",
|
||||
"seltzer_ice":"селтизерный лёд",
|
||||
"seltzer_ice":"минеральный лёд",
|
||||
"dirty_ice":"грязный лёд",
|
||||
"pool_ice":"лёд в бассейне",
|
||||
"blood_ice":"кровяной лёд",
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
"rad_glass": "",
|
||||
"meat": "",
|
||||
"rotten_meat": "",
|
||||
"cured_meat": "",
|
||||
"cooked_meat": "",
|
||||
"frozen_meat": "",
|
||||
"salt": "",
|
||||
|
|
@ -98,10 +99,12 @@
|
|||
"flea": "",
|
||||
"termite": "",
|
||||
"ant": "",
|
||||
"spider": "",
|
||||
"web": "",
|
||||
"fly": "",
|
||||
"firefly": "",
|
||||
"hive": "",
|
||||
"bee": "",
|
||||
"hive": "",
|
||||
"stink_bug": "",
|
||||
"dead_bug": "",
|
||||
"human": "",
|
||||
|
|
@ -123,12 +126,14 @@
|
|||
"pipe_wall": "",
|
||||
"mixer": "",
|
||||
"grinder": "",
|
||||
"fuse": "",
|
||||
"ewall": "",
|
||||
"torch": "",
|
||||
"spout": "",
|
||||
"udder": "",
|
||||
"bone_marrow": "",
|
||||
"bone": "",
|
||||
"ball": "",
|
||||
"balloon": "",
|
||||
"antipowder": "",
|
||||
"antimolten": "",
|
||||
|
|
@ -142,7 +147,6 @@
|
|||
"light": "",
|
||||
"liquid_light": "",
|
||||
"laser": "",
|
||||
"ball": "",
|
||||
"pointer": "",
|
||||
"charcoal": "",
|
||||
"tinder": "",
|
||||
|
|
@ -153,12 +157,14 @@
|
|||
"nitrogen": "",
|
||||
"helium": "",
|
||||
"anesthesia": "",
|
||||
"carbon_dioxide": "",
|
||||
"bubble": "",
|
||||
"ammonia": "",
|
||||
"liquid_ammonia": "",
|
||||
"carbon_dioxide": "",
|
||||
"oil": "",
|
||||
"lamp_oil": "",
|
||||
"propane": "",
|
||||
"liquid_propane": "",
|
||||
"methane": "",
|
||||
"liquid_methane": "",
|
||||
"stained_glass": "",
|
||||
|
|
@ -190,7 +196,6 @@
|
|||
"vine": "",
|
||||
"bamboo_plant": "",
|
||||
"foam": "",
|
||||
"bubble": "",
|
||||
"acid": "",
|
||||
"neutral_acid": "",
|
||||
"acid_gas": "",
|
||||
|
|
@ -225,7 +230,6 @@
|
|||
"wax": "",
|
||||
"melted_wax": "",
|
||||
"incense": "",
|
||||
"fuse": "",
|
||||
"dioxin": "",
|
||||
"insulation": "",
|
||||
"sponge": "",
|
||||
|
|
@ -234,11 +238,12 @@
|
|||
"copper": "",
|
||||
"gold": "",
|
||||
"steel": "",
|
||||
"nickel": "",
|
||||
"galvanized_steel": "",
|
||||
"zinc": "",
|
||||
"silver": "",
|
||||
"tin": "",
|
||||
"lead": "",
|
||||
"nickel": "",
|
||||
"aluminum": "",
|
||||
"tungsten": "",
|
||||
"molten_tungsten": "",
|
||||
|
|
@ -254,7 +259,9 @@
|
|||
"electrum": "",
|
||||
"pyrite": "",
|
||||
"solder": "",
|
||||
"amber": "",
|
||||
"molten_copper": "",
|
||||
"molten_copper_sulfate": "",
|
||||
"molten_gold": "",
|
||||
"molten_silver": "",
|
||||
"molten_iron": "",
|
||||
|
|
@ -273,6 +280,7 @@
|
|||
"egg": "",
|
||||
"yolk": "",
|
||||
"hard_yolk": "",
|
||||
"cream": "",
|
||||
"nut_milk": "",
|
||||
"dough": "",
|
||||
"batter": "",
|
||||
|
|
@ -280,7 +288,9 @@
|
|||
"butter": "",
|
||||
"cheese": "",
|
||||
"rotten_cheese": "",
|
||||
"cheese_powder": "",
|
||||
"chocolate": "",
|
||||
"chocolate_powder": "",
|
||||
"grape": "",
|
||||
"vinegar": "",
|
||||
"herb": "",
|
||||
|
|
@ -306,10 +316,12 @@
|
|||
"crumb": "",
|
||||
"baked_batter": "",
|
||||
"wheat": "",
|
||||
"rice": "",
|
||||
"candy": "",
|
||||
"coffee_bean": "",
|
||||
"coffee_ground": "",
|
||||
"nut": "",
|
||||
"nut_oil": "",
|
||||
"nut_meat": "",
|
||||
"nut_butter": "",
|
||||
"jelly": "",
|
||||
|
|
@ -317,7 +329,6 @@
|
|||
"yogurt": "",
|
||||
"frozen_yogurt": "",
|
||||
"ice_cream": "",
|
||||
"cream": "",
|
||||
"beans": "",
|
||||
"dry_ice": "",
|
||||
"nitrogen_ice": "",
|
||||
|
|
@ -350,11 +361,12 @@
|
|||
"coffee": "",
|
||||
"honey": "",
|
||||
"sap": "",
|
||||
"amber": "",
|
||||
"caramel": "",
|
||||
"molasses": "",
|
||||
"ketchup": "",
|
||||
"mayo": "",
|
||||
"grease": "",
|
||||
"fat": "",
|
||||
"melted_chocolate": "",
|
||||
"liquid_hydrogen": "",
|
||||
"liquid_oxygen": "",
|
||||
|
|
@ -368,6 +380,11 @@
|
|||
"limestone": "",
|
||||
"quicklime": "",
|
||||
"slaked_lime": "",
|
||||
"potassium": "",
|
||||
"molten_potassium": "",
|
||||
"potassium_gas": "",
|
||||
"magnesium": "",
|
||||
"molten_magnesium": "",
|
||||
"thermite": "",
|
||||
"molten_thermite": "",
|
||||
"slag": "",
|
||||
|
|
@ -384,19 +401,24 @@
|
|||
"cyanide": "",
|
||||
"cyanide_gas": "",
|
||||
"ozone": "",
|
||||
"liquid_ozone": "",
|
||||
"cloud": "",
|
||||
"rain_cloud": "",
|
||||
"snow_cloud": "",
|
||||
"hail_cloud": "",
|
||||
"thunder_cloud": "",
|
||||
"acid_cloud": "",
|
||||
"sandstorm": "",
|
||||
"pyrocumulus": "",
|
||||
"fire_cloud": "",
|
||||
"rad_cloud": "",
|
||||
"rad_steam": "",
|
||||
"color_smoke": "",
|
||||
"spray_paint": "",
|
||||
"led_r": "",
|
||||
"led_g": "",
|
||||
"led_b": "",
|
||||
"light_bulb": "",
|
||||
"sulfur": "",
|
||||
"molten_sulfur": "",
|
||||
"sulfur_gas": "",
|
||||
|
|
@ -404,9 +426,8 @@
|
|||
"snake": "",
|
||||
"loopy": "",
|
||||
"warp": "",
|
||||
"midas_touch": "",
|
||||
"radiation": "",
|
||||
"rad_steam": "",
|
||||
"rad_cloud": "",
|
||||
"fallout": "",
|
||||
"neutron": "",
|
||||
"proton": "",
|
||||
|
|
@ -433,6 +454,7 @@
|
|||
"borax": "",
|
||||
"epsom_salt": "",
|
||||
"potassium_salt": "",
|
||||
"caustic_potash": "",
|
||||
"sodium_acetate": "",
|
||||
"lightning": "",
|
||||
"bless": "",
|
||||
|
|
@ -463,6 +485,7 @@
|
|||
"greek_fire": "",
|
||||
"fireball": "",
|
||||
"rocket": "",
|
||||
"antibomb": "",
|
||||
"cold_bomb": "",
|
||||
"hot_bomb": "",
|
||||
"antimatter_bomb": "",
|
||||
|
|
@ -471,9 +494,12 @@
|
|||
"flash": "",
|
||||
"smoke_grenade": "",
|
||||
"landmine": "",
|
||||
"tornado": "",
|
||||
"earthquake": "",
|
||||
"tsunami": "",
|
||||
"blaster": "",
|
||||
"armageddon": "",
|
||||
"tesla_coil": "",
|
||||
"light_bulb": "",
|
||||
"shocker": "",
|
||||
"pressure_plate": "",
|
||||
"primordial_soup": "",
|
||||
|
|
@ -493,12 +519,13 @@
|
|||
"slime_ice": "",
|
||||
"antiice": "",
|
||||
"ammonia_ice": "",
|
||||
"liquid_propane": "",
|
||||
"propane_ice": "",
|
||||
"methane_ice": "",
|
||||
"molten_brick": "",
|
||||
"acid_ice": "",
|
||||
"soda_ice": "",
|
||||
"molten_steel": "",
|
||||
"molten_galvanized_steel": "",
|
||||
"molten_brass": "",
|
||||
"molten_bronze": "",
|
||||
"molten_sterling": "",
|
||||
|
|
@ -521,34 +548,12 @@
|
|||
"molten_amalgam": "",
|
||||
"neon_ice": "",
|
||||
"cyanide_ice": "",
|
||||
"molten_copper_sulfate": "",
|
||||
"molten_alga": "",
|
||||
"molten_metal_scrap": "",
|
||||
"molten_borax": "",
|
||||
"molten_epsom_salt": "",
|
||||
"molten_potassium_salt": "",
|
||||
"molten_sodium_acetate": "",
|
||||
"frozen_nitro": "",
|
||||
"cured_meat": "",
|
||||
"nut_oil": "",
|
||||
"grease": "",
|
||||
"fat": "",
|
||||
"potassium": "",
|
||||
"molten_potassium": "",
|
||||
"magnesium": "",
|
||||
"molten_magnesium": "",
|
||||
"sandstorm": "",
|
||||
"caustic_potash": "",
|
||||
"antibomb": "",
|
||||
"tornado": "",
|
||||
"earthquake": "",
|
||||
"tsunami": "",
|
||||
"blaster": "",
|
||||
"propane_ice": "",
|
||||
"molten_caustic_potash": "",
|
||||
"ectoplasm":"",
|
||||
"soul":"",
|
||||
"tombstone":"",
|
||||
"spider":"",
|
||||
"web":""
|
||||
}
|
||||
"molten_sodium_acetate": "",
|
||||
"frozen_nitro": ""
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -174,6 +174,7 @@
|
|||
<tr><td>selective_paint.js</td><td>Adds a tool to paint only selected elements</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>stripe_paint.js</td><td>Adds a tool to paint with stripes</td><td>Alice</td></tr>
|
||||
<tr><td>texturepack.js</td><td>Adds tools that let you create and share custom texture packs</td><td>nousernamefound</td></tr>
|
||||
<tr><td>text.js</td><td>Adds tools to write text</td><td>RedBirdly</td></tr>
|
||||
<tr><td>the_ground.js</td><td>Adds several rock types, worldgen settings, and gemstones</td><td>Alice</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Science & Chemistry</td></tr><!---->
|
||||
|
|
@ -186,7 +187,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 +231,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>
|
||||
|
|
@ -245,10 +246,12 @@
|
|||
<tr><td>video.js</td><td>Adds a video player</td><td>ggod</td></tr>
|
||||
<tr><td>waterspout.js</td><td>Adds back the old Water Spout</td><td>mollthecoder</td></tr>
|
||||
<tr><td>WhisperingTheory.js</td><td>Adds many more variants of heater and cooler</td><td>kaeud</td></tr>
|
||||
<tr><td>wifi_draw.js</td><td>Draws connections between WiFi in wifi.js and logicgates.js</td><td>RedBirdly</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Weapons</td></tr><!---->
|
||||
<tr><td>aircrafts.js</td><td>Adds aircraft and aircraft part pixels</td><td>Jayd</td></tr>
|
||||
<tr><td>c_fighter_jet.js</td><td>Adds a controllable fighter jet, wasd to move, q+wasd to shoot, gvbn for missiles.</td><td>Jayd</td></tr>
|
||||
<tr><td>guided_rocket.js</td><td>Adds a homing misile.</td><td>voidapex11</td></tr>
|
||||
<tr><td>icb.js</td><td>Adds various levels of nested cluster bombs</td><td>Alice</td></tr>
|
||||
<tr><td>life_eater.js</td><td>Adds Warhammer 40,000’s Life-Eater Virus and Virus Bombs</td><td>Alice</td></tr>
|
||||
<tr><td>liquid_void.js</td><td>Adds a liquid variant of Void</td><td>Alice</td></tr>
|
||||
|
|
@ -284,6 +287,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>
|
||||
|
|
@ -322,6 +326,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>
|
||||
|
|
@ -354,18 +359,23 @@
|
|||
<!----><tr><td class="modCat" colspan="3">Visual Effects</td></tr><!---->
|
||||
<tr><td>acid_and_shapes.js</td><td>Weird visual effects. Enable in Settings</td><td>Alice</td></tr>
|
||||
<tr><td>customBackground.js</td><td>Set your background to an image link</td><td>Jayd</td></tr>
|
||||
<tr><td>fast_lightmap.js</td><td>Makes light sources glow, but the fast version</td><td>RedBirdly</td></tr>
|
||||
<tr><td>fractals.js</td><td>Adds an element and tools to render fractals in game</td><td>nousernamefound</td></tr>
|
||||
<tr><td>hexagon_test.js</td><td>Makes pixels look like hexagons</td><td>RedBirdly</td></tr>
|
||||
<tr><td>heatglow.js</td><td>Red glowing effect for hot metals</td><td>nousernamefound</td></tr>
|
||||
<tr><td>invisible_dye.js</td><td>Adds elements like Dye and Spray Paint that take the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>invisible_wall.js</td><td>Adds an element like Wall that takes the color of the background</td><td>Alice</td></tr>
|
||||
<tr><td>lightmap.js</td><td>Makes light sources glow</td><td>RedBirdly</td></tr>
|
||||
<tr><td>moreViews.js</td><td>Many new rendering modes</td><td>ggod</td></tr>
|
||||
<tr><td>nicer_flame.js</td><td>Makes fire visually pleasing</td><td>RedBirdly</td></tr>
|
||||
<tr><td>occlusion.js</td><td>Adds realistic shadows (similar to Terraria's lighting)</td><td>RedBirdly</td></tr>
|
||||
<tr><td>onecolor.js</td><td>Makes all placed pixels single-colored</td><td>nousernamefound</td></tr>
|
||||
<tr><td>paint_event.js</td><td>Adds a random event that randomly paints a circle</td><td>Alice</td></tr>
|
||||
<tr><td>rainbow_tests.js</td><td>Adds variants of the rainbow element with different maths</td><td>Alice</td></tr>
|
||||
<tr><td>shader_by_jayd.js</td><td>Adds a glow around light elements</td><td>Jayd</td></tr>
|
||||
<tr><td>Shroomboxels.js</td><td>A variant of acid_and_shapes.js that uses a different trigonometric function</td><td>Alice</td></tr>
|
||||
<tr><td>singleColor.js</td><td>Makes all elements pick one color each time they're drawn</td><td>stefanblox</td></tr>
|
||||
<tr><td>sky.js</td><td>Adds a day-night cycle</td><td>RedBirdly</td></tr>
|
||||
<tr><td>texture_pack_by_jayd.js</td><td>Adds a cool background</td><td>Jayd</td></tr>
|
||||
<tr><td>UwUify.js</td><td>Adds an "UwU" background</td><td>Jayd</td></tr>
|
||||
|
||||
|
|
|
|||
|
|
@ -649,7 +649,8 @@ behavior: behaviors.LIQUID,
|
|||
category: "life",
|
||||
state: "liquid",
|
||||
conduct: 0.019,
|
||||
viscosity: 100
|
||||
viscosity: 100,
|
||||
reactions: {}
|
||||
};
|
||||
elements.berry = {
|
||||
burn: 15,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,62 @@
|
|||
// made by dogo8me2 lololol
|
||||
let channelVar = "0";
|
||||
|
||||
// RF Transmitter Element
|
||||
elements.rf_transmitter = {
|
||||
color: "#142c47",
|
||||
category: "machines",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 250,
|
||||
stateHigh: "dirt",
|
||||
hoverStat: function(pixel) {
|
||||
return pixel.channel || "unset";
|
||||
},
|
||||
onSelect: function() {
|
||||
let ans1 = prompt("Set the transmitter channel (numbers only):", channelVar || 0);
|
||||
channelVar = ans1;
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (!pixel.channel) {
|
||||
pixel.channel = channelVar;
|
||||
}
|
||||
for (let i in currentPixels) {
|
||||
let otherPixel = currentPixels[i];
|
||||
if (otherPixel.element == "rf_receiver" && otherPixel.channel == pixel.channel) {
|
||||
for (let j = 0; j < adjacentCoords.length; j++) {
|
||||
let coord = adjacentCoords[j];
|
||||
let x = otherPixel.x + coord[0];
|
||||
let y = otherPixel.y + coord[1];
|
||||
if (!isEmpty(x, y, true)) {
|
||||
let neighborPixel = pixelMap[x][y];
|
||||
if (elements[neighborPixel.element].conduct) {
|
||||
neighborPixel.charge = pixel.charge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
conduct: 1
|
||||
};
|
||||
|
||||
// RF Receiver Element
|
||||
elements.rf_receiver = {
|
||||
color: "#142c47",
|
||||
category: "Machines",
|
||||
behaviors: behaviors.WALL,
|
||||
tempHigh: 250,
|
||||
stateHigh: "dirt",
|
||||
hoverStat: function(pixel) {
|
||||
return pixel.channel || "unset";
|
||||
},
|
||||
onSelect: function() {
|
||||
let ans1 = prompt("Set the receiver channel (numbers only):", channelVar || 0);
|
||||
channelVar = ans1;
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if (!pixel.channel) {
|
||||
pixel.channel = channelVar;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -8032,11 +8032,13 @@ elements.fruit_slush.stateLowColorMultiplier = 1.2;
|
|||
elements.juice_ice.stateHighColorMultiplier = 0.83333333333;
|
||||
elements.juice_ice.stateHigh = "fruit_slush"
|
||||
elements.juice_ice.tempHigh = -20
|
||||
elements[iceelem].stateHigh = "fruit_slush"
|
||||
elements[iceelem].tempHigh = -20
|
||||
if(elements[iceelem]) {
|
||||
elements[iceelem].stateHigh = "fruit_slush"
|
||||
elements[iceelem].tempHigh = -20
|
||||
}
|
||||
|
||||
// fruit milk with milk
|
||||
elements.fruit_milk.reactions.milk = { chance:1, func: function(pixel1, pixel2){
|
||||
elements.fruit_milk.reactions ??= {}; elements.fruit_milk.reactions.milk = { chance:1, func: function(pixel1, pixel2){
|
||||
let newrgb = interpolateRgb(getRGB(pixel1.color), getRGB(pixel2.color), 0.2);
|
||||
if (((newrgb.r + newrgb.g + newrgb.b) / 3) < 230) {
|
||||
changePixel(pixel1,"fruit_milk")
|
||||
|
|
|
|||
45315
mods/a_mod_by_alice.js
45315
mods/a_mod_by_alice.js
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,37 @@
|
|||
elements.hornet = {
|
||||
tempHigh: 200,
|
||||
stateHigh: "dead_bug",
|
||||
color: "#ede48e",
|
||||
behavior: behaviors.FLY,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
behaviorOn: [
|
||||
"XX|CR:flash|XX",
|
||||
"CR:flash|CH:ash|CR:flash",
|
||||
"XX|CR:flash|XX",
|
||||
],
|
||||
reactions: {
|
||||
"head": { elem2: null, },
|
||||
"body": { elem2: null, },
|
||||
"fly": { elem2: null, },
|
||||
"spider": { elem1: null, }
|
||||
}
|
||||
}
|
||||
|
||||
elements.lice = {
|
||||
tempHigh: 212,
|
||||
stateHigh: "dead_bug",
|
||||
color: "#7a7852",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "life",
|
||||
state: "solid",
|
||||
behaviorOn: [
|
||||
"XX|CR:flash|XX",
|
||||
"CR:flash|CH:ash|CR:flash",
|
||||
"XX|CR:flash|XX",
|
||||
],
|
||||
reactions: {
|
||||
"head": { elem2: null, },
|
||||
"body": { elem2: null, }
|
||||
}
|
||||
}
|
||||
204
mods/anmm.js
204
mods/anmm.js
|
|
@ -1,4 +1,3 @@
|
|||
//alice's new mini mod
|
||||
urlParams = new URLSearchParams(window.location.search);
|
||||
|
||||
function elementExists(elementName) {
|
||||
|
|
@ -58,15 +57,17 @@ window.addEventListener("load",function() {
|
|||
};*/
|
||||
});
|
||||
|
||||
function getEmptyVonNeumannNeighbors(pixel) {
|
||||
function getEmptyVonNeumannNeighbors(pixel,returnOffsets=false) {
|
||||
var neighbors = [];
|
||||
var x = pixel.x;
|
||||
var y = pixel.y;
|
||||
for(var i = 0; i < adjacentCoords.length; i++) {
|
||||
var finalX = pixel.x + adjacentCoords[i][0];
|
||||
var finalY = pixel.y + adjacentCoords[i][1];
|
||||
var offsetX = adjacentCoords[i][0];
|
||||
var offsetY = adjacentCoords[i][1];
|
||||
var finalX = pixel.x + offsetX;
|
||||
var finalY = pixel.y + offsetY;
|
||||
if(isEmpty(finalX,finalY,false)) {
|
||||
neighbors.push([finalX,finalY])
|
||||
neighbors.push(returnOffsets ? [offsetX,offsetY] : [finalX,finalY])
|
||||
};
|
||||
};
|
||||
return neighbors
|
||||
|
|
@ -93,15 +94,17 @@ function getPixelMooreNeighbors(pixel) {
|
|||
return neighbors
|
||||
};
|
||||
|
||||
function getEmptyMooreNeighbors(pixel) {
|
||||
function getEmptyMooreNeighbors(pixel,returnOffsets=false) {
|
||||
var neighbors = [];
|
||||
var x = pixel.x;
|
||||
var y = pixel.y;
|
||||
for(var i = 0; i < mooreDonutCoords.length; i++) {
|
||||
var finalX = pixel.x + mooreDonutCoords[i][0];
|
||||
var finalY = pixel.y + mooreDonutCoords[i][1];
|
||||
var offsetX = mooreDonutCoords[i][0];
|
||||
var offsetY = mooreDonutCoords[i][1];
|
||||
var finalX = pixel.x + offsetX;
|
||||
var finalY = pixel.y + offsetY;
|
||||
if(isEmpty(finalX,finalY,false)) {
|
||||
neighbors.push([finalX,finalY])
|
||||
neighbors.push(returnOffsets ? [offsetX,offsetY] : [finalX,finalY])
|
||||
};
|
||||
};
|
||||
return neighbors
|
||||
|
|
@ -187,17 +190,17 @@ var argonChance; if(hasArgon == true) { argonChance = ((1.204 * 0.0093) / elemen
|
|||
|
||||
var condensationMultiplierScaling = Math.abs(-273.15 - (-190));
|
||||
|
||||
function glaciliteBase(pixel,coolingAmount,minimumTemperature,cmsScaling=1.5) {
|
||||
if(pixel.temp > minimumTemperature) {
|
||||
if(pixel.temp - coolingAmount <= minimumTemperature) {
|
||||
pixel.temp = minimumTemperature
|
||||
function glaciliteBase(pixel,coolingAmount,maximumTemperature,cmsScaling=1.5) {
|
||||
if(pixel.temp > maximumTemperature) {
|
||||
if(pixel.temp - coolingAmount <= maximumTemperature) {
|
||||
pixel.temp = maximumTemperature
|
||||
} else {
|
||||
pixel.temp = pixel.temp - coolingAmount;
|
||||
}
|
||||
};
|
||||
|
||||
var condensationMultiplier = 1;
|
||||
if(pixel.temp < -190) { //NOT scaled to minimum temperature OR absolute zero
|
||||
if(pixel.temp < -190) { //NOT scaled to maximum temperature OR absolute zero
|
||||
var distanceFromNegative190 = Math.abs((-190) - pixel.temp);
|
||||
condensationMultiplier = Math.max(6,1 + (distanceFromNegative190 / (condensationMultiplierScaling / cmsScaling)));
|
||||
}
|
||||
|
|
@ -243,7 +246,7 @@ elements.glacilite = {
|
|||
breakInto: "glacilite_shard",
|
||||
color: ["#17BBF6","#70A4FE","#6ADCEE","#8EA9FF"],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_glacilite",
|
||||
stateHigh: "liquified_glacilite",
|
||||
tick: function(pixel) {
|
||||
glaciliteBase(pixel,5,-190)
|
||||
}
|
||||
|
|
@ -259,13 +262,13 @@ elements.glacilite_shard = {
|
|||
temp: -190,
|
||||
color: ["#17BBF6","#70A4FE","#6ADCEE","#8EA9FF"],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "liquid_glacilite",
|
||||
stateHigh: "liquified_glacilite",
|
||||
tick: function(pixel) {
|
||||
glaciliteBase(pixel,5,-190)
|
||||
}
|
||||
}
|
||||
|
||||
elements.liquid_glacilite = {
|
||||
elements.liquified_glacilite = {
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
category: "liquids",
|
||||
|
|
@ -275,21 +278,21 @@ elements.liquid_glacilite = {
|
|||
hardness: 0.99,
|
||||
color: ["#01BFE1","#2404C3","#0763DB","#04308F","#3AF0F3"],
|
||||
tempHigh: 1200,
|
||||
stateHigh: "molten_glacilite",
|
||||
stateHigh: "liquified_glacilite",
|
||||
tick: function(pixel) {
|
||||
var minimumTemperature = (settings.abszero ?? -273.15);
|
||||
var maximumTemperature = (settings.abszero ?? -273.15);
|
||||
var coolingAmount = 14;
|
||||
var cmsScaling = 3.5;
|
||||
if(pixel.temp > minimumTemperature) {
|
||||
if(pixel.temp - coolingAmount <= minimumTemperature) {
|
||||
pixel.temp = minimumTemperature
|
||||
if(pixel.temp > maximumTemperature) {
|
||||
if(pixel.temp - coolingAmount <= maximumTemperature) {
|
||||
pixel.temp = maximumTemperature
|
||||
} else {
|
||||
pixel.temp = pixel.temp - coolingAmount;
|
||||
}
|
||||
};
|
||||
|
||||
var condensationMultiplier = 1;
|
||||
if(pixel.temp < -150) { //NOT scaled to minimum temperature OR absolute zero
|
||||
if(pixel.temp < -150) { //NOT scaled to maximum temperature OR absolute zero
|
||||
var distanceFromNegative190 = Math.abs((-190) - pixel.temp);
|
||||
condensationMultiplier = Math.max(6,1 + (distanceFromNegative190 / (condensationMultiplierScaling / cmsScaling)));
|
||||
};
|
||||
|
|
@ -344,6 +347,159 @@ elements.liquid_glacilite = {
|
|||
}
|
||||
}
|
||||
|
||||
function igniscidBase(pixel,heatingAmount,minimumTemperature,nerfExponent) {
|
||||
if(pixel.temp < minimumTemperature) {
|
||||
if(pixel.temp + heatingAmount >= minimumTemperature) {
|
||||
pixel.temp = minimumTemperature
|
||||
} else {
|
||||
pixel.temp = pixel.temp + heatingAmount;
|
||||
}
|
||||
};
|
||||
|
||||
var nerfFactor = 1;
|
||||
if(pixel.temp > minimumTemperature) { nerfFactor = 1 / (Math.log10((pixel.temp - (minimumTemperature - 1))) + 1) ** nerfExponent };
|
||||
if(Math.random() < (0.04 * nerfFactor)) { pixel.temp += heatingAmount };
|
||||
|
||||
var emptyNeighbors = getEmptyVonNeumannNeighbors(pixel,true);
|
||||
var element = "fire";
|
||||
var temp = pixel.temp;
|
||||
if(pixel.temp >= 7000) {
|
||||
element = "plasma";
|
||||
temp = Math.max(temp,5000);
|
||||
} else if(pixel.temp < 100) {
|
||||
element = "smoke";
|
||||
pixel.temp += 1.5;
|
||||
};
|
||||
for(var i = 0; i < emptyNeighbors.length; i++) {
|
||||
var coords = emptyNeighbors[i];
|
||||
var distance = coords.map(x => Math.abs(x)).reduce((a,b) => a + b);
|
||||
coords = [coords[0]+pixel.x,coords[1]+pixel.y];
|
||||
var chance = 1/distance;
|
||||
var newPixel = createPixelReturn(element,...coords);
|
||||
if(newPixel && (newPixel.temp < pixel.temp)) {
|
||||
newPixel.temp = temp
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
elements.igniscid = {
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
category: "solids",
|
||||
density: 3300,
|
||||
hardness: 0.44,
|
||||
temp: 1200,
|
||||
breakInto: "igniscid_shard",
|
||||
color: ["#f68317","#f6b317","#eeea6a","#ffa38e"],
|
||||
tempHigh: 11000,
|
||||
stateHigh: "liquified_igniscid",
|
||||
tick: function(pixel) {
|
||||
igniscidBase(pixel,4,1200,1.2)
|
||||
}
|
||||
}
|
||||
|
||||
elements.igniscid_shard = {
|
||||
behavior: behaviors.POWDER,
|
||||
state: "solid",
|
||||
category: "powders",
|
||||
hidden: true,
|
||||
density: 3100,
|
||||
hardness: 0.89,
|
||||
temp: 1200,
|
||||
color: ["#f68317","#f6b317","#eeea6a","#ffa38e"],
|
||||
tempHigh: 11000,
|
||||
stateHigh: "liquified_igniscid",
|
||||
tick: function(pixel) {
|
||||
igniscidBase(pixel,4,1200,1.2)
|
||||
}
|
||||
}
|
||||
|
||||
elements.liquified_igniscid = {
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
category: "liquids",
|
||||
hidden: true,
|
||||
density: 2790,
|
||||
temp: 12000,
|
||||
hardness: 0.99,
|
||||
color: ["#f77b0f","#e0410b","#db4a07","#f5ac7f","#f3593a"],
|
||||
tick: function(pixel) {
|
||||
igniscidBase(pixel,12,100000,0.5)
|
||||
}
|
||||
}
|
||||
|
||||
elements.frozen_fertilizer = {
|
||||
color: ["#4d341d","#40301c","#3d2814"],
|
||||
behavior: [
|
||||
"CR:stench,stench,methane%0.25|CR:stench,stench,methane%0.5|CR:stench,stench,methane%0.25",
|
||||
"CR:stench,stench,methane%0.5|XX|CR:stench,stench,methane%0.5",
|
||||
"CR:stench,stench,methane%0.25|CR:stench,stench,methane%0.5|CR:stench,stench,methane%0.25"
|
||||
],
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 0,
|
||||
stateHigh: "fertilizer",
|
||||
category: "solids",
|
||||
hardness: 0.35,
|
||||
breakInto: "fertilizer",
|
||||
state: "solid",
|
||||
density: 1060,
|
||||
stain: 0.01,
|
||||
hidden: true,
|
||||
},
|
||||
|
||||
elements.fertilizer = {
|
||||
color: ["#451f0a","#542b07","#593317"],
|
||||
behavior: [
|
||||
"CR:stench,stench,methane%0.25|CR:stench,stench,methane%0.5|CR:stench,stench,methane%0.25",
|
||||
"M2 AND CR:stench,stench,methane%0.5|XX|M2 AND CR:stench,stench,methane%0.5",
|
||||
"M1|M1|M1"
|
||||
],
|
||||
viscosity: 8000,
|
||||
tempHigh: 40,
|
||||
stateHigh: ["poison","stench","methane","dried_fertilizer","dried_fertilizer","dried_fertilizer","dried_fertilizer","dried_fertilizer","dried_fertilizer","dried_fertilizer","dried_fertilizer"],
|
||||
tempLow: 0,
|
||||
stateLow: "frozen_fertilizer",
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1060,
|
||||
stain: 0.07
|
||||
},
|
||||
|
||||
elements.dried_fertilizer = {
|
||||
color: ["#4f382b","#66462b","#704a2b"],
|
||||
behavior: [
|
||||
"CR:stench,stench,methane%0.15|CR:stench,stench,methane%0.3|CR:stench,stench,methane%0.15",
|
||||
"CR:stench,stench,methane%0.3|XX|CR:stench,stench,methane%0.3",
|
||||
"M2|M1|M2"
|
||||
],
|
||||
tempHigh: 100,
|
||||
stateHigh: ["steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","steam","stench","poison","stench","poison","methane","methane","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer","cooked_fertilizer",],
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1100,
|
||||
stain: 0.045,
|
||||
hidden: true
|
||||
},
|
||||
|
||||
elements.cooked_fertilizer = {
|
||||
color: ["#473931","#594636","#4f3621"],
|
||||
behavior: [
|
||||
"CR:stench,stench,methane%0.1|CR:stench,stench,methane%0.2|CR:stench,stench,methane%0.1",
|
||||
"CR:stench,stench,methane%0.2|XX|CR:stench,stench,methane%0.2",
|
||||
"M2|M1|M2"
|
||||
],
|
||||
tempHigh: 550,
|
||||
stateHigh: ["charcoal","hydrogen","oxygen","nitrogen","sulfur_gas","metal_scrap","calcium","stench","poison_gas","steam","dust"],
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
density: 1240,
|
||||
burn: 3,
|
||||
burnTime: 260,
|
||||
fireElement: ["stench","smoke","carbon_dioxide","poison_gas","fire","fire","fire","fire"],
|
||||
burnInto: ["charcoal","hydrogen","oxygen","nitrogen","molten_sulfur","metal_scrap","calcium","stench","poison_gas","steam","dust","stench","poison_gas","smoke"],
|
||||
hidden: true
|
||||
},
|
||||
|
||||
elements.fartium = {
|
||||
behavior: behaviors.LIQUID,
|
||||
state: "liquid",
|
||||
|
|
@ -356,7 +512,7 @@ elements.fartium = {
|
|||
stateHigh: ["fire","explosion","fire","stench","stench"],
|
||||
burn: 0.8,
|
||||
burnTime: 150,
|
||||
burnInto: ["stench","stench","stench","stench","fire","fire","fire","fire","molten_sulfur","explosion"],
|
||||
burnInto: ["stench","stench","stench","stench","fire","fire","fire","fire","liquified_sulfur","explosion"],
|
||||
tick: function(pixel) {
|
||||
var chanceModifier = Math.min(0.22,(pixel.temp - 20) / 750);
|
||||
if(chanceModifier < 0) { chanceModifier *= 2 };
|
||||
|
|
|
|||
|
|
@ -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" }
|
||||
},
|
||||
};
|
||||
9055
mods/biology.js
9055
mods/biology.js
File diff suppressed because it is too large
Load Diff
|
|
@ -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,
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
function getRandomSize(min, max) {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
|
||||
function randomizeall() {
|
||||
const elements = document.querySelectorAll('*');
|
||||
|
||||
elements.forEach(element => {
|
||||
const randomFontSize = getRandomSize(1, 150);
|
||||
element.style.fontSize = `${randomFontSize}px`;
|
||||
|
||||
if (element.offsetWidth > 0 && element.offsetHeight > 0) {
|
||||
const randomWidth = getRandomSize(1, 500);
|
||||
const randomHeight = getRandomSize(1, 500);
|
||||
element.style.width = `${randomWidth}px`;
|
||||
element.style.height = `${randomHeight}px`;
|
||||
}
|
||||
|
||||
if (window.getComputedStyle(element).position === 'absolute' || window.getComputedStyle(element).position === 'relative') {
|
||||
const randomTop = getRandomSize(1, window.innerHeight - 1);
|
||||
const randomLeft = getRandomSize(1, window.innerWidth - 1);
|
||||
element.style.position = 'absolute';
|
||||
element.style.top = `${randomTop}px`;
|
||||
element.style.left = `${randomLeft}px`;
|
||||
}
|
||||
|
||||
const randomRotation = getRandomSize(-360, 360);
|
||||
element.style.transform = `rotate(${randomRotation}deg)`;
|
||||
});
|
||||
}
|
||||
|
||||
setTimeout(randomizeall, 15000);
|
||||
|
|
@ -0,0 +1,494 @@
|
|||
//it would be cool to put this on the website :D
|
||||
//thanks r74n and sandboxels mod devs for the idea for making this and adding so much value to my gaming experience
|
||||
//if one needs a desc for the mod list on the website it'd be something around "charson's mods compiled such as random foods and random elements asked for by random people, beta"
|
||||
//thanks!
|
||||
|
||||
elements.syrup = {
|
||||
color: "#a13d08",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 100000,
|
||||
state: "liquid",
|
||||
density: 720,
|
||||
isFood: true,
|
||||
desc: "maple syrup",
|
||||
reactions: {
|
||||
"head": { elem1: null, elem2:"head" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.akshajium = {
|
||||
color: ["#a8160c", "#fdff94", "#d47d20"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
viscosity: 10000,
|
||||
state: "solid",
|
||||
density: 100,
|
||||
desc: "its pizza",
|
||||
reactions: {
|
||||
"head": { elem1: null, elem2:"head" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.brioche_steam = {
|
||||
color: "#ab8c60",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 720,
|
||||
temp: 80,
|
||||
tempLow: 30,
|
||||
desc: "how does this make any sense?",
|
||||
stateLow: ["brioche"],
|
||||
isFood: true,
|
||||
};
|
||||
|
||||
elements.fancy_dough = {
|
||||
color: "#d1c0a5",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 999999,
|
||||
state: "liquid",
|
||||
density: 720,
|
||||
temp: 30,
|
||||
tempHigh: 50,
|
||||
stateHigh: ["steam", "brioche_steam"],
|
||||
desc: "it can be evaporated",
|
||||
reactions: {
|
||||
"head": { elem1: null, elem2:"head" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.brioche = {
|
||||
color: ["#c2770e", "#b06227"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "food",
|
||||
temp: 30,
|
||||
tempHigh: 80,
|
||||
tempLow: 10,
|
||||
stateHigh: ["fragrance", "ash"],
|
||||
stateLow: ["cold_brioche"],
|
||||
burn: 55,
|
||||
isFood: true,
|
||||
breakInto: "fancy_flour",
|
||||
reactions: {
|
||||
"head": { elem1: null, elem2:"head" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.aresium = {
|
||||
color: "#1017ad",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
temp: 19,
|
||||
tempHigh: 100,
|
||||
tempLow: -20,
|
||||
stateHigh: ["skibidi_aresium"],
|
||||
stateLow: ["magma", "electric"],
|
||||
desc: "it's a transition metal named after mars",
|
||||
burn: 0,
|
||||
conduct: 1,
|
||||
};
|
||||
|
||||
elements.skibidi_aresium = {
|
||||
color: "#ad1051",
|
||||
behavior: behaviors.MOLTEN,
|
||||
category: "states",
|
||||
temp: 100,
|
||||
tempHigh: 153,
|
||||
stateHigh: ["tnt", "molten_iron", "copper", "explosion"],
|
||||
burn: 0,
|
||||
conduct: 1,
|
||||
};
|
||||
|
||||
elements.cold_brioche = {
|
||||
color: "#5f7a8c",
|
||||
behavior: behaviors.WALL,
|
||||
category: "states",
|
||||
temp: 5,
|
||||
tempHigh: 30,
|
||||
stateHigh: ["brioche"],
|
||||
};
|
||||
|
||||
elements.fancy_flour = {
|
||||
color: "#f5e9b5",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
temp: 20,
|
||||
tempHigh: 70,
|
||||
burn: 70,
|
||||
stateHigh: ["fragrance", "smoke"],
|
||||
};
|
||||
|
||||
//thanks to the creator of stickyslime.js for this code
|
||||
elements.syrup.behavior = [
|
||||
"XX|ST|XX",
|
||||
"ST AND M2|XX|ST AND M2",
|
||||
"XX|ST AND M1|XX",
|
||||
];
|
||||
|
||||
elements.briochify = {
|
||||
color: ["#c2770e", "#ff0000", "#00ff00", "#0000ff", "#ffdec4"],
|
||||
tool: function(pixel) {
|
||||
if (pixel.element == "bread") {
|
||||
pixel.element = "brioche"
|
||||
}
|
||||
if (pixel.element == "flour") {
|
||||
pixel.element = "fancy_flour"
|
||||
}
|
||||
if (pixel.element == "dough") {
|
||||
pixel.element = "fancy_dough"
|
||||
}
|
||||
if (pixel.element == "steam") {
|
||||
pixel.element = "brioche_steam"
|
||||
}
|
||||
if (pixel.element == "kai_cenat") {
|
||||
pixel.element = "brioche"
|
||||
}
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
||||
elements.pyrane = {
|
||||
color: "#fc7c19",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
temp: 50,
|
||||
desc: "this is a ripoff of nitrogen gas",
|
||||
tempLow: -20,
|
||||
stateLow: ["fyrium"],
|
||||
reactions: {
|
||||
"ash": { elem1: null, elem2:"pyric_nitrite" },
|
||||
"dirt": { elem1:"pyrane", elem2:"fire" },
|
||||
"hydrogen": { elem1:"hydroid", elem2:"hydroid" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.pyric_nitrite = {
|
||||
color: "#b3270e",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
conduct: 1,
|
||||
desc: "not to be confused with iron pyrite or anything like that",
|
||||
reactions: {
|
||||
"iron": { elem1:"pyric_nitrite", elem2:"pyric_rust" },
|
||||
"oil": { elem1: null, elem2:"nitrol_fuel" },
|
||||
"electric": { elem1:["fire", "nitrogen", "stench", "electric", "explosion"], elem2:"fire" },
|
||||
"shock": { elem1:["fire", "nitrogen", "stench", "electric", "explosion"], elem2:"fire" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.pyric_rust = {
|
||||
color: "#913e17",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
reactions: {
|
||||
"steel": { elem1: null, elem2:"tnt" }
|
||||
}
|
||||
};
|
||||
|
||||
elements.fyrium = {
|
||||
color: "#ffa930",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
tempHigh: 137,
|
||||
stateHigh: ["molten_fyrium"],
|
||||
breakInto: ["fire"],
|
||||
};
|
||||
|
||||
elements.molten_fyrium = {
|
||||
color: "#ffffff",
|
||||
behavior: behaviors.MOLTEN,
|
||||
category: "states",
|
||||
temp: 137,
|
||||
tempLow: -20,
|
||||
stateLow: ["fyrium"],
|
||||
reactions: {
|
||||
"water": { elem1:"fire", elem2:"water" }
|
||||
}
|
||||
};
|
||||
|
||||
elements.nitrol_fuel = {
|
||||
color: "#4f180e",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
temp: 20,
|
||||
reactions: {
|
||||
"wood": { elem1: null, elem2:"fueled_wood" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.fueled_wood = {
|
||||
color: "#631608",
|
||||
behavior: behaviors.WALL,
|
||||
category: "weapons",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
tempHigh: 30,
|
||||
stateHigh: ["rocket", "pyrane", "nitrol_fuel", "explosion", "stench"],
|
||||
reactions: {
|
||||
"fire": { elem1:["rocket", "pyrane", "nitrol_fuel", "explosion", "stench"], elem2:["rocket", "pyrane", "nitrol_fuel", "explosion", "stench"] },
|
||||
}
|
||||
};
|
||||
|
||||
elements.hydroid = {
|
||||
color: "#3a0ca6",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
temp: 20,
|
||||
tempHigh: 100,
|
||||
density: 12,
|
||||
conduct: 1,
|
||||
desc: "this is NOT water",
|
||||
stateHigh: ["pyrane", "steam"],
|
||||
reactions: {
|
||||
"fire": { elem1: "hydroid", elem2:"explosion" },
|
||||
"body": { elem1: "hydroid", elem2:"fyrium" },
|
||||
"head": { elem1: "hydroid", elem2:"pyrane" },
|
||||
"water": { elem1: "hydroid", elem2:"hydroid" },
|
||||
"syrup": { elem1: "hydroid", elem2:"hydroid" },
|
||||
"magma": { elem1: "hydroid", elem2:"hydroid" },
|
||||
"oil": { elem1: "hydroid", elem2:"hydroid" },
|
||||
"juice": { elem1: "hydroid", elem2:"hydroid" },
|
||||
"syrup": { elem1: "hydroid", elem2:"hydroid" },
|
||||
}
|
||||
};
|
||||
|
||||
//by someone named spencer
|
||||
elements.kai_cenat = {
|
||||
color: "#e00b0b",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "special",
|
||||
state: "solid",
|
||||
desc: "wow",
|
||||
conduct: 1,
|
||||
desc: "someone named spencer told me to add this",
|
||||
};
|
||||
|
||||
elements.kai_cenat.behavior = [
|
||||
["XX","CH:kai_cenat","XX"],
|
||||
["CH:kai_cenat","XX","CH:kai_cenat"],
|
||||
["M2","M1 AND CH:kai_cenat","M2"]
|
||||
];
|
||||
|
||||
elements.kai_eraser = {
|
||||
color: ["e00b0b", "#ff0000", "#00ff00", "#0000ff"],
|
||||
tool: function(pixel) {
|
||||
if (pixel.element == "kai_cenat") {
|
||||
pixel.element = "foam"
|
||||
}
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
||||
//ok this is the skibididdy mod part
|
||||
|
||||
elements.tocopherol = {
|
||||
color: "#094237",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
viscosity: 10000,
|
||||
state: "solid",
|
||||
density: 100,
|
||||
reactions: {
|
||||
"sodium_acetate": { elem1:"tocopheryl_acetate", elem2:"sodium" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.freakium = {
|
||||
color: "#ff4fed",
|
||||
behavior: behaviors.DGAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 720,
|
||||
temp: 80,
|
||||
tempLow: 30,
|
||||
reactions: {
|
||||
"head": { elem1:"baby_oil", elem2:"meat" },
|
||||
"body": { elem1:"baby_oil", elem2:"meat" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.tocopheryl_gas = {
|
||||
color: "#96e3d4",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
density: 720,
|
||||
temp: 80,
|
||||
tempLow: 0,
|
||||
stateLow: ["tocopherol"],
|
||||
};
|
||||
|
||||
elements.tocopheryl_acetate = {
|
||||
color: "#cffdff",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
viscosity: 999999,
|
||||
state: "liquid",
|
||||
density: 720,
|
||||
temp: 30,
|
||||
tempHigh: 96,
|
||||
stateHigh: ["tocopheryl_gas"],
|
||||
reactions: {
|
||||
"oil": { elem1:"baby_oil", elem2:"baby_oil" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.diddium = {
|
||||
color: ["#210742", "#9e20d4"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "powders",
|
||||
temp: 30,
|
||||
tempHigh: 80,
|
||||
tempLow: 10,
|
||||
reactions: {
|
||||
"diddium": { elem1:"diddium", elem2:"stable_diddium" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.stable_diddium = {
|
||||
color: ["#210742", "#9e20d4"],
|
||||
behavior: behaviors.WALL,
|
||||
category: "states",
|
||||
temp: 30,
|
||||
tempHigh: 80,
|
||||
tempLow: 10,
|
||||
reactions: {
|
||||
"diddium": { elem1:"freakium", elem2:"diddium" },
|
||||
"stable_diddium": { elem1:"diddium", elem2:"baby_oil" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.baby_oil = {
|
||||
color: "#ffeecc",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
temp: 30,
|
||||
tempHigh: 96,
|
||||
stateHigh: ["tocopheryl_gas"],
|
||||
reactions: {
|
||||
"uranium": { elem1: null, elem2:"diddium" },
|
||||
"diddium": { elem1:"stable_diddium", elem2:"freakium" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.stupidine = {
|
||||
color: "#4e4b75",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
tempHigh: 137,
|
||||
stateHigh: "liquid_stupidine",
|
||||
tempLow: -31,
|
||||
stateLow: "activated_stupidine",
|
||||
reactions: {
|
||||
"stupidine": { elem1: "stupidine", elem2:"fragrance" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.liquid_stupidine = {
|
||||
color: ["#5328c9", "4089e3"],
|
||||
behavior: behaviors.AGLIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
temp: 140,
|
||||
tempHigh: 500,
|
||||
stateHigh: "stupidine_gas",
|
||||
tempLow: 25,
|
||||
stateLow: "skibidine",
|
||||
reactions: {
|
||||
"liquid_stupidine": { elem1:"liquid_stupidine", elem2:"slime" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.stupidine_gas = {
|
||||
color: "#802d3a",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
temp: 500,
|
||||
tempHigh: 1000,
|
||||
stateHigh: ["nuke", "explosion"],
|
||||
tempLow: 200,
|
||||
stateLow: "liquid_stupidine",
|
||||
reactions: {
|
||||
"stupidine_gas": { elem1:"stupidine_gas", elem2:"stench" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.activated_stupidine = {
|
||||
color: "#3d2f61",
|
||||
behavior: behaviors.WALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
temp: 20,
|
||||
reactions: {
|
||||
"stupidine": { elem1:"explosion", elem2:"explosion" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.skibidi_soda = {
|
||||
color: "#3279a8",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
tempHigh: 100,
|
||||
stateHigh: ["skibidiness", "skibidine"],
|
||||
reactions: {
|
||||
"oxygen": { elem1:"skibidi_soda", elem2:"skibidiness" },
|
||||
"head": { elem1: "skibidiness", elem2:"head" },
|
||||
}
|
||||
};
|
||||
|
||||
elements.skibidine = {
|
||||
color: ["#51649c", "949c51"],
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
reactions: {
|
||||
"carbon_dioxide": { elem1:"skibidi_soda", elem2:"skibidi_soda" },
|
||||
"iron": { elem1: "magma", elem2:"stupidine" },
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
elements.skibidiness = {
|
||||
color: "#567de8",
|
||||
behavior: behaviors.GAS,
|
||||
category: "gases",
|
||||
state: "gas",
|
||||
temp: 20,
|
||||
reactions: {
|
||||
"water": { elem1:"skibidiness", elem2:"skibidi_soda"},
|
||||
}
|
||||
};
|
||||
|
||||
//idk how these work and most of them don't idk why but this is just a beta so...
|
||||
|
||||
elements.melted_butter.reactions.bread = { "elem1": null, "elem2":"brioche" },
|
||||
elements.water.reactions.fancy_flour = { "elem1": null, "elem2":"fancy_dough" },
|
||||
elements.wood.reactions.nitrol_fuel = { "elem1":"fueled_wood", "elem2": null },
|
||||
|
||||
elements.brioche.breakInto = "fancy_flour";
|
||||
elements.fyrium.breakInto = "fire";
|
||||
|
||||
elements.fire.reactions.nitrogen = { "elem1": null, "elem2": "pyrane" },
|
||||
elements.ash.reactions.pyrane = { "elem1":"pyric_nitrite", "elem2": null },
|
||||
elements.oil.reactions.pyric_nitrite = { "elem1":"nitrol_fuel", "elem2": null },
|
||||
elements.hydrogen.reactions.pyrane = { "elem1":"hydroid", "elem2": null },
|
||||
elements.fire.reactions.fueled_wood = { "elem1": "fire", "elem2": ["rocket", "pyrane", "nitrol_fuel", "explosion", "stench"] };
|
||||
elements.water.reactions.molten_fyrium = { "elem1": null, "elem2":["fire", "explosion"] },
|
||||
|
||||
elements.brioche.breakInto = "fancy_flour";
|
||||
elements.fyrium.breakInto = "fire";
|
||||
|
|
@ -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"}
|
||||
},
|
||||
};
|
||||
|
|
@ -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]
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
elements.dalgona = {
|
||||
desc: "Dalgona candy from Squid Game",
|
||||
color: "#c49543",
|
||||
behavior: behaviors.WALL,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
tempHigh: 400,
|
||||
stateHigh: "smoke",
|
||||
tempLow: -20,
|
||||
stateLow: "salted_caramel",
|
||||
breakInto: "salted_sugar",
|
||||
};
|
||||
|
||||
elements.salted_caramel = {
|
||||
color: "#c48537",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
tempHigh: 400,
|
||||
temp: -20,
|
||||
stateHigh: "smoke",
|
||||
tempLow: -50,
|
||||
stateLow: "candy",
|
||||
breakInto: "salted_sugar",
|
||||
};
|
||||
elements.salted_sugar = {
|
||||
color: "#fcfcfc",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "food",
|
||||
state: "solid",
|
||||
isFood: true,
|
||||
tempHigh: 170,
|
||||
temp: -20,
|
||||
stateHigh: "salted_caramel",
|
||||
};
|
||||
|
||||
elements.sugar.reactions.salt = { elem1:"salted_sugar", elem2: null };
|
||||
elements.caramel.reactions.salt = { elem1:"salted_caramel", elem2: null };
|
||||
elements.caramel.reactions.baking_soda = { elem1:"dalgona", elem2: null };
|
||||
|
|
@ -0,0 +1,786 @@
|
|||
elements.microplastic = {
|
||||
color: ["#B7BFBF","#c3cccc"],
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
tempHigh: 200,
|
||||
stateHigh: "dioxin",
|
||||
reactions: {
|
||||
"water": { elem1:null, elem2:"microplastic_water", chance:0.5 },
|
||||
},
|
||||
burn: 15,
|
||||
burnTime: 350,
|
||||
burnInto: "dioxin",
|
||||
state: "solid",
|
||||
density: 902,
|
||||
hidden: true,
|
||||
}
|
||||
|
||||
elements.microplastic_water = {
|
||||
color: ["#6491E8","#799EE3","#97B0DA"],
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 105,
|
||||
stateHigh: ["steam","dioxin"],
|
||||
tempLow: -5,
|
||||
stateLowName: "plastic_ice",
|
||||
viscosity: 10,
|
||||
category: "liquids",
|
||||
reactions: {
|
||||
"rock": { elem2: "wet_sand", chance: 0.0004 },
|
||||
"limestone": { elem2: "wet_sand", chance: 0.0004 },
|
||||
"plant": { elem1:"water", chance:0.05 },
|
||||
"algae": { elem1:"water", chance:0.05 },
|
||||
"kelp": { elem1:"water", chance:0.05 },
|
||||
"charcoal": { elem1:"water", chance:0.02 },
|
||||
"gravel": { elem1:"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 },
|
||||
"dirty_water": { elem2:"bubble", attr2:{"clone":"microplastic_water"}, chance:0.001, tempMin:85 },
|
||||
"microplastic_water": { elem2:"bubble", attr2:{"clone":"microplastic_water"}, chance:0.001, tempMin:85 },
|
||||
},
|
||||
hidden: true,
|
||||
state: "liquid",
|
||||
density: 1018,
|
||||
conduct: 0.075,
|
||||
extinguish: true
|
||||
}
|
||||
|
||||
elements.glass_fiber = {
|
||||
color: ["#5e807d","#679e99"],
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"radiation": { elem1:"rad_glass_fiber", chance:0.33 },
|
||||
"rad_steam": { elem1:"rad_glass_fiber", elem2:null, chance:0.33 },
|
||||
"fallout": { elem1:"rad_glass_fiber", elem2:"radiation", chance:0.1 }
|
||||
},
|
||||
tempHigh: 1490,
|
||||
stateHigh: "molten_glass",
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 2500,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.rad_glass_fiber = {
|
||||
color: ["#648c64","#6aad83"],
|
||||
behavior: behaviors.RADPOWDER,
|
||||
tempHigh: 1490,
|
||||
stateHigh: "molten_rad_glass",
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 2500,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.copper_debris = {
|
||||
color: ["#a95232","#be4322","#c76035"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
reactions: {
|
||||
"blood": { elem1:"oxidized_copper", chance:0.01 },
|
||||
"infection": { elem1:"oxidized_copper", chance:0.01 },
|
||||
"antibody": { elem1:"oxidized_copper", chance:0.01 },
|
||||
"fire": { elem1:"oxidized_copper", chance:0.0095 },
|
||||
},
|
||||
category: "solids",
|
||||
tempHigh: 1085,
|
||||
stateHigh: "molten_copper",
|
||||
density: 8960,
|
||||
conduct: 0.95,
|
||||
hardness: 0.025,
|
||||
fireColor: ["#07BA4F","#00BC5B","#00C2A9","#11B7E7","#C6F2EC"]
|
||||
}
|
||||
|
||||
elements.silver_debris = {
|
||||
color: "#cacaca",
|
||||
behavior: behaviors.SUPPORT,
|
||||
tempHigh: 961.8,
|
||||
category: "powders",
|
||||
density: 9297,
|
||||
conduct: 0.99,
|
||||
hardness: 0.25,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.iron_debris = {
|
||||
color: ["#cbcdcd","#bdbdbd"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
reactions: {
|
||||
"water": { elem1:"rust", chance:0.003 },
|
||||
"salt_water": { elem1:"rust", chance:0.01 },
|
||||
"dirty_water": { elem1:"rust", chance:0.05 },
|
||||
"pool_water": { elem1:"rust", chance:0.05 },
|
||||
"sugar_water": { elem1:"rust", chance:0.004 },
|
||||
"seltzer": { elem1:"rust", chance:0.007 },
|
||||
"salt": { elem1:"rust", chance:0.005 },
|
||||
"blood": { elem1:"rust", chance:0.004 },
|
||||
"infection": { elem1:"rust", chance:0.004 },
|
||||
"antibody": { elem1:"rust", chance:0.004 },
|
||||
"fire": { elem1:"rust", chance:0.003 },
|
||||
"coffee": { elem1:"rust", chance:0.0004 },
|
||||
"tea": { elem1:"rust", chance:0.0004 },
|
||||
"broth": { elem1:"rust", chance:0.0004 },
|
||||
"juice": { elem1:"rust", chance:0.0004 },
|
||||
"nut_milk": { elem1:"rust", chance:0.0004 },
|
||||
},
|
||||
breakInto: "iron_dust",
|
||||
tempHigh: 1538,
|
||||
category: "powders",
|
||||
density: 7660,
|
||||
conduct: 0.47,
|
||||
hardness: 0.4,
|
||||
darkText: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.steel_debris = {
|
||||
color: ["#888f94","#71797e","#71797e","#71797e"],
|
||||
grain: 0.75,
|
||||
behavior: behaviors.SUPPORT,
|
||||
reactions: {
|
||||
"water": { elem1:"rust", chance:0.0025 },
|
||||
"salt_water": { elem1:"rust", chance:0.005 },
|
||||
"dirty_water": { elem1:"rust", chance:0.04 },
|
||||
"pool_water": { elem1:"rust", chance:0.04 },
|
||||
"sugar_water": { elem1:"rust", chance:0.0035 },
|
||||
"seltzer": { elem1:"rust", chance:0.006 },
|
||||
"salt": { elem1:"rust", chance:0.004 },
|
||||
"blood": { elem1:"rust", chance:0.003 },
|
||||
"infection": { elem1:"rust", chance:0.003 },
|
||||
"antibody": { elem1:"rust", chance:0.003 },
|
||||
"fire": { elem1:"rust", chance:0.0025 },
|
||||
"coffee": { elem1:"rust", chance:0.0003 },
|
||||
"tea": { elem1:"rust", chance:0.0003 },
|
||||
"broth": { elem1:"rust", chance:0.0003 },
|
||||
"juice": { elem1:"rust", chance:0.0003 },
|
||||
"nut_milk": { elem1:"rust", chance:0.0003 },
|
||||
},
|
||||
breakInto: ["iron_debris","iron_debris","iron_dust"],
|
||||
tempHigh: 1455.5,
|
||||
category: "powders",
|
||||
density: 7750,
|
||||
conduct: 0.42,
|
||||
hardness: 0.8,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.zinc_dust = {
|
||||
color: ["#8d8c8e","#f6f6f1","#c7c7c5","#ccccca","#6b6a6a","#848382"],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 419.53,
|
||||
stateHigh: "molten_zinc",
|
||||
category: "powders",
|
||||
density: 7068,
|
||||
conduct: 0.53,
|
||||
hardness: 0.1,
|
||||
fireColor: ["#91B797","#CAE4CA","#F1F2F0"],
|
||||
superconductAt: -272.25
|
||||
}
|
||||
|
||||
elements.tin_scrap = {
|
||||
color: ["#9e9d98","#aeada4"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
tick: function(pixel) {
|
||||
if (pixel.temp < 13.2 && Math.random() < 0.0005) {
|
||||
changePixel(pixel,"metal_scrap");
|
||||
}
|
||||
doDefaults(pixel)
|
||||
},
|
||||
tempHigh: 231.9,
|
||||
stateHigh:"molten_tin",
|
||||
category: "powders",
|
||||
density: 7260,
|
||||
conduct: 0.45,
|
||||
hardness: 0.15,
|
||||
superconductAt: -269.45
|
||||
}
|
||||
|
||||
elements.aluminum_foil = {
|
||||
color: "#d2d9db",
|
||||
reactions: {
|
||||
"radiation": { elem2:"electric", temp1:200 }
|
||||
},
|
||||
behavior: behaviors.SUPPORT,
|
||||
tempHigh: 660.3,
|
||||
stateHigh: "molten_aluminum",
|
||||
category: "powders",
|
||||
density: 2710,
|
||||
conduct: 0.73,
|
||||
hardness: 0.01,
|
||||
breakInto: "aluminum_dust",
|
||||
fireColor: "#A7B3BF",
|
||||
superconductAt: -271.95
|
||||
}
|
||||
|
||||
elements.aluminum_dust = {
|
||||
color: ["#BEC4C6","#C8CFD0","#B1B1B4"],
|
||||
reactions: {
|
||||
"radiation": { elem2:"electric", temp1:200 }
|
||||
},
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 660.3,
|
||||
stateHigh: "molten_aluminum",
|
||||
category: "powders",
|
||||
density: 2710,
|
||||
conduct: 0.73,
|
||||
fireColor: "#A7B3BF",
|
||||
superconductAt: -271.95
|
||||
}
|
||||
|
||||
elements.tungsten_scrap = {
|
||||
color: ["#d4d3cd","#c3c0b8","#bcbaae","#625950"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
tempHigh: 3422,
|
||||
stateHigh: "molten_tungsten",
|
||||
category: "powders",
|
||||
density: 13300,
|
||||
conduct: 0.35,
|
||||
superconductAt: -270.65,
|
||||
hardness: 0.5
|
||||
}
|
||||
|
||||
elements.brass_scrap = {
|
||||
color: ["#cb9e5d","#865e39"],
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
tempHigh: 927,
|
||||
stateHigh: "molten_brass",
|
||||
category: "powders",
|
||||
density: 7550,
|
||||
conduct: 0.22,
|
||||
hardness: 0.1,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.bronze_coin = {
|
||||
color: "#cd7f32",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem1:"oxidized_copper", chance:0.00125 },
|
||||
"salt_water": { elem1:"oxidized_copper", chance:0.0025 },
|
||||
"dirty_water": { elem1:"oxidized_copper", chance:0.02 },
|
||||
"pool_water": { elem1:"oxidized_copper", chance:0.02 },
|
||||
"sugar_water": { elem1:"oxidized_copper", chance:0.00175 },
|
||||
"seltzer": { elem1:"oxidized_copper", chance:0.003 },
|
||||
"blood": { elem1:"oxidized_copper", chance:0.0015 },
|
||||
"infection": { elem1:"oxidized_copper", chance:0.0015 },
|
||||
"antibody": { elem1:"oxidized_copper", chance:0.0015 },
|
||||
},
|
||||
tempHigh: 913,
|
||||
stateHigh: "molten_bronze",
|
||||
category: "powders",
|
||||
density: 8150,
|
||||
conduct: 0.44,
|
||||
hardness: 0.15,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.gallium_shard = {
|
||||
color: ["#b3b3b3","#cccccc","#dbdbdb"],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 29.76,
|
||||
stateHigh: "molten_gallium",
|
||||
category: "powders",
|
||||
density: 5100,
|
||||
conduct: 0.05,
|
||||
hardness: 0.15,
|
||||
superconductAt: -272.15,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.pyrite_shard = {
|
||||
color: ["#e8e0cb","#cdcaaf","#726a53","#8f835e","#bfb9a0",],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 1182.5,
|
||||
stateHigh: "molten_pyrite",
|
||||
category: "powders",
|
||||
density: 4900,
|
||||
state: "solid",
|
||||
conduct: 0.5,
|
||||
hardness: 0.6,
|
||||
hidden: true,
|
||||
alias: "fool's gold coin"
|
||||
}
|
||||
|
||||
elements.solder_debris = {
|
||||
color: "#a1a19d",
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
tempHigh: 200,
|
||||
stateHigh: "molten_solder",
|
||||
category: "powders",
|
||||
density: 8885,
|
||||
conduct: 0.43,
|
||||
hardness: 0.15,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.amber_shard = {
|
||||
color: ["#b67f18","#c86305","#cf7a19","#e4ae3a"],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 345,
|
||||
stateHigh: ["dna","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke","sugar","sugar","steam","smoke","smoke","smoke","smoke","smoke","smoke"],
|
||||
category: "powders",
|
||||
hidden: true,
|
||||
density: 1250
|
||||
}
|
||||
|
||||
elements.lead_dust = {
|
||||
color: ["#6c6c6a","#838381"],
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem2:"dirty_water", chance:0.5 },
|
||||
"salt_water": { elem2:"dirty_water", chance:0.5 },
|
||||
"sugar_water": { elem2:"dirty_water", chance:0.5 },
|
||||
"seltzer": { elem2:"dirty_water", chance:0.5 },
|
||||
"dye": { elem1:null, func:function(pixel1,pixel2){ pixel2.element = "lead_paint"
|
||||
}, chance:0.5 },
|
||||
},
|
||||
tempHigh: 327.5,
|
||||
category: "powders",
|
||||
density: 8343,
|
||||
conduct: 0.41,
|
||||
fireColor: ["#DBD1E9","#D7E9F2","#9AB0D1"],
|
||||
superconductAt: -265.95,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.lead_paint = {
|
||||
color: ["#ff0000","#ff8800","#ffff00","#00ff00","#00ffff","#0000ff","#ff00ff"],
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"water": { elem1:null, elem2:"dirty_water", chance:0.05 },
|
||||
"salt_water": { elem1:null, elem2:"dirty_water", chance:0.05 },
|
||||
"sugar_water": { elem1:null, elem2:"dirty_water", chance:0.05 },
|
||||
"seltzer": { elem1:null, elem2:"dirty_water", chance:0.05 },
|
||||
"dirty_water": { elem1:null, chance:0.05 },
|
||||
"pool_water": { elem1:null, elem2:"water", chance:0.05 },
|
||||
"bleach": { elem1:null, elem2:null, chance:0.05 },
|
||||
"cell": { elem2:"dna", chance:0.0015 },
|
||||
"blood": { elem2:"infection", chance:0.01 },
|
||||
"antibody": { elem2:"blood", chance:0.025 },
|
||||
"frog": { elem2:"meat", chance:0.05 },
|
||||
"fish": { elem2:"meat", chance:0.05 },
|
||||
"rat": { elem2:"rotten_meat", chance:0.05 },
|
||||
"bird": { elem2:"rotten_meat", chance:0.05 },
|
||||
"ant": { elem2:"dead_bug", chance:0.05 },
|
||||
"fly": { elem2:"dead_bug", chance:0.05 },
|
||||
"bee": { elem2:"dead_bug", chance:0.05 },
|
||||
"stinkbug": { elem2:"dead_bug", chance:0.05 },
|
||||
"firefly": { elem2:"dead_bug", chance:0.05 },
|
||||
"plant": { elem2:"dead_plant", chance:0.05 },
|
||||
"vine": { elem2:"dead_plant", chance:0.05 },
|
||||
"cactus": { elem2:"dead_plant", chance:0.05 },
|
||||
"sapling": { elem2:"dead_plant", chance:0.05 },
|
||||
"grass": { elem2:"dead_plant", chance:0.05 },
|
||||
"head": { func:behaviors.KILLPIXEL2, chance:0.005 },
|
||||
},
|
||||
viscosity: 900,
|
||||
customColor: true,
|
||||
stain: 0.69,
|
||||
tempHigh: 100,
|
||||
stateHigh: "smoke",
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1252,
|
||||
stainSelf: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.nickels = {
|
||||
color: "#6C7474",
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 1064,
|
||||
stateHigh: "molten_nickel",
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 19300,
|
||||
conduct: 0.78,
|
||||
hardness: 0.2
|
||||
}
|
||||
|
||||
elements.iron_dust = {
|
||||
color: ["#888f94","#71797e","#71797e"],
|
||||
grain: 0.85,
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem1:"rust_dust", chance:0.003 },
|
||||
"salt_water": { elem1:"rust_dust", chance:0.01 },
|
||||
"dirty_water": { elem1:"rust_dust", chance:0.05 },
|
||||
"pool_water": { elem1:"rust_dust", chance:0.05 },
|
||||
"sugar_water": { elem1:"rust_dust", chance:0.004 },
|
||||
"seltzer": { elem1:"rust_dust", chance:0.007 },
|
||||
"salt": { elem1:"rust_dust", chance:0.005 },
|
||||
"blood": { elem1:"rust_dust", chance:0.004 },
|
||||
"infection": { elem1:"rust_dust", chance:0.004 },
|
||||
"antibody": { elem1:"rust_dust", chance:0.004 },
|
||||
"fire": { elem1:"rust_dust", chance:0.003 },
|
||||
"coffee": { elem1:"rust_dust", chance:0.0004 },
|
||||
"tea": { elem1:"rust_dust", chance:0.0004 },
|
||||
"broth": { elem1:"rust_dust", chance:0.0004 },
|
||||
"juice": { elem1:"rust_dust", chance:0.0004 },
|
||||
"nut_milk": { elem1:"rust_dust", chance:0.0004 },
|
||||
},
|
||||
tempHigh: 1538,
|
||||
stateHigh: "molten_iron",
|
||||
category: "powders",
|
||||
density: 7560,
|
||||
conduct: 0.47,
|
||||
hardness: 0.4,
|
||||
darkText: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.rust_dust = {
|
||||
color: ["#ae551c","#bc6e39","#925f49"],
|
||||
behavior: behaviors.POWDER,
|
||||
tempHigh: 1538,
|
||||
stateHigh: "molten_iron",
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 5250,
|
||||
conduct: 0.37,
|
||||
hardness: 0.3,
|
||||
alias: "iron oxide",
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.concrete_rubble = {
|
||||
color: ["#9E9E9E","#929292","#858585","#7F7F7F"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
category: "powders",
|
||||
tempHigh: 1490,
|
||||
stateHigh: "magma",
|
||||
state: "solid",
|
||||
density: 1650,
|
||||
hardness: 0.25,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.wood_scrap = {
|
||||
color: ["#a0522d","#955637"],
|
||||
behavior: behaviors.SUPPORT,
|
||||
renderer: renderPresets.WOODCHAR,
|
||||
tempHigh: 395,
|
||||
stateHigh: ["ember","charcoal","fire","fire","fire"],
|
||||
category: "powders",
|
||||
burn: 5,
|
||||
burnTime: 300,
|
||||
burnInto: ["ember","charcoal","fire"],
|
||||
state: "solid",
|
||||
hardness: 0.1,
|
||||
breakInto: "sawdust",
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.bamboo_debris = {
|
||||
color: ["#87B026","#8B9D2F",],
|
||||
behavior: behaviors.SUPPORT,
|
||||
tempHigh: 380,
|
||||
stateHigh: ["ember","fire","fire","fire"],
|
||||
burn: 10,
|
||||
burnTime: 200,
|
||||
burnInto: ["ember","fire","fire","fire"],
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 686,
|
||||
breakInto: ["sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","sawdust","bamboo_plant"],
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.ground_meat = {
|
||||
color: ["#A74142","#C05B50","#D67970","#AA4248"],
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
reactions: {
|
||||
"dirty_water": { elem1:"rotten_meat", chance:0.1 },
|
||||
"fly": { elem1:"rotten_meat", chance:0.2 },
|
||||
"dioxin": { elem1:"rotten_meat", elem2:null, chance:0.1 },
|
||||
"uranium": { elem1:"rotten_meat", chance:0.1 },
|
||||
"cancer": { elem1:"rotten_meat", chance:0.1 },
|
||||
"plague": { elem1:"rotten_meat", elem2:null, chance:0.3 },
|
||||
"ant": { elem1:"rotten_meat", chance:0.1 },
|
||||
"worm": { elem1:"rotten_meat", chance:0.1 },
|
||||
"rat": { elem1:"rotten_meat", chance:0.3 },
|
||||
"mushroom_spore": { elem1:"rotten_meat", chance:0.1 },
|
||||
"mushroom_stalk": { elem1:"rotten_meat", chance:0.1 },
|
||||
"mycelium": { elem1:"rotten_meat", chance:0.1 },
|
||||
"hyphae": { elem1:"rotten_meat", chance:0.1 },
|
||||
"mercury": { elem1:"rotten_meat", elem2:null, chance:0.2 },
|
||||
"mercury_gas": { elem1:"rotten_meat", elem2:null, chance:0.1 },
|
||||
"virus": { elem1:"rotten_meat", chance:0.1 },
|
||||
"poison": { elem1:"rotten_meat", elem2:null, chance:0.5 },
|
||||
"infection": { elem1:"rotten_meat", elem2:null, chance:0.1 },
|
||||
"ink": { elem1:"rotten_meat", elem2:null, chance:0.1 },
|
||||
"acid": { elem1:"rotten_meat", elem2:null, chance:0.5 },
|
||||
"acid_gas": { elem1:"rotten_meat", chance:0.4 },
|
||||
"cyanide": { elem1:"rotten_meat", elem2:null, chance:0.5 },
|
||||
"cyanide_gas": { elem1:"rotten_meat", elem2:null, chance:0.5 },
|
||||
"rotten_cheese": { elem1:"rotten_meat", chance:0.02 },
|
||||
"fallout": { elem1:"rotten_meat", chance:0.2 },
|
||||
"water": { elem2:"broth", tempMin:70 },
|
||||
"salt_water": { elem2:"broth", tempMin:70 },
|
||||
"sugar_water": { elem2:"broth", tempMin:70 },
|
||||
"seltzer": { elem2:"broth", tempMin:70 },
|
||||
"salt": { elem1:"cured_meat" },
|
||||
"vinegar": { elem1:"cured_meat", chance:0.1 },
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "cooked_meat",
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_meat",
|
||||
category:"food",
|
||||
burn:15,
|
||||
burnTime:200,
|
||||
burnInto:"cooked_meat",
|
||||
state: "solid",
|
||||
density: 1019.5,
|
||||
conduct: 0.2,
|
||||
isFood: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.rotten_ground_meat = {
|
||||
color: ["#BEA16A","#BE896A"],
|
||||
behavior: [
|
||||
"XX|CR:plague,stench,stench,stench,fly%0.25 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|XX",
|
||||
"SP%99 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|XX|SP%99 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1",
|
||||
"M2|M1 AND CH:ground_meat>rotten_ground_meat%1 AND CH:meat>rotten_meat%1|M2",
|
||||
],
|
||||
reactions: {
|
||||
"water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
|
||||
"salt_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
|
||||
"sugar_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
|
||||
"dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
|
||||
"seltzer": { elem2:"broth", tempMin:70, color2:"#d7db69" }
|
||||
},
|
||||
tempHigh: 300,
|
||||
stateHigh: ["plague","ash","ammonia"],
|
||||
category:"food",
|
||||
hidden: true,
|
||||
burn:12,
|
||||
burnTime:200,
|
||||
burnInto:["plague","ash","ammonia"],
|
||||
state: "solid",
|
||||
density: 1005,
|
||||
conduct: 0.1,
|
||||
isFood: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.cured_ground_meat = {
|
||||
color: ["#C45452","#CD7873","#E09693","#C2585D"],
|
||||
behavior: behaviors.SUPPORTPOWDER,
|
||||
reactions: {
|
||||
"water": { elem2:"broth", tempMin:70 },
|
||||
"salt_water": { elem2:"broth", tempMin:70 },
|
||||
"sugar_water": { elem2:"broth", tempMin:70 },
|
||||
"seltzer": { elem2:"broth", tempMin:70 },
|
||||
},
|
||||
tempHigh: 100,
|
||||
stateHigh: "cooked_meat",
|
||||
category:"food",
|
||||
burn:15,
|
||||
burnTime:200,
|
||||
burnInto:"cooked_meat",
|
||||
state: "solid",
|
||||
density: 1019.5,
|
||||
conduct: 0.3,
|
||||
isFood: true,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.scrap_paper = {
|
||||
color: ["#ffffff","#e6e6e6"],
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"water": { elem1:"cellulose", elem2:null },
|
||||
"dirty_water": { elem1:"cellulose", elem2:null },
|
||||
"salt_water": { elem1:"cellulose", elem2:null },
|
||||
"sugar_water": { elem1:"cellulose", elem2:null },
|
||||
"seltzer": { elem1:"cellulose", elem2:null },
|
||||
"soda": { elem1:"cellulose", elem2:null },
|
||||
"blood": { elem1:"cellulose", elem2:null },
|
||||
"foam": { elem1:"cellulose", elem2:null },
|
||||
"bubble": { elem1:"cellulose", elem2:null },
|
||||
"oil": { elem1:"cellulose", elem2:null },
|
||||
"alcohol": { elem1:"cellulose", elem2:null },
|
||||
"vinegar": { elem1:"cellulose", elem2:null },
|
||||
"light": { stain1:"#ebdfa7" },
|
||||
"oxygen": { stain1:"#ebdfa7" }
|
||||
},
|
||||
tempHigh: 248,
|
||||
stateHigh: ["fire","fire","fire","fire","fire","ash"],
|
||||
burn: 70,
|
||||
burnTime: 300,
|
||||
burnInto: ["fire","fire","fire","fire","fire","ash"],
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
density: 1195,
|
||||
breakInto: "confetti",
|
||||
breakIntoColor: ["#ffffff","#e6e6e6","#dbdbdb"],
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.cloth_scrap = {
|
||||
color: ["#F7F7F7","#F1F1F1","#E8E8E8","#CDCDCD","#e6e6e6","#dbdbdb"],
|
||||
behavior: behaviors.WALL,
|
||||
tick: function(pixel) {
|
||||
behaviors.ABSORB(pixel,1,0.01);
|
||||
},
|
||||
onBreak: behaviors.RELEASE_MOISTURE,
|
||||
onDelete: behaviors.RELEASE_MOISTURE,
|
||||
reactions: {
|
||||
"water":{}, "salt_water":{}, "sugar_water":{}, "dirty_water":{}, "pool_water":{}, "seltzer":{},
|
||||
},
|
||||
tempHigh: 405,
|
||||
stateHigh: "fire",
|
||||
burn: 6,
|
||||
burnTime: 350,
|
||||
burnInto: ["smoke","smoke","smoke","smoke","ash"],
|
||||
category: "powders",
|
||||
state: "solid",
|
||||
breakInto: "dust",
|
||||
movable:false,
|
||||
breakIntoColor: ["#f7f7f7","#dbdbdb"],
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.snow_nine = {
|
||||
color: ["#C6E9F9","#CCF0FC","#D7FAFC"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|CH:snow%0.5|XX",
|
||||
"M2|M1|M2",
|
||||
],
|
||||
reactions: {
|
||||
"water": { elem2: ["ice_nine","snow_nine"] },
|
||||
"salt_water": { elem2: ["ice_nine","snow_nine"] },
|
||||
"dirty_water": { elem2: ["ice_nine","snow_nine"] },
|
||||
"sugar_water": { elem2: ["ice_nine","snow_nine"] },
|
||||
"seltzer": { elem2: ["ice_nine","snow_nine"] },
|
||||
"pool_water": { elem2: ["ice_nine","snow_nine"] },
|
||||
"steam": { elem2: "snow_nine" },
|
||||
"rain_cloud": { elem2: "snow_nine" },
|
||||
"cloud": { elem2: "snow_nine" },
|
||||
"snow_cloud": { elem2: "snow_nine" },
|
||||
"hail_cloud": { elem2: ["ice_nine","snow_nine"] },
|
||||
"thunder_cloud": { elem2: ["ice_nine","snow_nine"] },
|
||||
"snow": { elem2: "snow_nine", chance: 0.05 },
|
||||
"smog": { elem2: "snow_nine" },
|
||||
"rad_steam": { elem2: "snow_nine" }
|
||||
},
|
||||
temp:-100,
|
||||
category: "special",
|
||||
state: "solid",
|
||||
density: 917,
|
||||
hidden: true,
|
||||
excludeRandom: true
|
||||
}
|
||||
|
||||
elements.antiice = {
|
||||
color: "#EAEFF6",
|
||||
behavior: behaviors.WALL,
|
||||
category:"special",
|
||||
tempHigh: 5,
|
||||
stateHigh: "antifluid",
|
||||
temp: -5,
|
||||
state: "solid",
|
||||
density: 100,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
elements.antisnow = {
|
||||
color: "#D8E8F3",
|
||||
behavior: behaviors.AGPOWDER,
|
||||
category:"special",
|
||||
tempHigh: 18,
|
||||
stateHigh: "antifluid",
|
||||
temp: -5,
|
||||
state: "solid",
|
||||
density: 995,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
|
||||
elements.plastic.breakInto = ["microplastic","microplastic","microplastic","microplastic","glitter"]
|
||||
|
||||
elements.amber.breakInto = "amber_shard"
|
||||
|
||||
elements.insulation.breakInto = ["microplastic","glass_fiber","cloth_scrap","dust"]
|
||||
|
||||
elements.bead.breakInto = ["microplastic","microplastic","microplastic","glitter"]
|
||||
|
||||
elements.wire.breakInto = ["microplastic","glass_fiber","copper_debris","silver_debris","glass_fiber","copper_debris","silver_debris"]
|
||||
|
||||
elements.copper.breakInto = ["copper_debris"]
|
||||
|
||||
elements.silver.breakInto = ["silver_debris"]
|
||||
|
||||
elements.zinc.breakInto = ["zinc_dust"]
|
||||
|
||||
elements.tin.breakInto = ["tin_scrap"]
|
||||
|
||||
elements.tin.tick = function(pixel) {
|
||||
if (pixel.temp < 13.2 && Math.random() < 0.0005) {
|
||||
changePixel(pixel,"tin_scrap");
|
||||
}
|
||||
doDefaults(pixel)
|
||||
}
|
||||
|
||||
elements.iron.breakInto = ["iron_debris","iron_debris","iron_debris","iron_debris","iron_dust"]
|
||||
|
||||
elements.lead.breakInto = ["lead_dust"]
|
||||
|
||||
elements.steel.breakInto = ["steel_debris","steel_debris","steel_debris","iron_debris","iron_dust"]
|
||||
|
||||
elements.galvanized_steel.breakInto = ["steel","steel","steel","steel","steel","steel","steel","steel","steel_debris"]
|
||||
|
||||
elements.rust.breakInto = ["rust_dust"]
|
||||
|
||||
elements.concrete.breakInto = ["concrete_rubble"]
|
||||
|
||||
elements.wood.breakInto = ["wood_scrap","wood_scrap","wood_scrap","wood_scrap","sawdust"]
|
||||
|
||||
elements.meat.breakInto = ["ground_meat"]
|
||||
|
||||
elements.cured_meat.breakInto = ["cured_ground_meat"]
|
||||
|
||||
elements.rotten_meat.breakInto = ["rotten_ground_meat"]
|
||||
|
||||
elements.paper.breakInto = ["scrap_paper"]
|
||||
|
||||
elements.paper.breakIntoColor = ["#ffffff","#e6e6e6"]
|
||||
|
||||
elements.cloth.breakInto = ["cloth_scrap"]
|
||||
|
||||
elements.bamboo.breakInto = ["bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_debris","bamboo_plant"]
|
||||
|
||||
elements.nickel.breakInto = ["nickels"]
|
||||
|
||||
elements.aluminum.breakInto = ["aluminum_foil"]
|
||||
|
||||
elements.tungsten.breakInto = ["tungsten_scrap"]
|
||||
|
||||
elements.brass.breakInto = ["brass_scrap"]
|
||||
|
||||
elements.bronze.breakInto = ["bronze_coin"]
|
||||
|
||||
elements.sterling.breakInto = ["silver_debris"]
|
||||
|
||||
elements.gallium.breakInto = ["gallium_shard"]
|
||||
|
||||
elements.pyrite.breakInto = ["pyrite_shard"]
|
||||
|
||||
elements.solder.breakInto = ["solder_debris"]
|
||||
|
||||
elements.straw.breakInto = ["flour","flour","dust"]
|
||||
|
||||
elements.ice_nine.breakInto = "snow_nine"
|
||||
|
||||
elements.art.breakInto = "dye"
|
||||
|
||||
elements.udder.breakInto = ["blood","blood","meat","meat","meat","meat","milk"]
|
||||
|
||||
elements.antiice.breakInto = "antisnow"
|
||||
|
||||
elements.antigas.stateHigh = {}
|
||||
|
||||
elements.antigas.tempHigh = {}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
elements.carbonite = {
|
||||
color: "#343634",
|
||||
behavior: behaviors.WALL,
|
||||
category: "star wars",
|
||||
state: "solid",
|
||||
density: 1000,
|
||||
tempHigh: 1000,
|
||||
stateHigh: "carbondioxide",
|
||||
reactions:{
|
||||
"acid": {elem1: null, elem2: "slag"},
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
elements.light_saber = {
|
||||
color: "#06d106",
|
||||
behavior: behaviors.WALL,
|
||||
category: "star wars",
|
||||
state: "solid"
|
||||
}
|
||||
|
||||
// look it up:
|
||||
// https://starwars.fandom.com/wiki/Plastoid
|
||||
// stormtrooper armor
|
||||
elements.plastoid = {
|
||||
color: "#FFAAAA",
|
||||
behavior: behaviors.WALL,
|
||||
category: "star wars",
|
||||
state: "solid",
|
||||
density: 400,
|
||||
tempHigh: 300,
|
||||
stateHigh: "molten_plastic",
|
||||
hardness: 1,
|
||||
burn: 0
|
||||
};
|
||||
|
||||
elements.green_milk ={
|
||||
color: "#95f595",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "star wars",
|
||||
state: "liquid",
|
||||
viscosity: 100,
|
||||
density: 720,
|
||||
};
|
||||
|
||||
elements.laser_blast = {
|
||||
color: "#ff0000",
|
||||
behavior: behaviors.BOUNCY,
|
||||
category: "star wars",
|
||||
};
|
||||
elements.tibanna_gas ={
|
||||
color: "#d99a9a",
|
||||
behavior: behaviors.GAS,
|
||||
category: "star wars",
|
||||
burn: 100,
|
||||
burnTime: 1,
|
||||
|
||||
}
|
||||
elements.milk_water = {
|
||||
color: "#e4fade",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "star wars",
|
||||
hidden: true,
|
||||
viscosity: 90,
|
||||
state: "liquid",
|
||||
density: 1,
|
||||
};
|
||||
|
||||
elements.water.reactions.green_milk = {elem1: null, elem2: "milk_water"}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
// A mod that adds dried versions of some foods. (by pilot_773)
|
||||
|
||||
elements.dried_tomato = {
|
||||
color: elements.sauce.color,
|
||||
category: "food",
|
||||
behavior: behaviors.STURDYPOWDER
|
||||
};
|
||||
|
||||
elements.dried_lettuce = {
|
||||
color: elements.herb.color,
|
||||
category: "food",
|
||||
behavior: behaviors.STURDYPOWDER
|
||||
};
|
||||
|
||||
elements.raisin = {
|
||||
color: elements.fireball.color,
|
||||
category: "food",
|
||||
behavior: behaviors.STURDYPOWDER
|
||||
};
|
||||
|
||||
elements.dry = {
|
||||
color: elements.earthquake.color,
|
||||
category: "tools",
|
||||
tool: function(pixel) {
|
||||
if (pixel.element == "tomato") {
|
||||
pixel.element = "dried_tomato"
|
||||
}
|
||||
if (pixel.element == "lettuce") {
|
||||
pixel.element = "dried_lettuce"
|
||||
}
|
||||
if (pixel.element == "grape") {
|
||||
pixel.element = "raisin"
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
elements.dried_tomato.reactions.water = { "elem1":"tomato", "elem2":null }
|
||||
elements.dried_lettuce.reactions.water = { "elem1":"lettuce", "elem2":null }
|
||||
1122
mods/drills.js
1122
mods/drills.js
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,119 @@
|
|||
elements.r74n = {
|
||||
color: "#00ffff",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "r74n",
|
||||
state: "powder",
|
||||
density: 740,
|
||||
};
|
||||
elements.r74n_water = {
|
||||
hidden:false,
|
||||
color: "#009999",
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "r74n",
|
||||
viscosity: 74,
|
||||
state: "liquid",
|
||||
density: 74,
|
||||
};
|
||||
|
||||
elements.ice.category = "ices"
|
||||
|
||||
elements.frosted_ice = {
|
||||
color: "#c3e2f0",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "water",
|
||||
tempLow: -9,
|
||||
stateLow: "frosted_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 1027,
|
||||
};
|
||||
elements.packed_ice = {
|
||||
color: "#d6ebf5",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "packed_water",
|
||||
tempLow: -26,
|
||||
stateLow: "packed_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 1257,
|
||||
};
|
||||
elements.compressed_ice = {
|
||||
color: "#80bbfa",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "compressed_water",
|
||||
tempLow: -79,
|
||||
stateLow: "compressed_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 2007,
|
||||
};
|
||||
elements.blue_ice = {
|
||||
color: "#3f96f1",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "blue_water",
|
||||
tempLow: -26,
|
||||
stateLow: "blue_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 2657,
|
||||
};
|
||||
elements.trench_ice = {
|
||||
color: "#0070e4",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "trench_water",
|
||||
tempLow: -26,
|
||||
stateLow: "trench_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 3017,
|
||||
};
|
||||
elements.packed_water = {
|
||||
color: "#d6ebf5",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 100,
|
||||
stateHigh: "steam",
|
||||
tempLow: 0,
|
||||
stateLow: "packed_ice",
|
||||
category: "ices",
|
||||
state: "solid",
|
||||
density: 1337,
|
||||
};
|
||||
elements.compressed_water = {
|
||||
color: "#80bbfa",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 100,
|
||||
stateHigh: "steam",
|
||||
tempLow: 0,
|
||||
stateLow: "compressed_ice",
|
||||
category: "ices",
|
||||
state: "liquid",
|
||||
density: 2087,
|
||||
};
|
||||
elements.blue_water = {
|
||||
color: "#01336f",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 100,
|
||||
stateHigh: "steam",
|
||||
tempLow: 0,
|
||||
stateLow: "blue_ice",
|
||||
category: "ices",
|
||||
state: "liquid",
|
||||
density: 2737,
|
||||
};
|
||||
elements.trench_water = {
|
||||
color: "#00254d",
|
||||
behavior: behaviors.WALL,
|
||||
tempHigh: 5,
|
||||
stateHigh: "steam",
|
||||
tempLow: 0,
|
||||
stateLow: "trench_ice",
|
||||
category: "ices",
|
||||
state: "liquid",
|
||||
density: 3097,
|
||||
}
|
||||
//If you spot any bugs, let me know! - Fivey1777
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
// from code_libary.js
|
||||
function pyth(xA, yA, xB, yB) {
|
||||
var a = Math.abs(xB - xA);
|
||||
var b = Math.abs(yB - yA);
|
||||
var c = Math.sqrt(a ** 2 + b ** 2);
|
||||
return c;
|
||||
};
|
||||
tgt = ""
|
||||
|
||||
elements.guided_misile = {
|
||||
color: "#323333",
|
||||
category: "weapons",
|
||||
behavior: [
|
||||
"EX:10|EX:10|EX:10",
|
||||
"EX:10| XX |EX:10",
|
||||
"EX:10|EX:10|EX:10",
|
||||
],
|
||||
onSelect: function () {
|
||||
var answer1 = prompt("Please input the target element.", (tgt || undefined));
|
||||
if (!answer1) { return }
|
||||
tgt = answer1;
|
||||
},
|
||||
tick: (pixel) => {
|
||||
let targets = [];
|
||||
|
||||
// find all posible targets
|
||||
for (var x = 1; x < width; x++) {
|
||||
for (var y = 1; y < height; y++) {
|
||||
if (!isEmpty(x, y)) {
|
||||
if (pixelMap[x][y]["element"] === tgt) {
|
||||
pxl = pixelMap[x][y];
|
||||
targets.push(
|
||||
[pxl.x, pxl.y,
|
||||
// calculate distance from target to current pixel
|
||||
pyth(pixel.x, pixel.y, pxl.x, pxl.y)
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (targets == []) {
|
||||
return
|
||||
}
|
||||
|
||||
// sort the targets by distance from self
|
||||
targets.sort((a, b) => a[2] - b[2]);
|
||||
|
||||
try {
|
||||
// get the closest target
|
||||
current_best = targets[0];
|
||||
|
||||
target = [current_best[0], current_best[1]];
|
||||
} catch {
|
||||
// no pixels of target found
|
||||
return
|
||||
}
|
||||
|
||||
if (pixel.x != target[0] || pixel.y != target[1]) {
|
||||
let { x, y } = pixel;
|
||||
const empty = checkForEmptyPixels(x, y);
|
||||
const [tX, tY] = target;
|
||||
|
||||
// Separate moves into non-diagonal and diagonal categories
|
||||
const nonDiagonal = [];
|
||||
const diagonal = [];
|
||||
|
||||
for (const [dx, dy] of empty) {
|
||||
if ((dx === 0) || (dy === 0)) {
|
||||
nonDiagonal.push([dx, dy]); // Horizontal or vertical moves
|
||||
} else {
|
||||
diagonal.push([dx, dy]); // Diagonal moves
|
||||
}
|
||||
}
|
||||
|
||||
let prioritizedMoves = []
|
||||
|
||||
// chose whether to move diagonaly
|
||||
if (Math.abs(Math.abs(x - tX) - Math.abs(y - tY)) > 1) {
|
||||
prioritizedMoves = [...nonDiagonal];
|
||||
} else {
|
||||
prioritizedMoves = [...diagonal];
|
||||
}
|
||||
|
||||
let bestVal = pyth(tX, tY, x, y)
|
||||
Math.sqrt(Math.pow(tX - x, 2) + Math.pow(tY - y, 2));
|
||||
let best = null;
|
||||
|
||||
for (const [dx, dy] of prioritizedMoves) {
|
||||
const x_ = x + dx;
|
||||
const y_ = y + dy;
|
||||
const c = Math.sqrt(Math.pow(tX - x_, 2) + Math.pow(tY - y_, 2));
|
||||
if (c < bestVal) {
|
||||
bestVal = c;
|
||||
best = [dx, dy];
|
||||
}
|
||||
}
|
||||
|
||||
if (best) {
|
||||
if (!tryMove(pixel, x + best[0] * 2, y + best[1] * 2, undefined, true)) {
|
||||
tryMove(pixel, x + best[0], y + best[1], undefined, true)
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
;
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
function drawHexagon(ctx, color, x, y, scale=1, opacity=1) {
|
||||
const size = (pixelSize * scale) * 0.63;
|
||||
const height = Math.sqrt(3) * size; // Height of the hexagon
|
||||
|
||||
if (color) { ctx.fillStyle = color; }
|
||||
if (ctx.globalAlpha !== opacity) { ctx.globalAlpha = opacity; }
|
||||
|
||||
// Convert canvas coordinates
|
||||
const centerX = canvasCoord(x);
|
||||
const centerY = canvasCoord(y);
|
||||
|
||||
ctx.beginPath();
|
||||
ctx.moveTo(centerX + size, centerY);
|
||||
ctx.lineTo(centerX + size / 2, centerY + height / 2);
|
||||
ctx.lineTo(centerX - size / 2, centerY + height / 2);
|
||||
ctx.lineTo(centerX - size, centerY);
|
||||
ctx.lineTo(centerX - size / 2, centerY - height / 2);
|
||||
ctx.lineTo(centerX + size / 2, centerY - height / 2);
|
||||
ctx.closePath();
|
||||
|
||||
ctx.fill();
|
||||
}
|
||||
|
||||
// Hexagon view
|
||||
viewInfo[8] = {
|
||||
name: "",
|
||||
effects: true,
|
||||
colorEffects: true,
|
||||
pixel: function(pixel, ctx) {
|
||||
var a = (settings.textures !== 0) ? pixel.alpha : undefined;
|
||||
const offsetY = ((pixel.x % 2) * 0.5); // Offset for staggered rows
|
||||
|
||||
if (((elements[pixel.element].isGas && elements[pixel.element].glow !== false) || elements[pixel.element].glow || pixel.glow) && pixel.glow !== false) {
|
||||
drawPlus(ctx, pixel.color, pixel.x, pixel.y + offsetY, undefined, a);
|
||||
} else {
|
||||
drawHexagon(ctx, pixel.color, pixel.x, pixel.y + offsetY, undefined, a);
|
||||
}
|
||||
|
||||
if (pixel.charge && view !== 2) { // Yellow glow on charge
|
||||
if (!elements[pixel.element].colorOn) {
|
||||
drawHexagon(ctx, "rgba(255,255,0,0.5)", pixel.x, pixel.y + offsetY);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
@ -2676,33 +2676,38 @@ elements.healing_serum = {
|
|||
},
|
||||
tick: function(pixel){
|
||||
if (pixel.waitReduce){pixel.wait -= 1}
|
||||
if (pixel.wait == 0){
|
||||
pixel.elementsSeen = {}
|
||||
}
|
||||
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, true)){
|
||||
if (!pixel.waitReduce){
|
||||
pixel.waitReduce = true
|
||||
}
|
||||
if (pixel.wait == 0){
|
||||
if (!pixel.elementsSeen[pixelMap[x][y].element] && !(["healing_serum", "bless", "experience"].includes(pixelMap[x][y].element))){
|
||||
pixel.elementsSeen[pixelMap[x][y].element] = 1
|
||||
} else if (!(["healing_serum", "bless", "experience"].includes(pixelMap[x][y].element))) {
|
||||
pixel.elementsSeen[pixelMap[x][y].element] += 1
|
||||
if (!pixel.decidedPixel){
|
||||
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)){
|
||||
let otherPixel = pixelMap[x][y]
|
||||
if (otherPixel.element != "healing_serum"){
|
||||
pixel.decidedPixel = otherPixel
|
||||
pixel.waitReduce = true
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pixel.wait == 0){
|
||||
if (Object.keys(pixel.elementsSeen).length == 0){
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
return;
|
||||
} else{
|
||||
changePixel(pixel, Object.keys(pixel.elementsSeen).reduce((a, b) => pixel.elementsSeen[a] > pixel.elementsSeen[b] ? a : b))
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pixel.wait <= 0){
|
||||
const { x, y, ...remainingProperties } = pixel.decidedPixel;
|
||||
Object.assign(pixel, remainingProperties);
|
||||
delete pixel.decidedPixel
|
||||
return;
|
||||
}
|
||||
},
|
||||
renderer: function(pixel, ctx){
|
||||
// interpolate pixel color and decidedpixel's color (if it has one!)
|
||||
if (pixel.decidedPixel){
|
||||
var color1 = pixel.color.match(/\d+/g);
|
||||
var color2 = pixel.decidedPixel.color.match(/\d+/g);
|
||||
var ratio = pixel.wait/15
|
||||
drawSquare(ctx, `rgb(${color1[0]*ratio+color2[0]*(1-ratio)},${color1[1]*ratio+color2[1]*(1-ratio)},${color1[2]*ratio+color2[2]*(1-ratio)})`, pixel.x, pixel.y)
|
||||
}
|
||||
else{
|
||||
drawSquare(ctx, pixel.color, pixel.x, pixel.y)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
})
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
if (!enabledMods.includes("mods/betterSettings.js")) { enabledMods.unshift("mods/betterSettings.js"); localStorage.setItem("enabledMods", JSON.stringify(enabledMods)); window.location.reload() };
|
||||
|
||||
var sky_settingsTab = new SettingsTab("Sky");
|
||||
|
||||
var realtime_setting = new Setting("Use real life time for sky", "real_time", settingType.BOOLEAN, false, defaultValue=true);
|
||||
var initial_hour_setting = new Setting("Initial hour", "initial_hour", settingType.NUMBER, false, defaultValue=8);
|
||||
var ticks_per_hour_setting = new Setting("Ticks per hour", "ticks_per_hour", settingType.NUMBER, false, defaultValue=150);
|
||||
|
||||
sky_settingsTab.registerSettings("Real time", realtime_setting);
|
||||
sky_settingsTab.registerSettings("Initial hour", initial_hour_setting);
|
||||
sky_settingsTab.registerSettings("Ticks per hour", ticks_per_hour_setting);
|
||||
|
||||
settingsManager.registerTab(sky_settingsTab);
|
||||
|
||||
var hour = initial_hour_setting.value;
|
||||
|
||||
function lerpColor(start, end, t) {
|
||||
return start.map((s, i) => Math.round(s + (end[i] - s) * t));
|
||||
}
|
||||
|
||||
function getSkyColors(hour) {
|
||||
const SKY_COLOR_PAIRS = [
|
||||
[[0, 0, 15], [0, 0, 30]], // midnight
|
||||
[[10, 10, 40], [20, 20, 60]],
|
||||
[[255, 100, 50], [255, 150, 100]],
|
||||
[[135, 206, 235], [180, 230, 255]],
|
||||
[[135, 206, 250], [135, 206, 255]],
|
||||
[[135, 206, 250], [120, 190, 240]],
|
||||
[[255, 150, 100], [120, 70, 70]],
|
||||
[[30, 15, 60], [20, 10, 40]],
|
||||
[[0, 0, 15], [0, 0, 30]], // midnight
|
||||
];
|
||||
|
||||
// Determine the interval (each interval is 3 hours)
|
||||
const index = Math.floor(hour / 3);
|
||||
const t = (hour % 3) / 3;
|
||||
|
||||
const [bottomStart, topStart] = SKY_COLOR_PAIRS[index];
|
||||
const [bottomEnd, topEnd] = SKY_COLOR_PAIRS[index + 1];
|
||||
|
||||
return {
|
||||
skyTop: `rgb(${lerpColor(topStart, topEnd, t).join(", ")})`,
|
||||
skyBottom: `rgb(${lerpColor(bottomStart, bottomEnd, t).join(", ")})`,
|
||||
};
|
||||
}
|
||||
|
||||
function renderSky(ctx) {
|
||||
const { skyTop, skyBottom } = getSkyColors(hour);
|
||||
const gradient = ctx.createLinearGradient(0, 0, 0, height * pixelSize);
|
||||
|
||||
gradient.addColorStop(0, skyTop);
|
||||
gradient.addColorStop(1, skyBottom);
|
||||
|
||||
ctx.fillStyle = gradient;
|
||||
ctx.fillRect(0, 0, width * pixelSize, height * pixelSize);
|
||||
}
|
||||
|
||||
function updateDayTime() {
|
||||
if (realtime_setting.value) {
|
||||
const now = new Date();
|
||||
hour = now.getHours() + now.getMinutes() / 60;
|
||||
} else {
|
||||
hour = (hour + (1 / ticks_per_hour_setting.value)) % 24; // Keep within 0-23
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure the sky gets VIP treatment in the render list
|
||||
function prioritizeRenderSky() {
|
||||
const idx = renderPrePixelList.indexOf(renderSky);
|
||||
if (idx !== -1) {
|
||||
const [skyFn] = renderPrePixelList.splice(idx, 1);
|
||||
renderPrePixelList.unshift(skyFn);
|
||||
}
|
||||
}
|
||||
|
||||
// Resetting canvas also resets time
|
||||
function initializeCanvas() {
|
||||
const resizeCanvas = autoResizeCanvas;
|
||||
autoResizeCanvas = (clear) => {
|
||||
resizeCanvas(clear);
|
||||
hour = initial_hour_setting.value;
|
||||
};
|
||||
}
|
||||
|
||||
// Hooks
|
||||
setTimeout(initializeCanvas, 500);
|
||||
runAfterLoad(prioritizeRenderSky);
|
||||
runEveryTick(updateDayTime);
|
||||
renderPrePixel(renderSky);
|
||||
Loading…
Reference in New Issue