Merge branch 'R74nCom:main' into main
This commit is contained in:
commit
7204ea8b64
240
lang/es.json
240
lang/es.json
|
|
@ -153,7 +153,7 @@
|
|||
"ammonia":"amoníaco",
|
||||
"liquid_ammonia":"liquido_de_amoníaco",
|
||||
"carbon_dioxide":"dióxido_de_carbono",
|
||||
"oil":"aceite ",
|
||||
"oil":"aceite",
|
||||
"lamp_oil":"aceite_de_lampara",
|
||||
"propane":"propano",
|
||||
"methane":"metano",
|
||||
|
|
@ -198,7 +198,7 @@
|
|||
"slow_cloner":"clonador_lento",
|
||||
"clone_powder":"polvo_de_clone",
|
||||
"floating_cloner":"clonador_flotante",
|
||||
"virus":"virus ",
|
||||
"virus":"virus",
|
||||
"ice_nine":"hielo_nueve",
|
||||
"strange_matter":"asunto_extraño",
|
||||
"permafrost":"permafrost",
|
||||
|
|
@ -241,7 +241,7 @@
|
|||
"bronze":"bronce",
|
||||
"sterling":"libra_esterliina",
|
||||
"gallium":"galio",
|
||||
"molten_gallium":"galion_fundido",
|
||||
"molten_gallium":"galio_fundido",
|
||||
"gallium_gas":"gas_galio",
|
||||
"rose_gold":"oro_rosa",
|
||||
"purple_gold":"oro_purpura",
|
||||
|
|
@ -277,7 +277,7 @@
|
|||
"rotten_cheese":"queso_podrido",
|
||||
"chocolate":"chocolate",
|
||||
"grape":"uva",
|
||||
"vinegar":"vinagre ",
|
||||
"vinegar":"vinagre",
|
||||
"herb":"hierba",
|
||||
"lettuce":"lechuga",
|
||||
"pickle":"pepinillo",
|
||||
|
|
@ -406,121 +406,121 @@
|
|||
"neutron":"neutrón",
|
||||
"proton":"protón ",
|
||||
"electric":"electrico",
|
||||
"uranium":"",
|
||||
"molten_uranium":"",
|
||||
"diamond":"",
|
||||
"gold_coin":"",
|
||||
"rust":"",
|
||||
"oxidized_copper":"",
|
||||
"alga":"",
|
||||
"metal_scrap":"",
|
||||
"glass_shard":"",
|
||||
"rad_shard":"",
|
||||
"brick_rubble":"",
|
||||
"baked_clay":"",
|
||||
"clay_shard":"",
|
||||
"porcelain_shard":"",
|
||||
"feather":"",
|
||||
"confetti":"",
|
||||
"glitter":"",
|
||||
"bead":"",
|
||||
"color_sand":"",
|
||||
"borax":"",
|
||||
"epsom_salt":"",
|
||||
"potassium_salt":"",
|
||||
"sodium_acetate":"",
|
||||
"lightning":"",
|
||||
"bless":"",
|
||||
"god_ray":"",
|
||||
"heat_ray":"",
|
||||
"explosion":"",
|
||||
"n_explosion":"",
|
||||
"supernova":"",
|
||||
"pop":"",
|
||||
"cook":"",
|
||||
"incinerate":"",
|
||||
"room_temp":"",
|
||||
"positron":"",
|
||||
"tnt":"",
|
||||
"c4":"",
|
||||
"grenade":"",
|
||||
"dynamite":"",
|
||||
"gunpowder":"",
|
||||
"ember":"",
|
||||
"firework":"",
|
||||
"fw_ember":"",
|
||||
"nuke":"",
|
||||
"h_bomb":"",
|
||||
"dirty_bomb":"",
|
||||
"emp_bomb":"",
|
||||
"nitro":"",
|
||||
"greek_fire":"",
|
||||
"fireball":"",
|
||||
"rocket":"",
|
||||
"cold_bomb":"",
|
||||
"hot_bomb":"",
|
||||
"antimatter_bomb":"",
|
||||
"party_popper":"",
|
||||
"flashbang":"",
|
||||
"flash":"",
|
||||
"smoke_grenade":"",
|
||||
"landmine":"",
|
||||
"armageddon":"",
|
||||
"tesla_coil":"",
|
||||
"light_bulb":"",
|
||||
"shocker":"",
|
||||
"pressure_plate":"",
|
||||
"primordial_soup":"",
|
||||
"molten_slag":"",
|
||||
"molten_dirt":"",
|
||||
"debug":"reydeporvida",
|
||||
"prop":"",
|
||||
"salt_ice":"",
|
||||
"sugar_ice":"",
|
||||
"seltzer_ice":"",
|
||||
"dirty_ice":"",
|
||||
"pool_ice":"",
|
||||
"blood_ice":"",
|
||||
"antibody_ice":"",
|
||||
"infection_ice":"",
|
||||
"unknown":"",
|
||||
"slime_ice":"",
|
||||
"antiice":"",
|
||||
"ammonia_ice":"",
|
||||
"liquid_propane":"",
|
||||
"methane_ice":"",
|
||||
"molten_brick":"",
|
||||
"acid_ice":"",
|
||||
"soda_ice":"",
|
||||
"molten_steel":"",
|
||||
"molten_brass":"",
|
||||
"molten_bronze":"",
|
||||
"molten_sterling":"",
|
||||
"molten_rose_gold":"",
|
||||
"molten_purple_gold":"",
|
||||
"molten_blue_gold":"",
|
||||
"molten_electrum":"",
|
||||
"molten_pyrite":"",
|
||||
"broth_ice":"",
|
||||
"frozen_vinegar":"",
|
||||
"sauce_ice":"",
|
||||
"alcohol_ice":"",
|
||||
"bleach_ice":"",
|
||||
"chlorine_ice":"",
|
||||
"frozen_ink":"",
|
||||
"tea_ice":"",
|
||||
"coffee_ice":"",
|
||||
"hydrogen_ice":"",
|
||||
"oxygen_ice":"",
|
||||
"molten_amalgam":"",
|
||||
"neon_ice":"",
|
||||
"cyanide_ice":"",
|
||||
"molten_copper_sulfate":"",
|
||||
"molten_alga":"",
|
||||
"molten_metal_scrap":"",
|
||||
"molten_borax":"",
|
||||
"molten_epsom_salt":"",
|
||||
"molten_potassium_salt":"",
|
||||
"uranium":"uranio",
|
||||
"molten_uranium":"uranio_fundido",
|
||||
"diamond":"diamante",
|
||||
"gold_coin":"moneda_de_oro",
|
||||
"rust":"óxido",
|
||||
"oxidized_copper":"cobre_oxidado",
|
||||
"alga":"aluminio_galio",
|
||||
"metal_scrap":"chatarra",
|
||||
"glass_shard":"fragmento_de_vidrio",
|
||||
"rad_shard":"fragmento_de_vidrio_rad",
|
||||
"brick_rubble":"escombros_de_ladrillo",
|
||||
"baked_clay":"arcilla_horneado",
|
||||
"clay_shard":"fragmento_de_arcilla",
|
||||
"porcelain_shard":"fragmento_de_porcelina",
|
||||
"feather":"pluma",
|
||||
"confetti":"confetti",
|
||||
"glitter":"brillo",
|
||||
"bead":"cuenta",
|
||||
"color_sand":"arena_de_color",
|
||||
"borax":"bórax",
|
||||
"epsom_salt":"sal_de_epsom",
|
||||
"potassium_salt":"sal_de_potassio",
|
||||
"sodium_acetate":"acetato_sodio",
|
||||
"lightning":"relampago",
|
||||
"bless":"bendecir",
|
||||
"god_ray":"rayo_de_dios",
|
||||
"heat_ray":"rayo_de_calor",
|
||||
"explosion":"explosión",
|
||||
"n_explosion":"explosión_n",
|
||||
"supernova":"supernova",
|
||||
"pop":"estallido",
|
||||
"cook":"cocinar",
|
||||
"incinerate":"incinerar",
|
||||
"room_temp":"temp_ambiente",
|
||||
"positron":"positrón",
|
||||
"tnt":"tnt",
|
||||
"c4":"c4",
|
||||
"grenade":"grenada",
|
||||
"dynamite":"dinamita",
|
||||
"gunpowder":"polvóra",
|
||||
"ember":"ascua",
|
||||
"firework":"fuego_artificiale",
|
||||
"fw_ember":"ascua_fa",
|
||||
"nuke":"bomba_nuclear",
|
||||
"h_bomb":"bomba_h",
|
||||
"dirty_bomb":"bomba_sucio",
|
||||
"emp_bomb":"bomba_de_iem",
|
||||
"nitro":"nitróglicerina",
|
||||
"greek_fire":"fuego_griego",
|
||||
"fireball":"bola_de_fuego",
|
||||
"rocket":"cohete",
|
||||
"cold_bomb":"bomba_de_frio",
|
||||
"hot_bomb":"bomba_de_calor",
|
||||
"antimatter_bomb":"bomba_antimaterio",
|
||||
"party_popper":"aguafiestas",
|
||||
"flashbang":"bomba_de_destello",
|
||||
"flash":"destello",
|
||||
"smoke_grenade":"granada_de_humo",
|
||||
"landmine":"mina",
|
||||
"armageddon":"armagedón",
|
||||
"tesla_coil":"bobina_de_tesla",
|
||||
"light_bulb":"foco",
|
||||
"shocker":"choquedor",
|
||||
"pressure_plate":"placa_de_presión",
|
||||
"primordial_soup":"sopa_primordial",
|
||||
"molten_slag":"escoria_fundido",
|
||||
"molten_dirt":"tierra_fundido",
|
||||
"debug":"depurar",
|
||||
"prop":"prop",
|
||||
"salt_ice":"hielo_de_sal",
|
||||
"sugar_ice":"hielo_de_azúcar",
|
||||
"seltzer_ice":"hielo_carbonado",
|
||||
"dirty_ice":"hielo_sucio",
|
||||
"pool_ice":"hielo_clorado",
|
||||
"blood_ice":"sangre_congelado",
|
||||
"antibody_ice":"anticuerpo_congelado",
|
||||
"infection_ice":"infección_congelado",
|
||||
"unknown":"desconocido",
|
||||
"slime_ice":"limo_congelado",
|
||||
"antiice":"antihielo",
|
||||
"ammonia_ice":"hielo_de_ammonia",
|
||||
"liquid_propane":"propano_líquido",
|
||||
"methane_ice":"hielo_methano",
|
||||
"molten_brick":"ladrillo_fundido",
|
||||
"acid_ice":"acido_congelado",
|
||||
"soda_ice":"soda_congelado",
|
||||
"molten_steel":"acero_fundido",
|
||||
"molten_brass":"latón_fundido",
|
||||
"molten_bronze":"bronce_fundido",
|
||||
"molten_sterling":"esterlina_fundido",
|
||||
"molten_rose_gold":"oro_rosa_fundido",
|
||||
"molten_purple_gold":"oro_purpula_fundido",
|
||||
"molten_blue_gold":"oro_azúl_fundido",
|
||||
"molten_electrum":"electro_fundido",
|
||||
"molten_pyrite":"pirita_fundido",
|
||||
"broth_ice":"caldo_congelado",
|
||||
"frozen_vinegar":"vinagre_congelado",
|
||||
"sauce_ice":"salsa_congelado",
|
||||
"alcohol_ice":"alcohol_congelado",
|
||||
"bleach_ice":"lejía_congelado",
|
||||
"chlorine_ice":"cloro_congelado",
|
||||
"frozen_ink":"tinta_congelado",
|
||||
"tea_ice":"té_congelado",
|
||||
"coffee_ice":"café_congelado",
|
||||
"hydrogen_ice":"hidrógeno_congelado",
|
||||
"oxygen_ice":"oxígeno_congelado",
|
||||
"molten_amalgam":"amalgama_fundido",
|
||||
"neon_ice":"neón_congelado",
|
||||
"cyanide_ice":"ciaruno_congelado",
|
||||
"molten_copper_sulfate":"cobre_sulfató_fundido",
|
||||
"molten_alga":"aluminio_galio_fundido",
|
||||
"molten_metal_scrap":"chatarra_fundido",
|
||||
"molten_borax":"bórax_fundido",
|
||||
"molten_epsom_salt":"sal_de_epsom_fundido",
|
||||
"molten_potassium_salt":"sal_de_potassio_fundido",
|
||||
"molten_sodium_acetate":"",
|
||||
"frozen_nitro":"",
|
||||
"cured_meat": "",
|
||||
|
|
@ -540,4 +540,4 @@
|
|||
"blaster": "",
|
||||
"propane_ice": "",
|
||||
"molten_caustic_potash": ""
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@
|
|||
<tr><td>evenmoretemptools.js</td><td>Adds different temperature-modifying tools (±350/tick, NaN, and Infinity)</td><td>Alice</td></tr>
|
||||
<tr><td>extra_element_info.js</td><td>Adds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla</td><td>Melecie</td></tr>
|
||||
<tr><td>find.js</td><td>Adds a find mode that highlights a chosen element as pulsating red and yellow <a href="https://github.com/R74nCom/sandboxels/commit/de0dc088ab4d928c77587b9d0e3a7d7663e3f94a">(read commit description)</a></td><td>Alice</td></tr>
|
||||
<tr><td>jaydsfunctions.js</td><td>Adds extra tools</td><td>Jayd</td></tr>
|
||||
<tr><td>insane_random_events.js</td><td>Massively buffs random events</td><td>Alice</td></tr>
|
||||
<tr><td>invertscroll.js</td><td>Inverts the scroll wheel for adjusting brush size</td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>mobile_shift.js</td><td>Adds a button for shift on mobile</td><td>SquareScreamYT</td></tr>
|
||||
|
|
@ -157,7 +158,7 @@
|
|||
<!----><tr><td class="modCat" colspan="3">Science & Chemistry</td></tr><!---->
|
||||
<tr><td>alcohol.js</td><td>Adds methanol, (iso-)propanol, and butanol</td><td>Alice</td></tr>
|
||||
<tr><td>alkahest.js</td><td>Adds the alkahest, a liquid which dissolves anything</td><td>Alice</td></tr>
|
||||
<tr><td>aScientistsWish.js</td><td>Adds things that related to science, especially radiation</td><td>Carbon Monoxide, CPU</td></tr>
|
||||
<tr><td>aScientistsWish.js</td><td>Adds things that related to science, especially radiation</td><td>Carbon Monoxide, salmonfishy</td></tr>
|
||||
<tr><td>bettermetalscrap.js</td><td>Allows metal scrap to be melted back into its original material</td><td>nousernamefound</td></tr>
|
||||
<tr><td>bigger_star_spawners.js</td><td>Adds spawners for larger stars</td><td>Alice</td></tr>
|
||||
<tr><td>bioooze_and_pyrogens.js</td><td>Adds Bio-Ooze from <a herf="https://frackinuniverse.miraheze.org/wiki/Main_Page">Frackin’ Universe</a> and several heat-producing materials from various games’ mods</td><td>Alice</td></tr>
|
||||
|
|
@ -221,23 +222,23 @@
|
|||
<tr><td>more_breaking.js</td><td>Allows for breaking more elements in explosions</td><td>Alice</td></tr>
|
||||
<tr><td>rays.js</td><td>Adds more Ray types</td><td>Alice</td></tr>
|
||||
<tr><td>rays++.js</td><td>Adds a couple more rays</td><td>uptzik</td></tr>
|
||||
<tr><td>weapons.js</td><td>Adds some extra weapons</td><td>Jayd</td></tr>
|
||||
<tr><td>weapons.js</td><td>Adds varieties of different weapons </td><td>Jayd</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Food & Cooking</td></tr><!---->
|
||||
<tr><td>aChefsDream.js</td><td>Adds more foods, animals, tools and many other cooking related items. Updates can be found in <a href="https://www.youtube.com/watch?v=pQFTtlNPODQ&list=PLWHqGb75vC8o7CLv-pMoVb56JL9BY9F0t">this YouTube Playlist</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>aChefsDream_beta.js</td><td>Beta testing for aChefsDream. The code can be found <a href="https://www.github.com/SquareScreamYT/aChefsDream.js">on GitHub</a></td><td>SquareScreamYT</td></tr>
|
||||
<tr><td>bananas.js</td><td>Adds bananas and banana plants</td><td>Alice</td></tr>
|
||||
<tr><td>CherrySoda.js</td><td>Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda.</td><td>guzzo86</td></tr>
|
||||
<tr><td>community_desserts.js</td><td>Adds various desserts from community suggestions</td><td>Tisquares</td></tr>
|
||||
<tr><td>greenitemsandmore.js</td><td>Adds various green things, including apples and more food</td><td>zonneschijn7</td>
|
||||
<tr><td>ketchup_mod.js</td><td>Adds a bunch of ketchup related stuff, plus a few other condiments</td><td>Nubo318 (main dev), Devi, Alice (contributors)</td></tr>
|
||||
<tr><td>lemonade.js</td><td>Adds lemons and lemonade</td><td>personman / baconthemyth</td></tr>
|
||||
<tr><td>morefoodsmod.js</td><td>Adds more foods</td><td>Clide4</td></tr>
|
||||
<tr><td>pizzasstuff.js</td><td>New animals, foods, and plants</td><td>_ilikepizza_</td></tr>
|
||||
<tr><td>potato_chips.js</td><td>Potato chips.</td><td>guzzo86</td></tr>
|
||||
<tr><td>sbstuff.js</td><td>Adds many foods</td><td>stefanblox</td></tr>
|
||||
<tr><td>soups.js</td><td>Adds seasoning and soup</td><td>pixelegend4</td></tr>
|
||||
<tr><td>weAllScreamFor.js</td><td>Adds ice cream toppings</td><td>rottenEgghead</td></tr>
|
||||
<tr><td>CherrySoda.js</td><td>Adds materials to make Cherry soda. Benzaldehyde + seltzer = Cherrysoda.</td><td>guzzo86</td></tr>
|
||||
<tr><td>GrapeSoda.js</td><td>Adds materials to make Grape soda. Methylanthranilate + seltzer = Grapesoda.</td><td>guzzo86</td></tr>
|
||||
|
||||
<!----><tr><td class="modCat" colspan="3">Life & Nature</td></tr><!---->
|
||||
<tr><td>advanced_colonies.js</td><td>Adds davlers, creatures with complex colonies</td><td>DaviStudios</td></tr>
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ elements.cherrysoda_gas = {
|
|||
temp: 169,
|
||||
}
|
||||
elements.cherrysoda_ice = {
|
||||
color: "BF4F9C",
|
||||
color: "#BF4F9C",
|
||||
behavior: behaviors.wALL,
|
||||
category: "solids",
|
||||
state: "solid",
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ elements.anthranilicacid = {
|
|||
tempLow: -98,
|
||||
burn: 100,
|
||||
burnTime: 100,
|
||||
burnInto: "carbondioxide"
|
||||
}
|
||||
|
||||
elements.methanolice = {
|
||||
|
|
@ -68,6 +67,8 @@ elements.anthranilicacid = {
|
|||
stateLow: "methanol",
|
||||
tempLow: 64,
|
||||
temp: 84,
|
||||
burn: 100,
|
||||
burnTime: 100,
|
||||
}
|
||||
elements.methylanthranilate = {
|
||||
color: "#FFFBBA",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,233 @@
|
|||
elements.lab = {
|
||||
color: "#ff0000",
|
||||
behaviorOn: behaviors.WALL,
|
||||
behavior: [
|
||||
"CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wire|CR:wire|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall",
|
||||
"CR:wall|DL|XX|XX|XX|XX|XX|CR:e_cr|CR:wall|CR:sensor|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|CR:wall|CR:wire|xx|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:ecloner|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|CR:wall|CR:wire|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|CR:sensor|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:glass|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|CR:wall|XX|CR:wall|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:player|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|XX|XX|XX|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|XX|CR:wall|CR:wall|CR:wall|CR:wall|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|CR:wire|CR:wall|XX|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wall|XX|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wall|CR:wall|CR:wall|CR:wire|CR:sensor|XX|XX|CR:wall|XX|XX|XX|XX|CR:wall|XX|XX|XX|XX|XX|CR:wall",
|
||||
"CR:wall|CR:wall|CR:wall|CR:wall|CR:wire|CR:wire|CR:wire|CR:wire|CR:wire|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall|CR:wall",
|
||||
],
|
||||
category: "lab",
|
||||
state: "solid",
|
||||
};
|
||||
elements.e_cr = {
|
||||
name: "e-cr",
|
||||
color: "#dddd00",
|
||||
behavior: behaviors.WALL,
|
||||
behaviorOn: [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
"XX|CR:human|XX"
|
||||
],
|
||||
tick: function(pixel) {
|
||||
if (pixel.create) { return }
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
var x = pixel.x + coords[0];
|
||||
var y = pixel.y + coords[1];
|
||||
if (!isEmpty(x,y,true)) {
|
||||
pixel.temp = pixelMap[x][y].temp;
|
||||
if (pixelMap[x][y].create) { pixel.create = pixelMap[x][y].create; break }
|
||||
var element = pixelMap[x][y].element;
|
||||
if (element === pixel.element || elements[pixel.element].ignore.indexOf(element) !== -1) { continue }
|
||||
pixel.create = element;
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
ignore: ["cloner","slow_cloner","clone_powder","floating_cloner","wire","ewall","wire","sensor","battery"],
|
||||
category:"machines",
|
||||
insulate:true,
|
||||
darkText: true,
|
||||
conduct: 1,
|
||||
hardness: 1,
|
||||
movable: false
|
||||
}
|
||||
var libraryMod = "mods/code_library.js";
|
||||
|
||||
if(enabledMods.includes(libraryMod)) {
|
||||
sussyKey = null;
|
||||
isShift = false;
|
||||
isAlt = false;
|
||||
|
||||
document.addEventListener("keydown", function(modifierDownListener) {
|
||||
// User presses shift
|
||||
if (modifierDownListener.keyCode == 16) {
|
||||
isShift = true;
|
||||
}
|
||||
// User presses alt
|
||||
if (modifierDownListener.keyCode == 18) {
|
||||
isAlt = true;
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener("keyup", function(modifierUpListener) {
|
||||
// User releases shift
|
||||
if (modifierUpListener.keyCode == 16) {
|
||||
isShift = false;
|
||||
}
|
||||
// User releases alt
|
||||
if (modifierUpListener.keyCode == 18) {
|
||||
isAlt = false;
|
||||
}
|
||||
});
|
||||
|
||||
document.addEventListener("keyup", function(sussyListener) {
|
||||
switch (sussyListener.keyCode) {
|
||||
case 87:
|
||||
sussyKey = "W";
|
||||
break;
|
||||
case 65:
|
||||
sussyKey = "A";
|
||||
break;
|
||||
case 83:
|
||||
sussyKey = "S";
|
||||
break;
|
||||
case 68:
|
||||
sussyKey = "D";
|
||||
break;
|
||||
case 81:
|
||||
sussyKey = "Q";
|
||||
break;
|
||||
case 88:
|
||||
sussyKey = "X";
|
||||
break;
|
||||
case 90:
|
||||
sussyKey = "Z";
|
||||
break;
|
||||
case 72:
|
||||
sussyKey = "H";
|
||||
break;
|
||||
};
|
||||
});
|
||||
|
||||
function controllablePixelTryCreatePixelNullCheck(element,x,y) {
|
||||
if(!elements[element]) { //catch the null
|
||||
return false;
|
||||
};
|
||||
if(isEmpty(x,y)) {
|
||||
tryCreatePixel(element,x,y);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
elements.player = {
|
||||
color: "#FFFFFF",
|
||||
colorOn: "#FFFF00",
|
||||
behavior: behaviors.WALL,
|
||||
state: "solid",
|
||||
density: 2000,
|
||||
maxSize: 1,
|
||||
conduct: 1,
|
||||
hardness: 1,
|
||||
tick: function(pixel) {
|
||||
var xx = pixel.x;
|
||||
var yy = pixel.y;
|
||||
userElement = currentElement;
|
||||
if(userElement === pixel.element) {
|
||||
userElement = null;
|
||||
};
|
||||
if(isShift && !isAlt) {
|
||||
sussyKey === "Z" ? pixel.color = "rgb(255,191,127)" : pixel.color = "rgb(255,127,127)";
|
||||
}
|
||||
if(isAlt && !isShift) {
|
||||
sussyKey === "Z" ? pixel.color = "rgb(191,255,127)" : pixel.color = "rgb(127,255,127)";
|
||||
}
|
||||
if(isAlt && isShift) {
|
||||
sussyKey === "Z" ? pixel.color = "rgb(255,255,0)" : pixel.color = "rgb(255,255,127)";
|
||||
}
|
||||
if(!isAlt && !isShift) {
|
||||
sussyKey === "Z" ? pixel.color = "rgb(255,255,191)" : pixel.color = "rgb(255,255,255)";
|
||||
}
|
||||
if(sussyKey !== null) {
|
||||
switch (sussyKey) {
|
||||
case "W":
|
||||
isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx,yy-1) : tryMove(pixel,xx,yy-1);
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "A":
|
||||
isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx-1,yy) : tryMove(pixel,xx-1,yy);
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "S":
|
||||
isAlt ? controllablePixelTryCreatePixelNullCheck(userElement,xx,yy+1) : tryMove(pixel,xx,yy+1);
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "D":
|
||||
tryMove(pixel,xx+1,yy);
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "H": //Alt+D is something else in some browsers.
|
||||
if(isAlt) {
|
||||
controllablePixelTryCreatePixelNullCheck(userElement,xx+1,yy);
|
||||
};
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "X":
|
||||
explodeAt(xx,yy,5)
|
||||
if(!isShift) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "Z":
|
||||
if (!pixel.charge && !pixel.chargeCD && !isEmpty(pixel.x,pixel.y,true)) {
|
||||
pixel.charge = 1;
|
||||
}
|
||||
if(!isShift === 0) {
|
||||
sussyKey = null;
|
||||
}
|
||||
break;
|
||||
case "Q": //Use if a key gets stuck
|
||||
sussyKey = null;
|
||||
isShift = null;
|
||||
isAlt = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
} else {
|
||||
alert(`The ${libraryMod} mod is required and has been automatically inserted (reload for this to take effect).`)
|
||||
enabledMods.splice(enabledMods.indexOf(modName),0,libraryMod)
|
||||
localStorage.setItem("enabledMods", JSON.stringify(enabledMods));
|
||||
};
|
||||
|
||||
// i know it looks messy but it works
|
||||
|
||||
// if u dont belive me test it but place it in the center of the canvas
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
//mod made by imilkflamingos
|
||||
|
||||
|
||||
function countNeighbors(pixel,target){
|
||||
var targeted = 0;
|
||||
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)) {
|
||||
var otherPixel = pixelMap[x][y];
|
||||
if (otherPixel.element == target){
|
||||
targeted = targeted + 1
|
||||
}
|
||||
}
|
||||
}
|
||||
return targeted;
|
||||
}
|
||||
|
||||
//made by Fioushemastor
|
||||
function getDistance(x1, y1, x2, y2) {
|
||||
return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
|
||||
}
|
||||
|
||||
function getNearestPixel( posX,posY, targetElement) {
|
||||
let nearestPixel
|
||||
let minDistance = Infinity
|
||||
|
||||
//the stuff
|
||||
for (let index in pixelMap) {
|
||||
for (let pixel of pixelMap[index]) {
|
||||
if (pixel == undefined) continue;
|
||||
if (pixel.element == targetElement) {
|
||||
let distance = getDistance(pixel.x, pixel.y, posX, posY);
|
||||
if (distance < minDistance) {
|
||||
minDistance = distance;
|
||||
nearestPixel = pixel;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nearestPixel
|
||||
}
|
||||
// Rest made me
|
||||
|
||||
function getRandomInt (min, max) {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
function createEarthQuakeRand() {
|
||||
const chance = Math.random();
|
||||
if ( chance <= 0.005 ) {
|
||||
var randY = getRandomInt(60,85)
|
||||
var randX = getRandomInt(1,163)
|
||||
if(isEmpty(randX,randY)) {
|
||||
createPixel('earthquake',randX,randY)
|
||||
}
|
||||
else {
|
||||
changePixel(pixelMap[randX][randY],'earthquake')
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
function createTsunamiRand(){
|
||||
var randX = getRandomInt(1,163)
|
||||
const ClosestPixel = getNearestPixel(randX,25,'water')
|
||||
if(ClosestPixel) {
|
||||
var neighbors = countNeighbors(ClosestPixel,'water')
|
||||
if (isEmpty(ClosestPixel.x,ClosestPixel.y-1)) {
|
||||
const chance = Math.random();
|
||||
if ( chance <= 0.001 && countNeighbors(ClosestPixel,'water') >= 3) {
|
||||
createPixel('tsunami',ClosestPixel.x,ClosestPixel.y-1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
function createWildFireRand(){
|
||||
var randX = getRandomInt(1,163)
|
||||
const ClosestPixel = getNearestPixel(randX,25,'plant')
|
||||
if(ClosestPixel) {
|
||||
if (!isEmpty(ClosestPixel.x,ClosestPixel.y)) {
|
||||
const chance = Math.random();
|
||||
if ( chance <= 0.0005) {
|
||||
ClosestPixel.burning = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
function createMetorShower(){
|
||||
|
||||
}
|
||||
|
||||
function createCloud(pixel, type) {
|
||||
for (let i = 0; i < 70; i++) {
|
||||
if(isEmpty(pixel.x-i,pixel.y) ) {
|
||||
createPixel(type,pixel.x-i,pixel.y, );
|
||||
}
|
||||
if(isEmpty(pixel.x+i,pixel.y) ) {
|
||||
createPixel(type,pixel.x+i,pixel.y, );
|
||||
}
|
||||
if(isEmpty(pixel.x-i,pixel.y-1) ) {
|
||||
createPixel(type,pixel.x-i,pixel.y-1, );
|
||||
}
|
||||
if(isEmpty(pixel.x+i,pixel.y-1) ) {
|
||||
createPixel(type,pixel.x+i,pixel.y-1, );
|
||||
}
|
||||
if(isEmpty(pixel.x-i,pixel.y+1) ) {
|
||||
createPixel(type,pixel.x-i,pixel.y+1, );
|
||||
}
|
||||
if(isEmpty(pixel.x+i,pixel.y+1) ) {
|
||||
createPixel(type,pixel.x+i,pixel.y+1, );
|
||||
}
|
||||
i+1
|
||||
}
|
||||
}
|
||||
|
||||
elements.Test_Element = {
|
||||
hidden: true,
|
||||
color: "#ff0000",
|
||||
conduct: 0.1,
|
||||
category:"test",
|
||||
behavior: behaviors.WALL,
|
||||
|
||||
onSelect: function(pixel){},
|
||||
tick: function(pixel) {
|
||||
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
elements.Diaster_Spawner = {
|
||||
maxSize : 1,
|
||||
color: ["#8D8D8C", "#666666"],
|
||||
category: "land",
|
||||
behavior: behaviors.WALL,
|
||||
properties : {
|
||||
age: 0,
|
||||
|
||||
},
|
||||
tick : function(pixel) {
|
||||
const num = getRandomInt(1,3)
|
||||
if (num == 1) {
|
||||
createCloud(pixel, 'rain_cloud')
|
||||
} else if(num == 2){
|
||||
createCloud(pixel, 'thunder_cloud')
|
||||
} else {
|
||||
createCloud(pixel, 'tornado_cloud')
|
||||
}
|
||||
|
||||
if(pixel.age > 100) {
|
||||
changePixel(pixel,"cloud");
|
||||
}
|
||||
pixel.age++
|
||||
doDefaults(pixel);
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
elements.tornado_cloud = {
|
||||
color: ["#8D8D8C", "#666666"],
|
||||
category: "land",
|
||||
state : 'gas',
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|DL%0.0001|M1%2.5 AND BO",
|
||||
"XX|XX|XX",
|
||||
],
|
||||
tick : function(pixel) {
|
||||
const chance = Math.random();
|
||||
|
||||
if ( chance <= 0.00001) {
|
||||
if(isEmpty(pixel.x,pixel.y+1)) {
|
||||
changePixel(pixel,"tornado")
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
density: 0.4,
|
||||
ignoreAir: true,
|
||||
conduct: 0.03
|
||||
};
|
||||
|
||||
|
||||
|
||||
function createCloudRand() {
|
||||
const chance = Math.random();
|
||||
var randY = getRandomInt(7,19)
|
||||
if(chance <= 0.001) {
|
||||
if( isEmpty(83,randY)){
|
||||
createPixel('Diaster_Spawner',83,randY)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function runEvents(){
|
||||
if(!paused) {
|
||||
createEarthQuakeRand();
|
||||
createTsunamiRand();
|
||||
createCloudRand();
|
||||
createWildFireRand();
|
||||
}
|
||||
}
|
||||
|
||||
runAfterLoad(function() {
|
||||
RunSimInterval = window.setInterval(runEvents, 75);
|
||||
});
|
||||
|
|
@ -59,7 +59,7 @@ elements.mangrove_mud = {
|
|||
density: 1089,
|
||||
stain: 0.25
|
||||
};
|
||||
peat_slurry = {
|
||||
elements.peat_slurry = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
|
|
@ -92,7 +92,7 @@ elements.fen_mud = {
|
|||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1550,
|
||||
density: 1450,
|
||||
stain: 0.28
|
||||
};
|
||||
elements.swamp_sludge = {
|
||||
|
|
@ -479,7 +479,7 @@ elements.mud = {
|
|||
density: 1000,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.quicksand = {
|
||||
elements.quicksand_mud = {
|
||||
color: "#DAA520",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 1750,
|
||||
|
|
@ -505,7 +505,7 @@ elements.sandy_mud = {
|
|||
};
|
||||
elements.sticky_quicksand = {
|
||||
color: "#DAA520",
|
||||
behavior:elements.sap.behavior,
|
||||
behavior: elements.sap.behavior,
|
||||
viscosity: 1700,
|
||||
tempHigh: 65,
|
||||
stateHigh: "liquid",
|
||||
|
|
@ -515,3 +515,592 @@ elements.sticky_quicksand = {
|
|||
density: 1100,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.fluff_mud = {
|
||||
color: "#964B00",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 40,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1300,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.bog = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 45,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1400,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.mire = {
|
||||
color: "#2E8B57",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 50,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1500,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.oobleck = {
|
||||
color: "#008000",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 25,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1600,
|
||||
stain: 0.15
|
||||
};
|
||||
elements.spiderwebs = {
|
||||
color: "#D3D3D3",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 20,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1700,
|
||||
stain: 0.1
|
||||
};
|
||||
|
||||
elements.silt_quicksand = {
|
||||
color: "#DAA520",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 68,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1500,
|
||||
stain: 0.15
|
||||
};
|
||||
elements.syrupy_mud = {
|
||||
color: "#8B4513",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 65,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1550,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.quagmire_mud = {
|
||||
color: "#A0522D",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 60,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1600,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.bog_quicksand = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 62,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1650,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.sludge_mud = {
|
||||
color: "#2E8B57",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 58,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1700,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.squishy_slime = {
|
||||
color: "#FF4500",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 15000,
|
||||
tempHigh: 20,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1600,
|
||||
stain: 0.1
|
||||
};
|
||||
elements.sparkling_slime = {
|
||||
color: "#FFD700",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 12000,
|
||||
tempHigh: 25,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1650,
|
||||
stain: 0.15
|
||||
};
|
||||
elements.glittery_slime = {
|
||||
color: "#B0E0E6",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 25000,
|
||||
tempHigh: 10,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1750,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.swirling_slime = {
|
||||
color: "#9370DB",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 18000,
|
||||
tempHigh: 5,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1800,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.fizzling_slime = {
|
||||
color: "#00FFFF",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 15000,
|
||||
tempHigh: -5,
|
||||
stateHigh: "liquid",
|
||||
tempLow: -10,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1900,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.crackling_slime = {
|
||||
color: "#FF6347",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 20000,
|
||||
tempHigh: -10,
|
||||
stateHigh: "liquid",
|
||||
tempLow: -15,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1480,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.glowing_slime = {
|
||||
color: "#7B68EE",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 25000,
|
||||
tempHigh: -15,
|
||||
stateHigh: "liquid",
|
||||
tempLow: -20,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1395,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.crunchy_slime = {
|
||||
color: "#00BFFF",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 30000,
|
||||
tempHigh: -20,
|
||||
stateHigh: "liquid",
|
||||
tempLow: -25,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2050,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.sizzling_slime = {
|
||||
color: "#FFA07A",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 35000,
|
||||
tempHigh: -25,
|
||||
stateHigh: "liquid",
|
||||
tempLow: -30,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1463,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.spider_webbing = {
|
||||
color: "#FFFFFF",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 5000,
|
||||
tempHigh: 25,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1100,
|
||||
stain: 0.05
|
||||
};
|
||||
elements.webbing_gel = {
|
||||
color: "#FFD700",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 7000,
|
||||
tempHigh: 30,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1200,
|
||||
stain: 0.08
|
||||
};
|
||||
elements.arachnid_slime = {
|
||||
color: "#00FF00",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8000,
|
||||
tempHigh: 35,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1250,
|
||||
stain: 0.1
|
||||
};
|
||||
elements.sticky_silk = {
|
||||
color: "#FFFACD",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 6000,
|
||||
tempHigh: 40,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1300,
|
||||
stain: 0.12
|
||||
};
|
||||
elements.webbing_solution = {
|
||||
color: "#FFA07A",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 45,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1350,
|
||||
stain: 0.15
|
||||
};
|
||||
elements.arachnid_resin = {
|
||||
color: "#FF00FF",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 7500,
|
||||
tempHigh: 50,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1400,
|
||||
stain: 0.18
|
||||
};
|
||||
elements.spider_snot = {
|
||||
color: "#7FFFD4",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8500,
|
||||
tempHigh: 55,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1450,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.arachnid_ooze = {
|
||||
color: "#6495ED",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9500,
|
||||
tempHigh: 60,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1325,
|
||||
stain: 0.22
|
||||
};
|
||||
elements.sticky_spider_goo = {
|
||||
color: "#8A2BE2",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8500,
|
||||
tempHigh: 65,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1350,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.arachnid_sludge = {
|
||||
color: "#FF4500",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8000,
|
||||
tempHigh: 70,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1142,
|
||||
stain: 0.28
|
||||
};
|
||||
elements.spider_secretion = {
|
||||
color: "#FFFF00",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 75,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1464,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.arachnid_essence = {
|
||||
color: "#800080",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8500,
|
||||
tempHigh: 80,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1325,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.sticky_spider_residue = {
|
||||
color: "#8B4513",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9500,
|
||||
tempHigh: 85,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1499,
|
||||
stain: 0.28
|
||||
};
|
||||
elements.arachnid_phlegm = {
|
||||
color: "#32CD32",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 90,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1345,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.sticky_spider_slime = {
|
||||
color: "#800000",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 105,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1431,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.arachnid_mucus = {
|
||||
color: "#FF1493",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9500,
|
||||
tempHigh: 110,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2000,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.spider_secretion = {
|
||||
color: "#32CD32",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 115,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2050,
|
||||
stain: 0.28
|
||||
};
|
||||
elements.arachnid_excretion = {
|
||||
color: "#FF4500",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 8500,
|
||||
tempHigh: 120,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2100,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.sticky_spider_ooze = {
|
||||
color: "#00008B",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 125,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2150,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.arachnid_liquid = {
|
||||
color: "#FFFF00",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9500,
|
||||
tempHigh: 130,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 2200,
|
||||
stain: 0.28
|
||||
};
|
||||
elements.swamp_slime = {
|
||||
color: "#32CD32",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9000,
|
||||
tempHigh: 30,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1450,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.muddy_swamp_water = {
|
||||
color: "#8B4513",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 9500,
|
||||
tempHigh: 35,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1500,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.swamp_sludge = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10000,
|
||||
tempHigh: 40,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1550,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.boggy_mud = {
|
||||
color: "#6B8E23",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 10500,
|
||||
tempHigh: 45,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1600,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.swamp_ooze = {
|
||||
color: "#32CD32",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 11000,
|
||||
tempHigh: 50,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1650,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.sludgy_swamp_mixture = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 11500,
|
||||
tempHigh: 55,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1700,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.marshy_slime = {
|
||||
color: "#8B4513",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 12000,
|
||||
tempHigh: 60,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1750,
|
||||
stain: 0.2
|
||||
};
|
||||
elements.soggy_bog = {
|
||||
color: "#6B8E23",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 12500,
|
||||
tempHigh: 65,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1800,
|
||||
stain: 0.25
|
||||
};
|
||||
elements.mossy_swamp_water = {
|
||||
color: "#32CD32",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 13000,
|
||||
tempHigh: 70,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1850,
|
||||
stain: 0.3
|
||||
};
|
||||
elements.murky_marsh_mixture = {
|
||||
color: "#556B2F",
|
||||
behavior: elements.slime.behavior,
|
||||
viscosity: 13500,
|
||||
tempHigh: 75,
|
||||
stateHigh: "liquid",
|
||||
tempLow: 0,
|
||||
category: "liquids",
|
||||
state: "liquid",
|
||||
density: 1900,
|
||||
stain: 0.2
|
||||
};
|
||||
|
|
|
|||
|
|
@ -18,7 +18,37 @@ function getRGB(rgb){
|
|||
let rgb2 = rgb.replace(")", "").replace("rgb(", "").replace(/,/g, "r").split("r")
|
||||
return { r: parseInt(rgb2[0]), g: parseInt(rgb2[1]), b: parseInt(rgb2[2]) };
|
||||
}
|
||||
|
||||
function findMostFrequent(arr) {
|
||||
let freqMap = {};
|
||||
|
||||
if (arr) {
|
||||
if (arr.length === 0) {
|
||||
return "water";
|
||||
} else if (arr.length === 1) {
|
||||
return arr[0]
|
||||
} else {
|
||||
arr.forEach(item => {
|
||||
if(!freqMap[item]) {
|
||||
freqMap[item] = 0;
|
||||
}
|
||||
freqMap[item]++;
|
||||
});
|
||||
|
||||
let max = 0;
|
||||
let mostFrequent = [];
|
||||
|
||||
for (let item in freqMap) {
|
||||
if (freqMap[item] > max) {
|
||||
max = freqMap[item];
|
||||
mostFrequent = [item];
|
||||
} else if (freqMap[item] === max) {
|
||||
mostFrequent.push(item);
|
||||
}
|
||||
}
|
||||
return mostFrequent.join(', ');
|
||||
}
|
||||
}
|
||||
}
|
||||
behaviors.STURDYPOWDER2 = [
|
||||
"XX|XX|XX",
|
||||
"XX|XX|XX",
|
||||
|
|
@ -39,25 +69,21 @@ elements.knife = {
|
|||
//changePixel(pixel, cutInto)
|
||||
if (shiftDown) {
|
||||
if (Math.random() < 0.5) {
|
||||
changePixel(pixel, cutInto)
|
||||
var cutIntoEmit = elements[pixel.element].cutIntoEmit;
|
||||
if (!cutIntoEmit) { return };
|
||||
if(cutIntoEmit instanceof Array) { cutIntoEmit = cutIntoEmit[Math.floor(Math.random() * cutIntoEmit.length)] };
|
||||
var thiselement = pixel.element;
|
||||
if (elements[thiselement].cutIntoEmit && Math.random() < 0.7 && isEmpty(pixel.x,pixel.y-1)) {
|
||||
createPixel(elements[thiselement].cutIntoEmit,pixel.x,pixel.y-1);
|
||||
changePixel(pixel, cutInto)
|
||||
pixelTempCheck(pixel);
|
||||
if (elements[thiselement].cutIntoColor) {
|
||||
pixel.color = pixelColorPick(pixel, elements[thiselement].cutIntoColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!shiftDown) {
|
||||
if (Math.random() < 0.1) {
|
||||
changePixel(pixel, cutInto)
|
||||
var cutIntoEmit = elements[pixel.element].cutIntoEmit;
|
||||
if (!cutIntoEmit) { return };
|
||||
if(cutIntoEmit instanceof Array) { cutIntoEmit = cutIntoEmit[Math.floor(Math.random() * cutIntoEmit.length)] };
|
||||
var thiselement = pixel.element;
|
||||
if (elements[thiselement].cutIntoEmit && Math.random() < 0.4 && isEmpty(pixel.x,pixel.y-1)) {
|
||||
createPixel(elements[thiselement].cutIntoEmit,pixel.x,pixel.y-1);
|
||||
changePixel(pixel, cutInto)
|
||||
pixelTempCheck(pixel);
|
||||
if (elements[thiselement].cutIntoColor) {
|
||||
pixel.color = pixelColorPick(pixel, elements[thiselement].cutIntoColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -422,6 +448,10 @@ elements.soup = {
|
|||
if (Math.random() < 0.5) { deletePixel(ingredient.x, ingredient.y); }
|
||||
else {
|
||||
ingredient.color = pixelColorPick(ingredient, hex);
|
||||
if (!ingredient.elemlist){
|
||||
ingredient.elemlist = [];
|
||||
}
|
||||
ingredient.elemlist.push(soup.elemlist[Math.floor(Math.random() * soup.elemlist.length)])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -439,6 +469,13 @@ elements.soup = {
|
|||
}
|
||||
}
|
||||
},
|
||||
hoverStat: function(soup, ingredient) {
|
||||
if (findMostFrequent(soup.elemlist) == undefined) {
|
||||
return "Ingredients:None"
|
||||
} else {
|
||||
return "Ingredients:"+findMostFrequent(soup.elemlist)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
if (!elements.broth.reactions) elements.broth.reactions = {};
|
||||
|
|
@ -6586,6 +6623,7 @@ elements.durian = {
|
|||
cutInto: "cut_durian",
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
breakInto: "durian_juice"
|
||||
}
|
||||
|
||||
elements.cut_durian = {
|
||||
|
|
@ -6601,6 +6639,7 @@ elements.cut_durian = {
|
|||
hidden: true,
|
||||
freezeDryInto: "freeze_dried_fruits",
|
||||
freezeDryIntoColor: "#a19f3b",
|
||||
breakInto: "durian_juice"
|
||||
}
|
||||
|
||||
elements.durian_seed = {
|
||||
|
|
@ -6649,6 +6688,32 @@ elements.durian_seed = {
|
|||
"XX|M1|XX",
|
||||
],
|
||||
};
|
||||
|
||||
elements.durian_juice = {
|
||||
color: "#ebe06e",
|
||||
onMix: function(pixel) {
|
||||
if (shiftDown) {
|
||||
if (Math.random() < 0.2) {
|
||||
changePixel(pixel,"juice")
|
||||
pixel.color = pixelColorPick(pixel,"#ebe06e")
|
||||
}
|
||||
}
|
||||
},
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
tempHigh: 100,
|
||||
stateHigh: ["steam","sugar"],
|
||||
burn: 70,
|
||||
burnTime: 300,
|
||||
burnInto: ["steam", "smoke"],
|
||||
state: "liquid",
|
||||
density: 825,
|
||||
hidden: true,
|
||||
temp: 30,
|
||||
hidden: true,
|
||||
tempLow: 0,
|
||||
};
|
||||
eLists.JUICEMIXABLE.push("durian_juice");
|
||||
elements.egg_white = {
|
||||
color: "#edece8",
|
||||
behavior: behaviors.LIQUID,
|
||||
|
|
@ -7613,6 +7678,7 @@ elements.unripe_rambutan = {
|
|||
cutInto: "cut_rambutan",
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
breakInto: "rambutan_juice"
|
||||
}
|
||||
|
||||
elements.rambutan = {
|
||||
|
|
@ -7626,7 +7692,7 @@ elements.rambutan = {
|
|||
state: "solid",
|
||||
density: 1050,
|
||||
cutInto: "cut_rambutan",
|
||||
hidden: true,
|
||||
breakInto: "rambutan_juice"
|
||||
}
|
||||
|
||||
elements.cut_rambutan = {
|
||||
|
|
@ -7642,6 +7708,7 @@ elements.cut_rambutan = {
|
|||
hidden: true,
|
||||
freezeDryInto: "freeze_dried_fruits",
|
||||
freezeDryIntoColor: "#a19f3b",
|
||||
breakInto: "rambutan_juice"
|
||||
}
|
||||
|
||||
elements.rambutan_seed = {
|
||||
|
|
@ -7691,6 +7758,32 @@ elements.rambutan_seed = {
|
|||
],
|
||||
};
|
||||
|
||||
elements.rambutan_juice = {
|
||||
color: "#f7f4cb",
|
||||
onMix: function(pixel) {
|
||||
if (shiftDown) {
|
||||
if (Math.random() < 0.2) {
|
||||
changePixel(pixel,"juice")
|
||||
pixel.color = pixelColorPick(pixel,"#f7f4cb")
|
||||
}
|
||||
}
|
||||
},
|
||||
behavior: behaviors.LIQUID,
|
||||
category: "liquids",
|
||||
tempHigh: 100,
|
||||
stateHigh: ["steam","sugar"],
|
||||
burn: 70,
|
||||
burnTime: 300,
|
||||
burnInto: ["steam", "smoke"],
|
||||
state: "liquid",
|
||||
density: 825,
|
||||
hidden: true,
|
||||
temp: 30,
|
||||
hidden: true,
|
||||
tempLow: 0,
|
||||
};
|
||||
eLists.JUICEMIXABLE.push("rambutan_juice");
|
||||
|
||||
elements.barbecued_shrimp = {
|
||||
color:["#bf743b", "#b57026","#8f5e29","#a87b11"],
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
|
|
@ -7829,6 +7922,26 @@ elements.raisin = {
|
|||
isFood: true
|
||||
}
|
||||
|
||||
elements.fruit_slush = {
|
||||
color: "#ed93a4",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"uranium": { elem1:"dirty_water", chance:0.25 },
|
||||
},
|
||||
temp: -5,
|
||||
tempHigh: 18,
|
||||
tempLow: -20,
|
||||
stateLow: "juice_ice",
|
||||
stateHigh: "juice",
|
||||
category: "food",
|
||||
state: "liquid",
|
||||
density: 95,
|
||||
viscosity: 100,
|
||||
hidden: true
|
||||
}
|
||||
|
||||
// things to mix: juice, water, seltzer, sugar water, soda, juice, milk, cream,
|
||||
// juice, milk, chocolate milk, fruit milk, eggnog, nut milk, alcohol, wine, tea,
|
||||
// tea, coffee, honey, caramel, vanilla essence, peppermint tea, sugar, yogurt,
|
||||
|
|
@ -7836,9 +7949,9 @@ elements.raisin = {
|
|||
|
||||
// juice mixing
|
||||
for (let juicei = 0; juicei < eLists.JUICEMIXABLE.length; juicei++) {
|
||||
elem = eLists.JUICEMIXABLE[juicei];
|
||||
// juice with juice
|
||||
for (let juicej = 0; juicej < eLists.JUICEMIXABLE.length; juicej++) {
|
||||
elem = eLists.JUICEMIXABLE[juicei];
|
||||
elem2 = eLists.JUICEMIXABLE[juicej];
|
||||
if (elem != elem2) {
|
||||
if (!elements[elem].reactions) { chance:1, elements[elem].reactions = {} }
|
||||
|
|
@ -7909,6 +8022,19 @@ for (let juicei = 0; juicei < eLists.JUICEMIXABLE.length; juicei++) {
|
|||
pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
|
||||
}}
|
||||
}
|
||||
|
||||
iceelem = elem+"_ice"
|
||||
// ice slush
|
||||
elements[elem].stateLowColorMultiplier = 1.2;
|
||||
elements[elem].tempLow = 10;
|
||||
elements.fruit_slush.stateHighColorMultiplier = 0.83333333333;
|
||||
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
|
||||
|
||||
// fruit milk with milk
|
||||
elements.fruit_milk.reactions.milk = { chance:1, func: function(pixel1, pixel2){
|
||||
let newrgb = interpolateRgb(getRGB(pixel1.color), getRGB(pixel2.color), 0.2);
|
||||
|
|
@ -7982,3 +8108,25 @@ elements.fruit_milk.reactions.fruit_milk = { chance:1, func: function(pixel1, pi
|
|||
pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
|
||||
}
|
||||
}
|
||||
// fruit milk onMix
|
||||
elements.fruit_milk.onMix = function(pixel){
|
||||
let num = Math.floor(Math.random() * 4);
|
||||
let x = pixel.x + adjacentCoords[num][0];
|
||||
let y = pixel.y + adjacentCoords[num][1];
|
||||
if(!isEmpty(x,y) && !outOfBounds(x,y)){
|
||||
let pixel2 = pixelMap[x][y];
|
||||
if(pixel.color != pixel2.color && pixel2.element == "fruit_milk"){
|
||||
let condition;
|
||||
if(shiftDown == 0){
|
||||
condition = (Math.floor(Math.random() * 2) == 1);
|
||||
} else {
|
||||
condition = true;
|
||||
}
|
||||
if(condition){
|
||||
let newrgb = interpolateRgb(getRGB(pixel.color), getRGB(pixel2.color), 0.5);
|
||||
pixel.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
|
||||
pixel2.color = `rgb(${parseInt(newrgb.r)},${parseInt(newrgb.g)},${parseInt(newrgb.b)})`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
elements.cash = {
|
||||
color: "#00e600",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
};
|
||||
|
||||
delete elements.paper;
|
||||
delete elements.sponge;
|
||||
|
||||
elements.sponge = {
|
||||
color: "#ffff1a",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "solids",
|
||||
tool: function(pixel) {
|
||||
if (pixel.element == "water") {
|
||||
pixel.element = "wet_sponge"
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
elements.wet_sponge = {
|
||||
color: "#cccc00",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "solids",
|
||||
};
|
||||
|
||||
|
||||
elements.paper = {
|
||||
color: "#ffffff",
|
||||
behavior: behaviors.SOLID,
|
||||
category: "solids",
|
||||
};
|
||||
|
||||
elements.shredded_paper = {
|
||||
color: "#ffffff",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
};
|
||||
|
||||
elements.shredded_cash = {
|
||||
color: "#004d00",
|
||||
behavior: behaviors.POWDER,
|
||||
category: "powders",
|
||||
};
|
||||
|
||||
elements.shredder = {
|
||||
color: "#08b508",
|
||||
behavior: behaviors.SOLID,
|
||||
tool: function(pixel) {
|
||||
if (pixel.element == "cash") {
|
||||
pixel.element = "shredded_cash"
|
||||
},
|
||||
if (pixel.element == "paper") {
|
||||
pixel.element = "shredded_money"
|
||||
}
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
elements.led = {
|
||||
behavior: behaviors.WALL,
|
||||
reactions: {
|
||||
"light": {"charge1":1},
|
||||
"liquid_light": {"charge1":1},
|
||||
},
|
||||
color: "#666666",
|
||||
colorOn: "#ffffff",
|
||||
category: "machines",
|
||||
tempHigh: 1500,
|
||||
stateHigh: ["molten_glass","molten_glass","molten_glass","molten_gallium"],
|
||||
conduct: 1,
|
||||
breakInto: "glass_shard",
|
||||
tick: (pixel) => {
|
||||
if (pixel.start == pixelTicks) {
|
||||
pixel.normalColor = pixel.color;
|
||||
pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 120).join(", ")})`;
|
||||
}
|
||||
if (pixel.color != pixel.normalColor && !pixel.charge && !pixel.chargeCD) {
|
||||
pixel.normalColor = pixel.color;
|
||||
pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 120).join(", ")})`;
|
||||
}
|
||||
if (pixel.charge) {
|
||||
pixel.color = pixel.chargeColor;
|
||||
} else {
|
||||
pixel.color = pixel.normalColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pixelColorPick = (function() {
|
||||
const oldPixelColorPick = pixelColorPick;
|
||||
|
||||
return function(pixel, customColor = null) {
|
||||
if (pixel.element == "led" && pixel.color && !customColor) return pixel.color;
|
||||
return oldPixelColorPick.apply(this, arguments);
|
||||
}
|
||||
})()
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
elements.colored_light_bulb = {
|
||||
color: "#666666",
|
||||
colorOn: "#ffffff",
|
||||
behavior: behaviors.WALL,
|
||||
category: "machines",
|
||||
tempHigh: 1500,
|
||||
stateHigh: ["molten_glass","molten_glass","molten_copper"],
|
||||
conduct: 1,
|
||||
breakInto: "glass_shard",
|
||||
tick: function(pixel) {
|
||||
if (pixel.start == pixelTicks) {
|
||||
pixel.normalColor = pixel.color;
|
||||
pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 150).join(", ")})`;
|
||||
}
|
||||
if (pixel.color != pixel.normalColor && !pixel.charge && !pixel.chargeCD) {
|
||||
pixel.normalColor = pixel.color;
|
||||
pixel.chargeColor = `rgb(${pixel.color.replace(/[rgb\(\)]/g, "").split(",").map(a => parseInt(a.trim()) + 150).join(", ")})`;
|
||||
}
|
||||
if (pixel.charge) {
|
||||
pixel.color = pixel.chargeColor;
|
||||
} else {
|
||||
pixel.color = pixel.normalColor;
|
||||
}
|
||||
if (pixel.charge > 0) {
|
||||
for (let i = 0; i < adjacentCoords.length; i++){
|
||||
let coord = adjacentCoords[i]
|
||||
let x = coord[0]+pixel.x
|
||||
let y = coord[1]+pixel.y
|
||||
if (isEmpty(x, y)){
|
||||
//do crap to the pixel
|
||||
createPixel("light", x, y,),
|
||||
pixelMap[x][y].color = pixel.chargeColor
|
||||
}
|
||||
}
|
||||
}}
|
||||
}
|
||||
pixelColorPick = (function() {
|
||||
const oldPixelColorPick = pixelColorPick;
|
||||
|
||||
return function(pixel, customColor = null) {
|
||||
if (pixel.element == "colored_light_bulb" && pixel.color && !customColor) return pixel.color;
|
||||
return oldPixelColorPick.apply(this, arguments);
|
||||
}
|
||||
})()
|
||||
|
|
@ -5,37 +5,50 @@
|
|||
*
|
||||
* Got questions? Contact tisqbisque on Discord!
|
||||
*
|
||||
* This version: 1.1
|
||||
* This version: 2.0
|
||||
*/
|
||||
// Other mods can add to this list [:
|
||||
eListAdd("FRUITS",["apple","banana","blackberry","blueberry","grape","kiwi","mango","orange","peach","plum","pomegranate","rambutan","strawberry"]);
|
||||
function fruitLength() {
|
||||
return eLists.FRUITS.length;
|
||||
}
|
||||
|
||||
// Dulce de leche items
|
||||
elements.dulce_de_leche = {
|
||||
alias: "manjar",
|
||||
color: ["#c56600","#f7a204","#ca6400","#893604"],
|
||||
color: ["#c56600", "#f7a204", "#ca6400", "#893604"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"cream_cheese": { elem1:"dulce_de_leche", elem2:null, color1:["#DFAB73","#fbcc75","#e2aa73","#be9075"], oneway:true }, // for recipe accuracy :3
|
||||
"cream_cheese": { elem1: "dulce_de_leche", elem2: null, color1: ["#DFAB73", "#fbcc75", "#e2aa73", "#be9075"], oneway: true }, // for recipe accuracy :3
|
||||
},
|
||||
tempLow: -20,
|
||||
stateLow: "candy",
|
||||
tempHigh: 250,
|
||||
stateHigh: ["fragrance","smoke","smoke"],
|
||||
stateHigh: ["fragrance", "smoke", "smoke"],
|
||||
viscosity: 500,
|
||||
stain: 0.02,
|
||||
density: 1284.93,
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n"
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by heating Sweetened Condensed Milk at 175°C+.\nFrom undexconocidox_26419.\n"
|
||||
}
|
||||
elements.sweetened_condensed_milk = {
|
||||
color: ["#ffe9ba","#fbd396","#fde2a9"],
|
||||
alias: "sweet_milk",
|
||||
color: ["#ffe9ba", "#fbd396", "#fde2a9"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
onMix: function(cmilk, jamcheck) {
|
||||
if(shiftDown && elements[jamcheck.element].id === elements.jam.id && Math.random() < 0.06) {
|
||||
changePixel(cmilk,"mousse");
|
||||
pixelMap[cmilk.x][cmilk.y].color = shiftColor(rgbToHex(jamcheck.color),"#272727","add");
|
||||
deletePixel(jamcheck.x,jamcheck.y);
|
||||
}
|
||||
},
|
||||
tempLow: 0,
|
||||
stateLow: ["ice_cream","sugar"],
|
||||
stateLow: ["ice_cream", "sugar"],
|
||||
tempHigh: 175,
|
||||
stateHigh: "dulce_de_leche",
|
||||
viscosity: 5,
|
||||
|
|
@ -43,29 +56,29 @@ elements.sweetened_condensed_milk = {
|
|||
density: 1050.83,
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by mixing Milk and Sugar at 85°C+.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Milk and Sugar at 85°C+.\n",
|
||||
}
|
||||
|
||||
// Chocotorta items
|
||||
elements.cream_cheese = {
|
||||
color: ["#ebe9ea","#e4dfdd","#eeeeee"],
|
||||
color: ["#ebe9ea", "#e4dfdd", "#eeeeee"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
//reactions: {
|
||||
// For future use
|
||||
// For future use
|
||||
//},
|
||||
tempHigh: 65,
|
||||
stateHigh: "melted_cheese",
|
||||
stateHighColor: ["#fbffff","#f6f6f6"],
|
||||
stateHighColor: ["#fbffff", "#f6f6f6"],
|
||||
hardness: 0.01,
|
||||
density: 980.61,
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by mixing Acid with Milk or Cream.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 90°C-.\n",
|
||||
}
|
||||
elements.cocoa_bean = {
|
||||
color: ["#e16f51","#e28e67","#e18550","#84574d"],
|
||||
color: ["#e16f51", "#e28e67", "#e18550", "#84574d"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
|
|
@ -78,17 +91,17 @@ elements.cocoa_bean = {
|
|||
stateLow: "frozen_plant",
|
||||
// not hidden by default
|
||||
// not food don't eat it
|
||||
desc: "Added in the first version of the mod.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\n",
|
||||
}
|
||||
elements.cocoa_powder = {
|
||||
color: ["#855344","#6d4c41","#40271d"],
|
||||
color: ["#855344", "#6d4c41", "#40271d"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
onMix: function(powder, doughcheck) {
|
||||
onMix: function (powder, doughcheck) {
|
||||
if (elements[doughcheck.element].id == elements.dough.id && shiftDown && Math.random() < 0.25) {
|
||||
deletePixel(powder.x,powder.y);
|
||||
changePixel(doughcheck,"chocolate_biscuit_dough");
|
||||
deletePixel(powder.x, powder.y);
|
||||
changePixel(doughcheck, "chocolate_biscuit_dough");
|
||||
}
|
||||
},
|
||||
density: 363.5,
|
||||
|
|
@ -96,7 +109,7 @@ elements.cocoa_powder = {
|
|||
stateHigh: "smoke",
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by Smashing Cocoa Bean.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by Smashing Cocoa Bean.\n",
|
||||
}
|
||||
elements.chocolate_biscuit_dough = {
|
||||
color: "#623727",
|
||||
|
|
@ -111,7 +124,7 @@ elements.chocolate_biscuit_dough = {
|
|||
density: 526.9,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod.\nMade by hard mixing Cocoa Powder with Dough.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by hard mixing Cocoa Powder with Dough.\n",
|
||||
}
|
||||
elements.chocolate_biscuit = {
|
||||
color: "#864B36",
|
||||
|
|
@ -119,34 +132,34 @@ elements.chocolate_biscuit = {
|
|||
state: "solid",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
breakInto: "crumb",
|
||||
breakIntoColor: ["#af8264","#b28461","#aa7852","#a8744b"],
|
||||
breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"],
|
||||
tempHigh: 232.2,
|
||||
stateHigh: ["smoke","smoke","smoke","ash"],
|
||||
stateHigh: ["smoke", "smoke", "smoke", "ash"],
|
||||
density: 233.96,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by cooking Choco Biscuit Dough at 94°C+.\nCan be layered with other items to make chocotorta, from undexconocidox_26419.\n",
|
||||
}
|
||||
|
||||
// Haupia items
|
||||
elements.coconut = {
|
||||
color: ["#793b1e","#995c31","#5f3015"],
|
||||
color: ["#793b1e", "#995c31", "#5f3015"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
breakInto: ["coconut_milk","tinder"],
|
||||
breakInto: ["coconut_milk", "tinder"],
|
||||
tempHigh: 225,
|
||||
stateHigh: ["steam","ash","smoke"],
|
||||
stateHigh: ["steam", "ash", "smoke"],
|
||||
density: 822,
|
||||
desc: "Added in the first version of the mod.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\n",
|
||||
}
|
||||
elements.coconut_milk = {
|
||||
color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
|
||||
color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"sugar": { elem1:null, elem2:"haupia_mix", tempMin:90 },
|
||||
"sugar": { elem1: null, elem2: "haupia_mix", tempMin: 90 },
|
||||
},
|
||||
tempHigh: 102,
|
||||
stateHigh: "steam",
|
||||
|
|
@ -156,10 +169,10 @@ elements.coconut_milk = {
|
|||
density: 1031.33,
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by smashing Coconut.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by smashing Coconut.\n",
|
||||
}
|
||||
elements.haupia_mix = {
|
||||
color: ["#f3f3f3","#e4ddcb","#f8f8f8"],
|
||||
color: ["#f3f3f3", "#e4ddcb", "#f8f8f8"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
|
|
@ -170,55 +183,647 @@ elements.haupia_mix = {
|
|||
viscosity: 2.3,
|
||||
density: 1242.67,
|
||||
hidden: true,
|
||||
desc: "Added in the first version of the mod.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n",
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by mixing Coconut Milk and Sugar at 90°C+.\n",
|
||||
}
|
||||
elements.haupia = {
|
||||
color: ["#ffffff","#f8f8f8","#f7f9f8"],
|
||||
color: ["#ffffff", "#f8f8f8", "#f7f9f8"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.SUPPORT,
|
||||
tempHigh: 105,
|
||||
stateHigh: ["steam","fragrance"],
|
||||
stateHigh: ["steam", "fragrance"],
|
||||
density: 1300,
|
||||
hidden: true,
|
||||
isFood: true,
|
||||
desc: "Added in the first version of the mod.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n"
|
||||
desc: "Added in version 1.0 of Community Desserts.\nMade by cooling Haupia Mix at 3°C-.\nFrom tisqbisque.\n"
|
||||
}
|
||||
|
||||
// Pie crust items
|
||||
elements.pie_crust_batter = {
|
||||
alias: "pie_batter",
|
||||
color: ["#efdbae", "#ffe6ab", "#eacb88"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
tempHigh: 180,
|
||||
stateHigh: "pie_crust",
|
||||
density: 233.96,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Dough and Butter.\n",
|
||||
}
|
||||
elements.pie_crust = {
|
||||
color: ["#c18d45", "#b07f3c", "#d0a352", "#b27f3a"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.STURDYPOWDER,
|
||||
breakInto: "crumb",
|
||||
breakIntoColor: ["#af8264", "#b28461", "#aa7852", "#a8744b"],
|
||||
tempHigh: 232.2,
|
||||
stateHigh: ["smoke", "smoke", "smoke", "ash"],
|
||||
density: 233.96,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by cooking Pie Crust Batter at 180°C+.\n",
|
||||
}
|
||||
|
||||
// Jam and fruit items
|
||||
elements.jam = {
|
||||
color: ["#e14a4a","#f64040","#e72225"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
tick: function (pixel) {
|
||||
var madeJelly = false;
|
||||
// Check left, right, up, down from jam pixel..
|
||||
if(pixel.temp >= 95) {
|
||||
if(Math.random() < 0.05 && pixel.x-1 !== 0) {
|
||||
if (!isEmpty(pixel.x-1,pixel.y) && pixelMap[pixel.x-1][pixel.y].element === "water") {
|
||||
changePixel(pixelMap[pixel.x-1][pixel.y],"jelly");
|
||||
pixelMap[pixel.x-1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
|
||||
madeJelly = true;
|
||||
};
|
||||
};
|
||||
if(Math.random() < 0.05 && pixel.x+1 !== width) {
|
||||
if (!isEmpty(pixel.x+1,pixel.y) && pixelMap[pixel.x+1][pixel.y].element === "water") {
|
||||
changePixel(pixelMap[pixel.x+1][pixel.y],"jelly");
|
||||
pixelMap[pixel.x+1][pixel.y].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
|
||||
madeJelly = true;
|
||||
};
|
||||
};
|
||||
if(Math.random() < 0.05 && pixel.y-1 !== 0) {
|
||||
if (!isEmpty(pixel.x,pixel.y-1) && pixelMap[pixel.x][pixel.y-1].element === "water") {
|
||||
changePixel(pixelMap[pixel.x][pixel.y-1],"jelly");
|
||||
pixelMap[pixel.x][pixel.y-1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
|
||||
madeJelly = true;
|
||||
};
|
||||
};
|
||||
if(Math.random() < 0.05 && pixel.y+1 !== height) {
|
||||
if (!isEmpty(pixel.x,pixel.y+1) && pixelMap[pixel.x][pixel.y+1].element === "water") {
|
||||
changePixel(pixelMap[pixel.x][pixel.y+1],"jelly");
|
||||
pixelMap[pixel.x][pixel.y+1].color = shiftColor(rgbToHex(pixel.color),"#272727","sub");
|
||||
madeJelly = true;
|
||||
};
|
||||
};
|
||||
if(madeJelly) {
|
||||
deletePixel(pixel.x,pixel.y);
|
||||
}
|
||||
}
|
||||
},
|
||||
tempHigh: 160,
|
||||
stateHigh: ["smoke", "smoke", "sugar"],
|
||||
tempLow: -5,
|
||||
stateLowName: "frozen_jam",
|
||||
stateLowColorMultiplier: 1.1,
|
||||
viscosity: 200000,
|
||||
stain: 0.3,
|
||||
density: 1333.5,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by smashing a fruit.\n",
|
||||
}
|
||||
elements.frozen_jam = {
|
||||
stateHighColorMultiplier: 0.91,
|
||||
}
|
||||
elements.fruit_seed = { // similar to pinecone
|
||||
color: ["#5c3333","#472727","#311b1b"],
|
||||
tick: function(pixel) {
|
||||
if (!tryMove(pixel,pixel.x,pixel.y+1) && pixelTicks-pixel.start > 50) {
|
||||
if (pixel.h === undefined) { // set to even number between 8 and 26
|
||||
pixel.h = Math.floor(Math.random()*9)*2+8;
|
||||
pixel.lh = pixel.h;
|
||||
}
|
||||
if (Math.random() < 0.02 && pixel.h > 0 && pixel.temp < 100) {
|
||||
if (!outOfBounds(pixel.x,pixel.y+1)) { // grow roots
|
||||
var dirtPixel = pixelMap[pixel.x][pixel.y+1];
|
||||
if (dirtPixel && (eLists.SOIL.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) {
|
||||
changePixel(dirtPixel,"root");
|
||||
}
|
||||
}
|
||||
if (isEmpty(pixel.x,pixel.y-1) && tryMove(pixel,pixel.x,pixel.y-1)) {
|
||||
createPixel("wood",pixel.x,pixel.y+1);
|
||||
pixel.h --;
|
||||
}
|
||||
}
|
||||
else if (pixel.h === 0) {
|
||||
changePixel(pixel,"fruit_tree");
|
||||
pixelMap[pixel.x][pixel.y].h = pixel.lh;
|
||||
}
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
tempHigh: 500,
|
||||
stateHigh: "wood",
|
||||
burn: 5,
|
||||
burnTime: 100,
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
density: 1500,
|
||||
cooldown: defaultCooldown,
|
||||
seed: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nGrows into Fruit Tree.\n"
|
||||
}
|
||||
elements.fruit_tree = { // like sapling
|
||||
color: ["#007a00","#0a910a","#036903"],
|
||||
tick: function (pixel) {
|
||||
if (pixel.h > 0 && pixelTicks % (50+pixel.h) === 0) {
|
||||
// extend to the left and right, giving the next h-1
|
||||
// The taller the tree, the longer the umbrella
|
||||
if (isEmpty(pixel.x-1,pixel.y)) {
|
||||
createPixel("fruit_tree",pixel.x-1,pixel.y);
|
||||
pixelMap[pixel.x-1][pixel.y].h = pixel.h-2;
|
||||
}
|
||||
if (isEmpty(pixel.x+1,pixel.y)) {
|
||||
createPixel("fruit_tree",pixel.x+1,pixel.y);
|
||||
pixelMap[pixel.x+1][pixel.y].h = pixel.h-2;
|
||||
}
|
||||
if (isEmpty(pixel.x,pixel.y-1)) {
|
||||
createPixel("fruit_tree",pixel.x,pixel.y-1);
|
||||
}
|
||||
}
|
||||
else if(isEmpty(pixel.x,pixel.y+1) && Math.random() < 0.0005 ) {
|
||||
createPixel(eLists.FRUITS[Math.floor(Math.random()*fruitLength())],pixel.x,pixel.y+1);
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
reactions: {
|
||||
"vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
|
||||
"baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
|
||||
"bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
|
||||
"alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 }
|
||||
},
|
||||
category: "Community",
|
||||
tempHigh: 100,
|
||||
stateHigh: "dead_plant",
|
||||
burn:45,
|
||||
burnTime:75,
|
||||
burnInto: ["dead_plant","dead_plant","dead_plant","dead_plant","fruit_seed"],
|
||||
breakInto: ["dead_plant","dead_plant","dead_plant","dirt","sap"],
|
||||
state: "solid",
|
||||
density: 1050,
|
||||
seed: "fruit_seed",
|
||||
hidden: true,
|
||||
movable: false,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMay drop a random fruit. Current # of fruits: " + (fruitLength()-1) +".\n",
|
||||
}
|
||||
elements.apple = {
|
||||
color: ["#c6de70","#efdc5c","#c75833","#bd3838"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#f5cb40" },
|
||||
"acid": { elem1:"juice", color1:"#f5cb40" },
|
||||
"acid_gas": { elem1:"juice", color1:"#f5cb40" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#ddae16","#fdcd53","#fed75e","#e9b429"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 460.72,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.banana = {
|
||||
color: ["#f8e662","#ffe312","#fee402","#fed601"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#fae7b5" },
|
||||
"acid": { elem1:"juice", color1:"#fae7b5" },
|
||||
"acid_gas": { elem1:"juice", color1:"#fae7b5" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#d6aa46","#e3b544","#cda23a","#e3c869"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 634.01,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.blackberry = {
|
||||
color: ["#5c2f3e","#281c2a","#02060f","#19252c"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#7b1e57" },
|
||||
"acid": { elem1:"juice", color1:"#7b1e57" },
|
||||
"acid_gas": { elem1:"juice", color1:"#7b1e57" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#481317","#50030d","#250b0c","#62020d"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 608.65,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.blueberry = {
|
||||
color: ["#385f9e","#386891","#4874b5","#4b8ee3"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#933487" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#933487" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#933487" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#933487" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#933487" },
|
||||
"acid": { elem1:"juice", color1:"#933487" },
|
||||
"acid_gas": { elem1:"juice", color1:"#933487" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#48132c","#6f3a56","#13030d","#351123"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 625.56,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.kiwi = {
|
||||
color: ["#be8456","#cb8a3e","#bc7742","#975e25"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#eef299" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#eef299" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#eef299" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#eef299" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#eef299" },
|
||||
"acid": { elem1:"juice", color1:"#eef299" },
|
||||
"acid_gas": { elem1:"juice", color1:"#eef299" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#beb43c","#b7ac41","#8d7614","#755e11"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 748.14,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.mango = {
|
||||
color: ["#ff1f25","#f97231","#fdeb1d","#85b624"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#ffbf34" },
|
||||
"acid": { elem1:"juice", color1:"#ffbf34" },
|
||||
"acid_gas": { elem1:"juice", color1:"#ffbf34" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#ef9d00","#fdb005","#fed803","#fbdd00"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 697.41,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.orange = {
|
||||
color: ["#ffa500","#ff951d","#ffb20a","#f68310"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#f7ca05" },
|
||||
"acid": { elem1:"juice", color1:"#f7ca05" },
|
||||
"acid_gas": { elem1:"juice", color1:"#f7ca05" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#edb848","#f6b23e","#e59e12","#eca528"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 435, // these oranges have peels so they float [:
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.peach = {
|
||||
color: ["#ffc612","#f78a00","#d43d22","#a41622"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#ffc663" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#ffc663" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#ffc663" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#ffc663" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#ffc663" },
|
||||
"acid": { elem1:"juice", color1:"#ffc663" },
|
||||
"acid_gas": { elem1:"juice", color1:"#ffc663" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#f59400","#f29e04","#e9a230","#eead37"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 650.92,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.plum = {
|
||||
color: ["#952444","#5a2346","#3e2141","#450a1a"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#a10013" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#a10013" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#a10013" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#a10013" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#a10013" },
|
||||
"acid": { elem1:"juice", color1:"#a10013" },
|
||||
"acid_gas": { elem1:"juice", color1:"#a10013" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#a9050c","#55081a","#781123","#4f1e2f"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 697.41,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.pomegranate = {
|
||||
color: ["#fd4127","#be2216","#aa1519","#330104"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#c9002c" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#c9002c" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#c9002c" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#c9002c" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#c9002c" },
|
||||
"acid": { elem1:"juice", color1:"#c9002c" },
|
||||
"acid_gas": { elem1:"juice", color1:"#c9002c" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#4b0000","#6b0900","#a3000e","#c80402"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 1150,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.rambutan = {
|
||||
color: ["#9a1408","#eb2814","#9bf05f","#f6ffff"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#eae6dd" },
|
||||
"acid": { elem1:"juice", color1:"#eae6dd" },
|
||||
"acid_gas": { elem1:"juice", color1:"#eae6dd" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
breakIntoColor: ["#60271a","#773119","#841e01","#953810"],
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 281,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.strawberry = {
|
||||
color: ["#c53415","#ea1720","#f1232d","#ea7e72"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"juice", chance:0.1, color1:"#f53c28" },
|
||||
"concrete": { elem1:"juice", chance:0.1, color1:"#f53c28" },
|
||||
"basalt": { elem1:"juice", chance:0.1, color1:"#f53c28" },
|
||||
"limestone": { elem1:"juice", chance:0.1, color1:"#f53c28" },
|
||||
"tuff": { elem1:"juice", chance:0.1, color1:"#f53c28" },
|
||||
"acid": { elem1:"juice", color1:"#f53c28" },
|
||||
"acid_gas": { elem1:"juice", color1:"#f53c28" },
|
||||
},
|
||||
breakInto: "jam",
|
||||
// Jam is strawberry-colored by default akschully
|
||||
tempHigh: 256,
|
||||
stateHigh: ["steam", "sugar"],
|
||||
density: 642.47,
|
||||
isFood: true,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
|
||||
// Vanilla items
|
||||
elements.vanilla_bean = {
|
||||
alias: "vanilla",
|
||||
color: ["#362C1D","#6f4a3b","#764735","#593b30"],
|
||||
category: "Community",
|
||||
state: "solid",
|
||||
behavior: behaviors.POWDER,
|
||||
reactions: {
|
||||
"rock": { elem1:"vanilla_extract", chance:0.1 },
|
||||
"concrete": { elem1:"vanilla_extract", chance:0.1 },
|
||||
"basalt": { elem1:"vanilla_extract", chance:0.1 },
|
||||
"limestone": { elem1:"vanilla_extract", chance:0.1 },
|
||||
"tuff": { elem1:"vanilla_extract", chance:0.1 },
|
||||
"acid": { elem1:"vanilla_extract" },
|
||||
"acid_gas": { elem1:"vanilla_extract", },
|
||||
},
|
||||
breakInto: "vanilla_extract",
|
||||
tempHigh: 315,
|
||||
stateHigh: ["steam","ash"],
|
||||
density: 1100,
|
||||
desc: "Added in version 2.0 of Community Desserts.\n"
|
||||
}
|
||||
elements.vanilla_extract = {
|
||||
// Will have more application one day
|
||||
color: ["#5e1b00","#321501"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 285,
|
||||
stateHigh: ["steam", "alcohol_gas"],
|
||||
density: 879.16,
|
||||
viscosity: 5000,
|
||||
stain: 0.45,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by smashing Vanilla Bean.\nFrom lethanaero.\n",
|
||||
}
|
||||
|
||||
// Mousse items
|
||||
elements.mousse = {
|
||||
color: ["#fffdce","#fffee2","#fffff5"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 286,
|
||||
stateHigh: ["steam", "smoke", "smoke", "sugar"],
|
||||
density: 1707.61,
|
||||
viscosity: 5000000, // is there a limit?
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Jam and Sweetened Condensed Milk.\nFrom brickmaster0513.\n",
|
||||
}
|
||||
|
||||
// Tiramisu items
|
||||
elements.egg_ribbons = {
|
||||
color: ["#ffdc5e","#ffe07c"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 150,
|
||||
stateHigh: ["smoke","hard_yolk"],
|
||||
tempLow: 0,
|
||||
stateLow: ["sugar","hard_yolk"],
|
||||
density: 1227.5,
|
||||
viscosity: 300,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by hard mixing Yolk and Sugar.\n",
|
||||
}
|
||||
elements.mascarpone = {
|
||||
color: ["#faf9f1","#faf9f7"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
reactions: {
|
||||
"egg_ribbons": { elem1:"tiramisu_cream", elem2:null }
|
||||
},
|
||||
tempHigh: 218,
|
||||
stateHigh: ["smoke","smoke"],
|
||||
density: 946.79,
|
||||
viscosity: 30000,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Acid with Milk or Cream at 85°C+.\n",
|
||||
}
|
||||
elements.tiramisu_cream = {
|
||||
color: ["#fff0d1","#fbefd7"],
|
||||
category: "Community",
|
||||
state: "liquid",
|
||||
behavior: behaviors.LIQUID,
|
||||
tempHigh: 218,
|
||||
stateHigh: ["smoke","smoke"],
|
||||
density: 946.79,
|
||||
viscosity: 30000,
|
||||
hidden: true,
|
||||
desc: "Added in version 2.0 of Community Desserts.\nMade by mixing Egg Ribbons with Mascarpone.\nCan be layered with other items to make tiramisu, from tisqbisque.\n",
|
||||
}
|
||||
|
||||
// Adjusting existing elements here
|
||||
elements.milk.reactions = {
|
||||
"melted_chocolate": { elem1:"chocolate_milk", elem2:null },
|
||||
"chocolate": { elem1:"chocolate_milk", elem2:"melted_chocolate", chance:0.05 },
|
||||
"coffee_ground": { elem1:"chocolate_milk", chance:0.05 },
|
||||
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
|
||||
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
|
||||
"yolk": { elem1:"eggnog", elem2:null, chance:0.1 },
|
||||
"cell": { elem1:"yogurt", chance:0.1 },
|
||||
"ash": { elem1:"soap", chance:0.1 },
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"caramel": { color1:"#C8B39A", elem2:null, chance:0.05 },
|
||||
// Start mod items here
|
||||
"sugar": { elem1:"sweetened_condensed_milk", elem2:null, chance:0.05, tempMin:85 },
|
||||
"acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
|
||||
}
|
||||
if (!elements.milk.reactions) { elements.milk.reactions = {} };
|
||||
elements.milk.reactions.acid = { elem1: null, elem2: "cream_cheese", chance: 0.8 };
|
||||
elements.milk.reactions.sugar = { elem1: "sweetened_condensed_milk", elem2: null, chance: 0.05, tempMin: 85 };
|
||||
|
||||
elements.cream.reactions = {
|
||||
"dirt": { elem1: null, elem2: "mud" },
|
||||
"sand": { elem1: null, elem2: "wet_sand" },
|
||||
"clay_soil": { elem1: null, elem2: "clay" },
|
||||
"melted_chocolate": { color1:"#664934", elem2:null },
|
||||
"chocolate": { color1:"#664934", elem2:"melted_chocolate", chance:0.05 },
|
||||
"juice": { elem1:"fruit_milk", elem2:null, chance:0.05 },
|
||||
"soda": { elem1:"pilk", elem2:null, chance:0.1 },
|
||||
"yolk": { elem1:"#eggnog", elem2:null, chance:0.1 },
|
||||
"caramel": { color1:"#C8B39A", chance:0.05 },
|
||||
"sugar": { elem2:null, chance:0.005},
|
||||
// Start mod items here
|
||||
"acid": { elem1:null, elem2:"cream_cheese", chance:0.8 },
|
||||
if (!elements.cream.reactions) { elements.cream.reactions = {} };
|
||||
elements.cream.reactions.acid = { elem1: "cream_cheese", elem2: null, chance: 0.8, tempMax:90 };
|
||||
if (!elements.acid.reactions) { elements.acid.reactions = {} };
|
||||
elements.acid.reactions.cream = { elem1: null, elem2: "mascarpone", chance: 0.5, tempMin:85 };
|
||||
|
||||
if (!elements.dough.reactions) { elements.dough.reactions = {} };
|
||||
elements.dough.reactions.butter = { elem1: "pie_crust_batter", elem2: null, chance: 0.05 };
|
||||
|
||||
if(elements.sugar.reactions.grape) { delete elements["sugar"].reactions.grape; }; // I would remove the reactions entirely but I don't want to mess with other mods
|
||||
if(elements.caramel.reactions.grape) { delete elements["caramel"].reactions.grape; };
|
||||
if(elements.grape.reactions.water) { delete elements["grape"].reactions.water };
|
||||
if(elements.grape.reactions.sugar_water) { delete elements["grape"].reactions.sugar_water };
|
||||
if (!elements.grape.hidden) { elements.grape.hidden = true };
|
||||
elements.grape.breakInto = "jam";
|
||||
|
||||
if (!elements.jelly.desc) { elements.jelly.desc = "Changed in version 2.0 of Community Desserts.\nMade by mixing Jam and Water at temperatures 95°C+.\n" };
|
||||
if (!elements.jelly.hidden) { elements.jelly.hidden = true };
|
||||
elements.jelly.viscosity = 150000;
|
||||
elements.jelly.stain = 0.25;
|
||||
|
||||
elements.yolk.onMix = function(pixel,sugarcheck) {
|
||||
if (elements[sugarcheck.element].id == elements.sugar.id && shiftDown && Math.random() < 0.35) {
|
||||
deletePixel(sugarcheck.x, sugarcheck.y);
|
||||
changePixel(pixel, "egg_ribbons");
|
||||
}
|
||||
}
|
||||
|
||||
// Mod items first
|
||||
elements.acid.ignore = ["cream_cheese","cream","milk",
|
||||
"glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone"];
|
||||
elements.acid.ignore = ["cream_cheese", "cream", "milk", "mascarpone",
|
||||
"glass", "rad_glass", "glass_shard", "rad_shard", "stained_glass", "baked_clay", "acid_gas", "neutral_acid", "acid_cloud", "water", "salt_water", "sugar_water", "dirty_water", "copper", "gold", "porcelain", "plastic", "bead", "microplastic", "molten_plastic", "pool_water", "chlorine", "hydrogen", "gold_coin", "silver", "nickel", "calcium", "bone"];
|
||||
|
||||
// For new colors
|
||||
function shiftColor(base, change, direction) {
|
||||
const colorRegEx = /^\#?[A-Fa-f0-9]{6}$/;
|
||||
|
||||
// Missing parameter(s)
|
||||
if (!base || !change) {
|
||||
console.log("Parameter absent!");
|
||||
return '#000000';
|
||||
}
|
||||
// Invalid parameter(s)
|
||||
if (!base.match(colorRegEx) || !change.match(colorRegEx)) {
|
||||
console.log("Parameter bad!");
|
||||
return '#000000';
|
||||
}
|
||||
|
||||
// Remove any '#'
|
||||
base = base.replace(/\#/g, '');
|
||||
change = change.replace(/\#/g, '');
|
||||
|
||||
// Build new color
|
||||
let newColor = '';
|
||||
for (let i = 0; i < 3; i++) {
|
||||
const basePiece = parseInt(base.substring(i * 2, i * 2 + 2), 16);
|
||||
const changePiece = parseInt(change.substring(i * 2, i * 2 + 2), 16);
|
||||
let newPiece = '';
|
||||
|
||||
if (direction === 'add') { // Adding a lighter color makes it darker. #000000 does effectively nothing! #ffffff makes it fully white!
|
||||
newPiece = (basePiece + changePiece);
|
||||
newPiece = newPiece > 255 ? 255 : newPiece;
|
||||
}
|
||||
if (direction === 'sub') { // Subtracting a darker color makes it closer to original. #000000 does effectively nothing! #ffffff makes it fully black!
|
||||
newPiece = (basePiece - changePiece);
|
||||
newPiece = newPiece < 0 ? 0 : newPiece;
|
||||
}
|
||||
|
||||
newPiece = newPiece.toString(16);
|
||||
newPiece = newPiece.length < 2 ? '0' + newPiece : newPiece;
|
||||
newColor += newPiece;
|
||||
}
|
||||
|
||||
return '#' + newColor;
|
||||
}
|
||||
|
||||
function rgbToHex(rgbObj) {
|
||||
var values = rgbObj.substring(rgbObj.indexOf('(') + 1, rgbObj.lastIndexOf(')')).split(',');
|
||||
var r = parseInt(values[0]);
|
||||
var g = parseInt(values[1]);
|
||||
var b = parseInt(values[2]);
|
||||
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
|
||||
}
|
||||
function componentToHex(c) {
|
||||
let hex = c.toString(16);
|
||||
return hex.length == 1 ? "0" + hex : hex;
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
var ct = 100
|
||||
|
||||
elements.customtemp = {
|
||||
color: ["#FF0000", "#FF6600", "#FFCC00", "#FFFF00", "#CCFF00", "#66FF00", "#00FF00", "#00FF66", "#00FFCC", "#00FFFF"],
|
||||
onSelect: function() {
|
||||
var answer4 = parseInt(prompt("Please input the desired temperature to reach.",(ct||undefined)));
|
||||
if (!answer4) { return }
|
||||
ct = answer4;
|
||||
if (isNaN(answer4)) {
|
||||
ct = 100
|
||||
}
|
||||
},
|
||||
tool: function(pixel) {
|
||||
pixel.temp = ct,
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.customheat = {
|
||||
color: ["#FF0000", "#FFFFFF", "#FF0000"],
|
||||
onSelect: function() {
|
||||
var answer4 = parseInt(prompt("Please input the desired temperature increase per tick. (In celsius)",(ct||undefined)));
|
||||
if (!answer4) { return }
|
||||
ct = answer4;
|
||||
if (isNaN(answer4)) {
|
||||
ct = 100
|
||||
}
|
||||
},
|
||||
tool: function(pixel) {
|
||||
pixel.temp = pixel.temp + ct,
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
elements.customcool = {
|
||||
color: ["#0000FF", "#FFFFFF", "#0000FF"],
|
||||
onSelect: function() {
|
||||
var answer4 = parseInt(prompt("Please input the desired temperature decrease per tick. (In celsius)",(ct||undefined)));
|
||||
if (!answer4) { return }
|
||||
ct = answer4;
|
||||
if (isNaN(answer4)) {
|
||||
ct = 100
|
||||
}
|
||||
},
|
||||
tool: function(pixel) {
|
||||
pixel.temp = pixel.temp - ct,
|
||||
pixelTempCheck(pixel)
|
||||
},
|
||||
category: "tools",
|
||||
};
|
||||
|
|
@ -0,0 +1,609 @@
|
|||
/* Made by: Necrotic_Phantom
|
||||
With help from: voidapex11 */
|
||||
|
||||
// For change log: "+" = addition, "-" = removal and "~" = change. L, R, U, D corresponds to LEFT, RIGHT, UP and DOWN
|
||||
// "committed" means posted current version on github. It is a courtesy and important, especially if you're working on another person's mod at the same time as them, so you don't disrupt each other's work
|
||||
|
||||
/*
|
||||
===CHANGE LOG===
|
||||
Version: 1.0.0
|
||||
@Necrotic_Phantom & @voidapex11
|
||||
+ steel drill L, R, U & D
|
||||
+ steel drill missile L, R, U & D
|
||||
+ diamond drill L, R, U & D
|
||||
+ diamond drill missile L, R, U & D
|
||||
+ void drill L, R, U & D
|
||||
+ void drill missile L, R, U & D
|
||||
+ drills.js info (drills_info) element to 'mods' category
|
||||
~ changed all element colors from gray to individual colors
|
||||
~ fixed steel/diamond/void drill missile L, R, U & D drilling errors
|
||||
~ fixed steel/diamond/void drill R & steel/diamond/void drill missile R crashing upon border collision
|
||||
~ made steel/diamond/void drill missile L, R, U & D explode upon border contact
|
||||
~ committed
|
||||
*/
|
||||
|
||||
/* Future Plans (in approx order):
|
||||
~ find error/fix all types of drill_RIGHT crashing game a few seconds after hitting border
|
||||
+ reverse steel drill L, R, U & D
|
||||
+ reverse diamond drill L, R, U & D
|
||||
+ reverse void drill L, R, U & D
|
||||
+ random steel drill
|
||||
+ random steel drill missile
|
||||
+ random reverse steel drill
|
||||
+ random diamond drill
|
||||
+ random diamond drill missile
|
||||
+ random reverse diamond drill
|
||||
+ random void drill
|
||||
+ random void drill missile
|
||||
+ random reverse void drill
|
||||
+ programmable steel drill
|
||||
+ programmable steel drill missile
|
||||
+ programmable reverse steel drill
|
||||
+ programmable diamond drill
|
||||
+ programmable diamond drill missile
|
||||
+ programmable reverse diamond drill
|
||||
+ programmable void drill
|
||||
+ programmable void drill missile
|
||||
+ programmable reverse void drill
|
||||
+ seeking steel drill
|
||||
+ seeking steel drill missile
|
||||
+ seeking reverse steel drill
|
||||
+ seeking diamond drill
|
||||
+ seeking diamond drill missile
|
||||
+ seeking reverse diamond drill
|
||||
+ seeking void drill
|
||||
+ seeking void drill missile
|
||||
+ seeking reverse void drill
|
||||
+ ricochet drills??? */
|
||||
|
||||
drills_mod_desc_Colour = "#000000"
|
||||
steel_drill_Colour = "#71797e"
|
||||
steel_drill_missile_Colour = ["#71797e", "#ff0000"];
|
||||
diamond_drill_Colour = "#03fcec"
|
||||
diamond_drill_missile_Colour = ["#03fcec", "#ff0000"];
|
||||
void_drill_Colour = "#262626"
|
||||
void_drill_missile_Colour = ["#262626", "#ff0000"];
|
||||
|
||||
|
||||
|
||||
elements.drills_info = {
|
||||
color: drills_mod_desc_Colour,
|
||||
name: "drills.js_info",
|
||||
category: "Mods",
|
||||
behavior: behaviors.SELFDELETE,
|
||||
maxSize: 1,
|
||||
tool: function(pixel) {},
|
||||
onSelect: function(pixel) {
|
||||
let info1stMod = "The drills.js mod adds different kinds of drills to a new 'drills' category.\n\nMod made by: Necrotic_Phantom. \n With help from: voidapex11."
|
||||
alert(info1stMod)
|
||||
return
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
steel_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 0.8) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.steel_drill_LEFT = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_RIGHT = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_UP = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.steel_drill_DOWN = {
|
||||
color: steel_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
steel_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "steel", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "molten_steel", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
steel_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 0.8) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_LEFT = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_RIGHT = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_UP = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.steel_drill_missile_DOWN = {
|
||||
color: steel_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
steel_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.8,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
|
||||
|
||||
diamond_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 0.99) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.diamond_drill_LEFT = {
|
||||
color: diamond_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.diamond_drill_RIGHT = {
|
||||
color: diamond_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.diamond_drill_UP = {
|
||||
color: diamond_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.diamond_drill_DOWN = {
|
||||
color: diamond_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
diamond_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "diamond", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "carbon_dioxide", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
diamond_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 0.99) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_LEFT = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_RIGHT = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_UP = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.diamond_drill_missile_DOWN = {
|
||||
color: diamond_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
diamond_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 0.99,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
|
||||
|
||||
void_drill_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
if (elements[pxl.element].hardness <= 1) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.void_drill_LEFT = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_RIGHT = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_UP = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
elements.void_drill_DOWN = {
|
||||
color: void_drill_Colour,
|
||||
tick: function(pixel) {
|
||||
void_drill_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
breakInto: ["metal_scrap", "void", "iron", "tin"],
|
||||
tempHigh: 10000,
|
||||
stateHigh: ["molten_aluminum", "void", "molten_iron", "molten_tin"],
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
}
|
||||
|
||||
|
||||
|
||||
void_drill_missile_function = function(pixel, dif_x, dif_y) {
|
||||
dif_x = dif_x-pixel.x
|
||||
dif_y = dif_y-pixel.y
|
||||
if (pixel.die <= 0) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
return true
|
||||
};
|
||||
if (!outOfBounds(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pxl = pixelMap[pixel.x+dif_x][pixel.y+dif_y]
|
||||
if (!isEmpty(pixel.x+dif_x,pixel.y+dif_y)) {
|
||||
pixel.primed = true
|
||||
if (elements[pxl.element].hardness <= 1) {
|
||||
delete pixelMap[pixel.x+dif_x][pixel.y+dif_y];
|
||||
}
|
||||
}
|
||||
else if (pixel.primed) {
|
||||
pixel.die--
|
||||
return true
|
||||
};
|
||||
tryMove(pixel,pixel.x+dif_x,pixel.y+dif_y);
|
||||
}
|
||||
else if (outOfBounds(pixel.x+dif_x, pixel.y+dif_y)) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
explodeAt(pixel.x, pixel.y, 15);
|
||||
};
|
||||
doDefaults(pixel);
|
||||
}
|
||||
|
||||
elements.void_drill_missile_LEFT = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x-1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_RIGHT = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x+1,pixel.y);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_UP = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x,pixel.y-1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
||||
elements.void_drill_missile_DOWN = {
|
||||
color: void_drill_missile_Colour,
|
||||
properties: {
|
||||
die: 5,
|
||||
primed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
void_drill_missile_function(pixel,pixel.x,pixel.y+1);
|
||||
},
|
||||
category: "Drills",
|
||||
density: 10000,
|
||||
hardness: 1,
|
||||
conduct: 1,
|
||||
state: "solid",
|
||||
maxSize: 1,
|
||||
}
|
||||
|
|
@ -4,10 +4,10 @@ elements.potato_chip = {
|
|||
density: 1350,
|
||||
color: ["#F7DD93", "#D8A44B"],
|
||||
category: "food",
|
||||
desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104.",
|
||||
desc: "Potato chip. Turns potato next to it into potato chip if temp is >= 104 - 180.",
|
||||
|
||||
tick: function(pixel) {
|
||||
if(pixelTicks - pixel.start >= 15) {
|
||||
if(pixelTicks - pixel.start >= 10) {
|
||||
if (!isEmpty(pixel.x, pixel.y - 1, true)) {
|
||||
if (pixel.temp >= 104 && pixelMap[pixel.x][pixel.y - 1].element === "potato") {
|
||||
changePixel(pixelMap[pixel.x][pixel.y - 1], "potato_chip");
|
||||
|
|
|
|||
192
mods/scp.js
192
mods/scp.js
|
|
@ -1,35 +1,36 @@
|
|||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-mask_head")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-mask_body")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-infected_skin")?.remove()
|
||||
})
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-infected_meat")?.remove()
|
||||
})
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-frozen_infected_meat")?.remove()
|
||||
})
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-zombie")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-z_head")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-z_body")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-REDACTED")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-hyper_tickle_monster")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-calm_682")?.remove()
|
||||
})
|
||||
|
||||
window.addEventListener("load", () => {
|
||||
document.getElementById("elementButton-mad_682")?.remove()
|
||||
})
|
||||
|
|
@ -57,17 +58,22 @@ elements.SCP_008 = {
|
|||
reactions: {
|
||||
"head": { elem1:null, elem2:"z_head" , chance:0.5 },
|
||||
"body": { elem1:null, elem2:"z_body" , chance:0.5 },
|
||||
"skin": { elem1:null, elem2: ["infected_skin","infected_skin","infected_meat"] , chance:0.3 },
|
||||
"blood": { elem1:null, elem2:"infection" , chance:0.6 },
|
||||
"meat": { elem1:null, elem2:"infected_meat" , chance:0.4 },
|
||||
"rotten_meat": { elem1:null, elem2:"infected_meat" , chance:0.5 },
|
||||
"frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.3 },
|
||||
"frog": { elem2:"SCP_008" , chance:0.5 },
|
||||
"ant": { elem2:"SCP_008" , chance:0.5 },
|
||||
"bee": { elem2:"SCP_008" , chance:0.5 },
|
||||
"fish": { elem2:"SCP_008" , chance:0.5 },
|
||||
"firefly": { elem2:"SCP_008" , chance:0.5 },
|
||||
"chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
},
|
||||
tempHigh: 1000,
|
||||
stateHigh: [null,null,null,null,"anomalous_essence"],
|
||||
tempHigh: 750,
|
||||
stateHigh: [null,null,null,null,null,null,null,null,"anomalous_essence"],
|
||||
tempLow: -100,
|
||||
stateLow: "frozen_008",
|
||||
category: "scp",
|
||||
|
|
@ -80,14 +86,19 @@ elements.frozen_008 = {
|
|||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|DL%0.001|X",
|
||||
"M2%1.0|M1%1.0|M2%1.0",
|
||||
"XX|M1%1.0|XX",
|
||||
],
|
||||
reactions: {
|
||||
"head": { elem1:null, elem2:"z_head" , chance:0.4 },
|
||||
"body": { elem1:null, elem2:"z_body" , chance:0.4 },
|
||||
"chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"liquid_chlorine": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"light": { elem1: [null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"skin": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
|
||||
"blood": { elem1:null, elem2:"infection" , chance:0.6 },
|
||||
"meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
|
||||
"rotten_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.5 },
|
||||
"frozen_meat": { elem1:null, elem2:"frozen_infected_meat" , chance:0.4 },
|
||||
"chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"liquid_chlorine": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
"light": { elem1: [null,null,null,null,null,null,null,null,"anomalous_essence"] , chance:0.01 },
|
||||
},
|
||||
temp: -50,
|
||||
tempHigh: 0,
|
||||
|
|
@ -96,6 +107,131 @@ elements.frozen_008 = {
|
|||
state: "solid",
|
||||
density: 95,
|
||||
},
|
||||
|
||||
elements.infected_skin = {
|
||||
color: ["#11111f","#75816B","#4D6B53"],
|
||||
singleColor: true,
|
||||
behavior: [
|
||||
"XX|CR:stench,stench,stench,SCP_008,fly%0.05 AND CH:meat>infected_meat%1|XX",
|
||||
"CH:meat>infected_meat%1|XX|CH:meat>infected_meat%1",
|
||||
"M2%1.0|M1%1.0 AND CH:meat>infected_meat%1|M2%1.0",
|
||||
],
|
||||
tick: function(pixel) {
|
||||
if (pixel.temp > 40 && Math.random() < 0.003) {
|
||||
for (var i = 0; i < adjacentCoords.length; i++) {
|
||||
var coords = adjacentCoords[i];
|
||||
var x = pixel.x + coords[0];
|
||||
var y = pixel.y + coords[1];
|
||||
if (isEmpty(x,y)) {
|
||||
pixel.temp -= 20;
|
||||
createPixel("infection",x,y)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pixel.temp < 36 && Math.random() < 0.1) {
|
||||
pixel.temp += 1;
|
||||
}
|
||||
doDefaults(pixel);
|
||||
},
|
||||
reactions: {
|
||||
"cell": { chance:0.01, func:function(pixel1,pixel2){
|
||||
changePixel(pixel2,"infected_skin");
|
||||
pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g)))
|
||||
if (pixel1.origColor) { pixel2.origColor = pixel1.origColor }
|
||||
} },
|
||||
"skin": { chance:0.01, func:function(pixel1,pixel2){
|
||||
changePixel(pixel2,"infected_skin");
|
||||
pixel2.color = pixelColorPick(pixel2,RGBToHex(pixel1.color.match(/\d+/g)))
|
||||
if (pixel1.origColor) { pixel2.origColor = pixel1.origColor }
|
||||
} },
|
||||
"blood": { elem2:"infection" , chance:0.6 },
|
||||
"acid": { elem1:"infection" },
|
||||
"soap": { elem1:null, elem2:null, chance:0.005 },
|
||||
"light": { stain1:"#825043" },
|
||||
"poison": { stain1:"#cc564b" },
|
||||
"poison_gas": { stain1:"#cc564b" },
|
||||
"infection": { stain1:"#cc564b" },
|
||||
"pollen": { stain1:"#cc564b" },
|
||||
"dust": { stain1:"#cc564b" },
|
||||
"flea": { stain1:"#cc564b" },
|
||||
"mushroom_spore": { stain1:"#cc564b" },
|
||||
"mushroom_stalk": { stain1:"#cc564b" },
|
||||
"chlorine": { stain1:"#cc564b" },
|
||||
"quicklime": { stain1:"#cc564b" },
|
||||
},
|
||||
category:"solids",
|
||||
breakInto: [null,null,"SCP_008","infection","dust"],
|
||||
temp: 37,
|
||||
tempHigh: 200,
|
||||
stateHigh: ["cooked_meat","cooked_meat","cooked_meat","SCP_008"],
|
||||
tempLow: -18,
|
||||
stateLow: "frozen_008_meat",
|
||||
burn:5,
|
||||
burnTime:400,
|
||||
burnInto: ["cooked_meat","cooked_meat","SCP_008"],
|
||||
state: "solid",
|
||||
density: 1010,
|
||||
conduct: 0.04,
|
||||
movable: false,
|
||||
},
|
||||
|
||||
elements.infected_meat = {
|
||||
color: ["#b8b165","#b89765"],
|
||||
behavior: [
|
||||
"XX|CR:stench,stench,stench,SCP_008,fly%0.25 AND CH:rotten_meat,meat>infected_meat%1|XX",
|
||||
"SP%99 AND CH:rotten_meat,meat>infected_meat%1|XX|SP%99 AND CH:rotten_meat,meat>infected_meat%1",
|
||||
"XX|M1 AND CH:rotten_meat,meat>infected_meat%1|XX",
|
||||
],
|
||||
reactions: {
|
||||
"water": { elem2:"dirty_water" },
|
||||
"salt_water": { elem2:"dirty_water" },
|
||||
"sugar_water": { elem2:"dirty_water" },
|
||||
"dirty_water": { elem2:"broth", tempMin:70, color2:"#d7db69" },
|
||||
"seltzer": { elem2:"dirty_water" },
|
||||
"fly": { elem1: [null,null,"SCP_008"] , elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
|
||||
"blood": { elem2:"infection" , chance:0.6 },
|
||||
"skin": { elem2:"infected_skin" , chance:0.6 },
|
||||
},
|
||||
tempHigh: 300,
|
||||
stateHigh: ["SCP_008","ash","ammonia"],
|
||||
tempLow: -20,
|
||||
stateLow: "frozen_infected_meat",
|
||||
category:"scp",
|
||||
hidden: true,
|
||||
burn:12,
|
||||
burnTime:200,
|
||||
burnInto:["SCP_008","ash","ammonia"],
|
||||
state: "solid",
|
||||
density: 1005,
|
||||
conduct: 0.1,
|
||||
isFood: true
|
||||
},
|
||||
|
||||
elements.frozen_infected_meat = {
|
||||
color: "#242424",
|
||||
behavior: [
|
||||
"XX|CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX",
|
||||
"SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX|SP%99 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1",
|
||||
"XX|M1 AND CH:rotten_meat,frozen_meat>frozen_infected_meat%1|XX",
|
||||
],
|
||||
reactions: {
|
||||
"water": { elem2:"dirty_water" },
|
||||
"salt_water": { elem1:"infected_meat",elem2:"dirty_water" , chance:0.5 },
|
||||
"sugar_water": { elem2:"dirty_water" },
|
||||
"seltzer": { elem2:"dirty_water" },
|
||||
"fly": { elem2: ["dead_bug","dead_bug","SCP_008"] , chance:0.2},
|
||||
"blood": { elem2:"infection" , chance:0.6 },
|
||||
},
|
||||
temp: -20,
|
||||
tempHigh: 10,
|
||||
stateHigh: "infected_meat",
|
||||
category:"scp",
|
||||
hidden: true,
|
||||
state: "solid",
|
||||
density: 1005,
|
||||
conduct: 0.05,
|
||||
},
|
||||
|
||||
elements.possessive_mask = {
|
||||
color: ["#f7ead0","#faf9f6","#e9e6db"],
|
||||
|
|
@ -376,7 +512,7 @@ elements.black_acid = {
|
|||
tempLow: -58.88,
|
||||
burn: 30,
|
||||
burnTime: 10,
|
||||
burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","anomalous_essence"],
|
||||
burnInto: ["fire","fire","fire","fire","fire","fire","fire","fire","ash","ash","fire","fire","fire","fire","ash","ash","anomalous_essence"],
|
||||
fireColor: "#111111",
|
||||
state: "liquid",
|
||||
density: 1105,
|
||||
|
|
@ -394,7 +530,7 @@ elements.SCP_055 = {
|
|||
category: "scp",
|
||||
state: "solid",
|
||||
tempHigh: 55055055055,
|
||||
stateHigh: ["metal_scrap","smoke","smoke","anomalous_essence"],
|
||||
stateHigh: ["metal_scrap","metal_scrap","smoke","smoke","smoke","smoke","smoke","smoke","smoke",null,"anomalous_essence"],
|
||||
},
|
||||
|
||||
elements.REDACTED = {
|
||||
|
|
@ -408,6 +544,7 @@ elements.REDACTED = {
|
|||
],
|
||||
category: "scp",
|
||||
state: "solid",
|
||||
movable: false,
|
||||
},
|
||||
|
||||
elements.plague_doctor = {
|
||||
|
|
@ -428,7 +565,7 @@ elements.plague_doctor = {
|
|||
createPixel("doc_head", pixel.x, pixel.y-1);
|
||||
pixelMap[pixel.x][pixel.y-1].color = pixel.color;
|
||||
pixel.element = "doc_body";
|
||||
pixelMap[pixel.x][pixel.y].color = ["#11111f","#242424"];
|
||||
pixel.color = pixelColorPick(pixel)
|
||||
}
|
||||
else {
|
||||
deletePixel(pixel.x, pixel.y);
|
||||
|
|
@ -820,7 +957,7 @@ elements.shy_head = {
|
|||
hidden: true,
|
||||
color: ["#f7ead0","#faf9f6","#e9e6db"],
|
||||
category: "scp",
|
||||
breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"],
|
||||
breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"],
|
||||
properties: {
|
||||
dead: false
|
||||
},
|
||||
|
|
@ -854,7 +991,7 @@ elements.shy_head = {
|
|||
pixel.dead = pixelTicks;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// homeostasis
|
||||
if (pixel.temp > 37) { pixel.temp -= 1; }
|
||||
else if (pixel.temp < 37) { pixel.temp += 1; }
|
||||
|
|
@ -875,7 +1012,6 @@ elements.shy_head = {
|
|||
"z_body": { elem2: ["infection","infection","rotten_meat","bone",null] },
|
||||
"rat": { elem2: ["infection","rotten_meat",null]},
|
||||
"frog": { elem2: ["slime",null] },
|
||||
"cell": { elem2: ["dna","water",null] },
|
||||
"cancer": { elem2: ["dna","dirty_water",null], },
|
||||
"blood": { elem2: null, chance:0.2 },
|
||||
"bone": { elem2: null, chance:0.2 },
|
||||
|
|
@ -890,7 +1026,7 @@ elements.shy_body = {
|
|||
hidden: true,
|
||||
color: ["#f7ead0","#faf9f6","#e9e6db"],
|
||||
category: "scp",
|
||||
breakInto: ["bone","bone","blood","bone","bone","blood","anomalous_essence"],
|
||||
breakInto: ["bone","bone","blood","bone","bone","blood","bone","bone","blood","bone","bone","blood","anomalous_essence"],
|
||||
properties: {
|
||||
dead: false,
|
||||
dir: 1,
|
||||
|
|
@ -1004,7 +1140,7 @@ elements.SCP_682 = {
|
|||
color: ["#424242","#75816B","#4D6B53"],
|
||||
behavior: [
|
||||
"M2%0.5|M2%0.3|M2%0.5",
|
||||
"M1%10|XX|M1%10",
|
||||
"M2%10|XX|M2%10",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
category: "scp",
|
||||
|
|
@ -1067,7 +1203,7 @@ elements.mad_682 = {
|
|||
color: ["#424242","#75816B","#4D6B53"],
|
||||
behavior: [
|
||||
"M2%0.5|M2%0.3|M2%0.5",
|
||||
"M1%10 AND CH:concrete>dust AND DL:dust|CH:SCP_682%0.3|M1%10 AND CH:concrete>dust AND DL:dust",
|
||||
"M2%10|CH:SCP_682%0.3|M2%10",
|
||||
"XX|M1|XX",
|
||||
],
|
||||
category: "scp",
|
||||
|
|
@ -1093,8 +1229,8 @@ elements.mad_682 = {
|
|||
"lead": { elem2 : ["metal_scrap","metal_scrap","radiation"] , chance:0.3 },
|
||||
"glass": { elem2 : "glass_shard" },
|
||||
"wood": { elem2 : "sawdust" },
|
||||
"concrete": { elem2 : "dust" , chance:0.1 },
|
||||
"dust": { elem2 : null , chance:0.1 },
|
||||
"concrete": { elem2 : "dust" , chance:10 },
|
||||
"dust": { elem2 : null , chance:10 },
|
||||
},
|
||||
hidden: true,
|
||||
state: "solid",
|
||||
|
|
|
|||
Loading…
Reference in New Issue