diff --git a/lang/xem.json b/lang/xem.json new file mode 100644 index 00000000..59b9f0d1 --- /dev/null +++ b/lang/xem.json @@ -0,0 +1 @@ +{"\"#lang.name\"":"๐Ÿ˜‚๐Ÿ—ฃ","land":"๐ŸŒ","liquids":"๐Ÿซ—","life":"โ™ฅ๏ธ","solids":"๐Ÿงฑ","weapons":"โš”๏ธs","gases":"โ›ฝ๏ธ๐Ÿ‡ธ","food":"๐Ÿฒ","machines":"๐Ÿญ","special":"โœจ","heat":"โ™จ๏ธ","cool":"๐Ÿ†’๏ธ","mix":"๐Ÿฅฃ","lookup":"๐Ÿ”Ž","shock":"โžก๏ธโšก","paint":"๐ŸŽจ๐Ÿ–Œ","sand":"๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ","water":"๐Ÿ’ง","salt_water":"๐Ÿง‚๐Ÿ’ง","sugar_water":"๐Ÿฌ๐Ÿ’ง","seltzer":"โœจ๐Ÿ’ง","dirty_water":"๐Ÿ—‘๏ธ๐Ÿ’ง","pool_water":"๐ŸŽฑ๐Ÿ’ง","dirt":"๐ŸŸซโ›ฐ๏ธ","mud":"๐ŸŸซโ›ฐ๏ธโž•๏ธ๐Ÿ’ง","wet_sand":"๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธโž•๏ธ๐Ÿ’ง","rock":"๐Ÿชจ","rock_wall":"๐Ÿชจ๐Ÿงฑ","mudstone":"๐ŸŸซโ›ฐ๏ธโž•๏ธ๐Ÿ’ง ๐Ÿชจ","packed_sand":"๐Ÿงณ ๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ","plant":"๐ŸŒฑ","dead_plant":"๐Ÿ’€๐ŸŒฑ","frozen_plant":"โ„๏ธ๐ŸŒฑ","grass":"๐ŸŒฑ๐ŸŸฉโ›ฐ๏ธ","algae":"๐ŸŒŠ๐ŸŒฑ","concrete":"๐Ÿงฑ๐Ÿฉถ","wall":"๐Ÿงฑ","fire":"๐Ÿ”ฅ","bomb":"๐Ÿ’ฃ","steam":"โ™จ๏ธ๐Ÿ’จ","ice":"๐ŸงŠ","snow":"โ„๏ธโ„๏ธ","slush":"๐Ÿ’งโž–๐ŸงŠ","packed_snow":"โ„๏ธโ„๏ธโ„๏ธ","wood":"๐Ÿชต","smoke":"๐Ÿšฌ","magma":"๐ŸŒ‹๐ŸŸง๐Ÿ’ง","plasma":"๐ŸŸช๐Ÿ”ฅ๐Ÿ”ฅ","cold_fire":"๐Ÿฅถ๐Ÿ”ฅ","glass":"๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","molten_glass":"๐Ÿซ ๐Ÿ‘“","molten_rad_glass":"๐Ÿซ โ˜ข๏ธ๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","rad_glass":"โ˜ข๏ธ๐Ÿ‘“โž–๏ธ๐Ÿ‡ธ","meat":"๐Ÿ–","rotten_meat":"๐Ÿคฎ๐Ÿ–","cured_meat":"๐Ÿง‚๐Ÿ–","cooked_meat":"๐Ÿ”ฅ๐Ÿ–","frozen_meat":"โ„๏ธ๐Ÿ–","salt":"๐Ÿง‚","molten_salt":"๐Ÿ”ฅ๐Ÿง‚","wire":"๐Ÿ”‹โž–โž–๐Ÿ’ก","battery":"๐Ÿ”‹","cloner":"๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","heater":"โžก๏ธโ™จ๏ธ","cooler":"โžก๏ธ๐Ÿ†’","random":"๐Ÿ”„โ“๏ธ","image":"๐Ÿ–ผ๏ธ","unpaint":"โŒ๏ธ๐Ÿ–Œ๏ธ๐ŸŽจ","uncharge":"โŒโšก","unburn":"โŒ๐Ÿ”ฅ ๐Ÿงฏ","filler":"๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช๐ŸŸช","lattice":"๐ŸŸชโฌ›๐ŸŸชโฌ›๐ŸŸช","gravel":"๐Ÿค๐Ÿชจ","void":"โฌ›๏ธ","sun":"โ˜€๏ธ","dna":"๐Ÿงฌ","worm":"๐Ÿชฑ","frozen_worm":"โ„๏ธ๐Ÿชฑ","ant":"๐Ÿœ","spider":"๐Ÿ•ท๏ธ","web":"๐Ÿ•ธ๏ธ","fly":"๐Ÿชฐ","firefly":"๐Ÿ”ฅ๐Ÿชฐ","bee":"๐Ÿ","hive":"๐Ÿ ๐Ÿ","stink_bug":"๐Ÿ‘ƒ๐Ÿ˜–๐Ÿ›","dead_bug":"๐Ÿ’€๐Ÿœ","human":"๐Ÿ‘ค","head":"๐Ÿ‘จ","bird":"๐Ÿฆ","rat":"๐Ÿ€","frog":"๐Ÿธ","frozen_frog":"โ„๏ธ๐Ÿธ","tadpole":"๐Ÿ‘ถ๐Ÿธ","fish":"๐ŸŸ","frozen_fish":"โ„๏ธ๐ŸŸ","slug":"๐ŸŒโž–๏ธ๐Ÿš","snail":"๐ŸŒ","burner":"โžก๏ธ๐Ÿ”ฅ","superheater":"โžก๏ธโ™จ๏ธโ™จ๏ธ","freezer":"โžก๏ธ๐Ÿ†’๐Ÿ†’","pipe":"๐Ÿชˆ","pipe_wall":"๐Ÿชˆ๐Ÿงฑ","ewall":"โšก๏ธ๐Ÿงฑ","torch":"๐Ÿ”ฆ","spout":"๐Ÿšฐ","bone":"๐Ÿฆด","ball":"โšฝ๏ธ","balloon":"๐ŸŽˆ","antigas":"โŒ๏ธโ›ฝ๏ธ","vertical":"โ†•๏ธ","horizontal":"โ†”๏ธ","ash":"โšฑ๏ธ","molten_ash":"๐Ÿซ โšฑ๏ธ","light":"๐Ÿ”ฆ","liquid_light":"๐Ÿ’ง๐Ÿ”ฆ","charcoal":"โฌ›๐Ÿชจ","hail":"๐ŸŒง๏ธ๐ŸงŠ","anesthesia":"โ›ฝ๏ธ๐Ÿซโžก๏ธ๐Ÿ˜ด","carbon_dioxide":"๐Ÿฅคโ›ฝ๏ธ","bubble":"๐Ÿซง","oil":"๐Ÿ›ข","lamp_oil":"๐Ÿช”๐Ÿ›ข","propane":"3๏ธโƒฃ๐Ÿ‡จโ›ฝ๏ธ","methane":"๐Ÿ‘๐Ÿ’จโ›ฝ๏ธ","stained_glass":"๐ŸŒˆ๐Ÿ‘“","molten_stained_glass":"๐Ÿ”ฅ๐ŸŒˆ๐Ÿ‘“","art":"๐ŸŽจ","rainbow":"๐ŸŒˆ","static":"โฌ›โฌœ","border":"๐Ÿ›‘๐Ÿšง","brick":"๐Ÿงฑ๐Ÿค","ruins":"๐Ÿš","sapling":"๐ŸŒฑโžก๏ธ๐ŸŒณ","evergreen":"๐ŸŒฒ","cactus":"๐ŸŒต","paper":"๐Ÿ“ƒ","foam":"๐Ÿฅคโ˜๏ธ","soda":"๐Ÿฅค","gray_goo":"๐ŸŒšโš—๏ธ","malware":"๐Ÿฆ ๐Ÿ–ฅ๏ธ","ecloner":"โšก๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","slow_cloner":"๐ŸŸจโžก๏ธ๐ŸŒโžก๏ธ๐ŸŸจ๐ŸŸจ","floating_cloner":"โ˜๏ธ๐ŸŸจโžก๏ธ๐ŸŸจ๐ŸŸจ","virus":"๐Ÿฆ ","ice_nine":"๐ŸงŠ9๏ธโƒฃ","strange_matter":"๐Ÿฆ ๐ŸŸฉ","permafrost":"๐Ÿฅถ๐ŸŸซโ›ฐ๏ธ","melted_butter":"๐Ÿ”ฅ๐Ÿงˆ","melted_cheese":"๐Ÿ”ฅ๐Ÿง€","hyphae":"๐Ÿค๐Ÿ„๐ŸŸซโ›ฐ๏ธ","mycelium":"๐Ÿ„๐ŸŸซโ›ฐ๏ธ","mulch":" ๐ŸŒฑ๐ŸŸซโ›ฐ๏ธ๐Ÿ”โž•๏ธ","ant_wall":"๐Ÿœ๐Ÿงฑ","cloth":"๐Ÿ‘•","wax":"๐Ÿ•ฏ๏ธ","melted_wax":"๐Ÿซ ๐Ÿ•ฏ๏ธ","sponge":"๐Ÿงฝ","bamboo":"๐ŸŽ","gold":"๐Ÿฅ‡","silver":"๐Ÿฅˆ","tin":"๐Ÿฅซโž–๏ธ๐Ÿ…","bronze":"๐Ÿฅ‰","rose_gold":"๐ŸŒน๐Ÿฅ‡","purple_gold":"๐ŸŸช๐Ÿฅ‡","blue_gold":"๐ŸŸฆ๐Ÿฅ‡","electrum":"๐ŸŸฉ๐Ÿฅ‡","pyrite":"โŒ๏ธ๐Ÿฅ‡ ๐Ÿฅ‡๐Ÿ‘€๐ŸŸฐ๐Ÿฅ‡","juice":"๐Ÿงƒ","juice_ice":"๐Ÿงƒ๐ŸงŠ","milk":"๐Ÿฅ›","chocolate_milk":"๐Ÿซ๐Ÿฅ›","fruit_milk":"๐ŸŽ๐Ÿฅ›","pilk":"๐Ÿฅค๐Ÿฅ›","eggnog":"๐Ÿฅš๐Ÿฅ›","egg":"๐Ÿฅš","yolk":"๐Ÿฅš๐ŸŸจ","hard_yolk":"๐Ÿงฑ๐Ÿฅš๐ŸŸจ","nut_milk":"๐Ÿฅœ๐Ÿฅ›","homunculus":"๐Ÿฅšโž•๏ธ๐Ÿฆ ","butter":"๐Ÿงˆ","cheese":"๐Ÿง€","rotten_cheese":"๐Ÿคฎ๐Ÿง€","chocolate":"๐Ÿซ","grape":"๐Ÿ‡","vinegar":"๐Ÿท๐Ÿ•‘","herb":"๐ŸŒฟ","lettuce":"๐Ÿฅฌ","pickle":"๐Ÿฅ’","tomato":"๐Ÿ…","sauce":"๐Ÿ…๐Ÿ’ง","pumpkin":"๐ŸŽƒ","corn":"๐ŸŒฝ","popcorn":"๐Ÿฟ","potato":"๐Ÿฅ”","baked_potato":"๐Ÿ”ฅ๐Ÿฅ”","mashed_potato":"๐Ÿ”จ๐Ÿฅ”","yeast":"๐Ÿž ๐Ÿ‘๐Ÿฆ ","bread":"๐Ÿž","toast":"๐Ÿฅ‚๐Ÿž","gingerbread":"๐Ÿซš๐Ÿž","crumb":"๐Ÿค๐Ÿž","rice":"๐Ÿš","candy":"๐Ÿฌ","nut":"๐Ÿฅœ","nut_oil":"๐Ÿฅœ๐Ÿ›ข","nut_meat":"๐Ÿฅœ๐Ÿ–","nut_butter":"๐Ÿฅœ๐Ÿงˆ","jelly":"๐Ÿชผโž–๏ธ๐ŸŸ","ice_cream":"๐Ÿฆ","beans":"๐Ÿซ˜","dry_ice":"๐ŸงŠโŒ๏ธ๐Ÿ’ง","nitrogen_ice":"๐Ÿ‡ณ๐ŸงŠ","hair":"๐Ÿฆฑ","basalt":"๐ŸŒ‹๐Ÿ†’๏ธ๐Ÿชจ","tuff":"๐ŸŒ‹โ†”๏ธโฌ†๏ธ๐Ÿ’ฅ๐Ÿงณโšฑ๏ธ๐Ÿชจ","molten_tuff":"๐Ÿ”ฅ๐ŸŒ‹โ†”๏ธโฌ†๏ธ๐Ÿ’ฅ๐Ÿงณโšฑ๏ธ๐Ÿชจ","soap":"๐Ÿงผ","bleach":"๐Ÿ’ง๐Ÿ‘•โฌ›โžก๏ธ๐Ÿ‘•โฌœ","dye":"๐ŸŒˆ๐Ÿ’ง","ink":"โœ’๏ธ๐Ÿ’ง","blood":"๐Ÿฉธ","vaccine":"๐Ÿ’‰","poison":"โ˜ ๏ธ๐Ÿ’ง","poison_gas":"โ˜ ๏ธ๐Ÿ’งโ›ฝ","poison_ice":"โ˜ ๏ธ๐Ÿ’ง๐ŸงŠ","tea":"๐Ÿต","coffee":"โ˜•๏ธ","honey":"๐Ÿฏ","sap":"๐ŸŒณ๐Ÿซ—","caramel":"โ™จ๏ธ๐Ÿฌ๐ŸŸง","ketchup":"๐Ÿ…๐Ÿฌ๐Ÿ’ง","mayo":"๐Ÿฅš๐Ÿ’ง","fat":"๐Ÿซ„","melted_chocolate":"๐Ÿซ ๐Ÿซ","calcium":"๐Ÿฅ›๐Ÿฆด","molten_calcium":"๐Ÿซ ๐Ÿฅ›๐Ÿฆด","limestone":"๐ŸŸฉ๐Ÿ‹๐Ÿชจ","quicklime":"๐Ÿ†๐Ÿƒโ€โ™‚๏ธ๐ŸŸฉ๐Ÿ‹๐Ÿชจ","slaked_lime":"๐Ÿ’งโž•๏ธ๐Ÿ†๐Ÿƒโ€โ™‚๏ธ๐ŸŸฉ๐Ÿ‹๐Ÿชจ","smog":"๐Ÿญ๐ŸŒซ๏ธ","stench":"๐Ÿ‘ƒ๐Ÿ˜–","liquid_stench":"๐Ÿ’ง๐Ÿ‘ƒ๐Ÿ˜–","fragrance":"๐Ÿ‘ƒ๐Ÿ˜Š","perfume":"๐Ÿ’ง๐Ÿ‘ƒ๐Ÿ˜Š","cyanide":"๐ŸŽโ˜ ๏ธ๐Ÿ’ง","cyanide_gas":"๐ŸŽโ˜ ๏ธ๐Ÿ’งโ›ฝ","ozone":"๐Ÿ‡ด3๏ธโƒฃ","liquid_ozone":"๐Ÿ’ง๐Ÿ‡ด3๏ธโƒฃ","cloud":"โ˜๏ธ","rain_cloud":"๐ŸŒง๏ธ","snow_cloud":"๐ŸŒจ๏ธ","hail_cloud":"๐ŸงŠโ˜๏ธ","thunder_cloud":"โ›ˆ๏ธ","acid_cloud":"๐ŸŒง๏ธโš—๏ธ","pyrocumulus":"โšฑ๏ธโ˜๏ธ","fire_cloud":"๐Ÿ”ฅโ˜๏ธ","rad_cloud":"โ˜ข๏ธโ˜๏ธ","rad_steam":"โ˜ข๏ธ๐Ÿ’จ","color_smoke":"๐ŸŒˆ๐Ÿšฌ","spray_paint":"๐ŸŒˆ๐Ÿ’จ","led_r":"๐ŸŸฅ๐Ÿ’ก","led_g":"๐ŸŸฉ๐Ÿ’ก","led_b":"๐ŸŸฆ๐Ÿ’ก","light_bulb":"๐Ÿ’ก","snake":"๐Ÿ","loopy":"โžฟ๏ธ","midas_touch":"๐Ÿฅ‡๐Ÿ–๏ธ","radiation":"โ˜ข๏ธ","fallout":"โ˜ข๏ธ๐ŸŒง๏ธ","neutron":"๐Ÿˆš๏ธโญ•๏ธ","proton":"โž•๏ธโšก๏ธโญ•๏ธ","electric":"โšก๏ธ","uranium":"๐ŸŸฉโšก๏ธ","molten_uranium":"๐Ÿซ ๐ŸŸฉโšก๏ธ","diamond":"๐Ÿ’Ž","gold_coin":"๐Ÿช™","feather":"๐Ÿชถ","lightning":"๐ŸŒฉ","explosion":"๐Ÿ’ฅ","n_explosion":"๐Ÿ‡ณ๐Ÿ’ฅ","supernova":"โ˜€๏ธ๐Ÿ’ฅ","cook":"โžก๏ธ๐Ÿณ","incinerate":"โžก๏ธโ™จ๏ธโ™จ๏ธโ™จ๏ธ","room_temp":"๐Ÿ ๐ŸŒก๏ธ","c4":"๐Ÿ‡จ4๏ธโƒฃ","nuke":"โ˜ข๏ธ๐Ÿ’ฃ","h_bomb":"๐Ÿ‡ญ๐Ÿ’ฃ","dirty_bomb":"๐Ÿ—‘๏ธ๐Ÿ’ฃ","emp_bomb":"โšกโŒ๐Ÿ’ฃ","greek_fire":"๐Ÿ‡ฌ๐Ÿ‡ท๐Ÿ”ฅ","fireball":"๐Ÿ”ฅโšฝ","rocket":"๐Ÿš€","antibomb":"โŒ๐Ÿ’ฃ","cold_bomb":"โ„๏ธ๐Ÿ’ฃ","hot_bomb":"โ™จ๏ธ๐Ÿ’ฃ","party_popper":"๐ŸŽ‰","flashbang":"โšก๐Ÿ’ฅ","flash":"โšกโฉ","smoke_grenade":"๐Ÿšฌ๐Ÿ’ฃ","tornado":"๐ŸŒช๏ธ","earthquake":"๐Ÿซจ","tsunami":"๐ŸŒŠ","blaster":"๐Ÿ’ฅ๐Ÿ’ฅ","armageddon":"๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ","primordial_soup":"๐Ÿฒ๐Ÿงฌ","debug":"๐Ÿ‘จโ€๐Ÿ’ป","prop":"๐Ÿช„","salt_ice":"๐Ÿง‚๐ŸงŠ","sugar_ice":"๐Ÿฌ๐ŸงŠ","seltzer_ice":"โœจ๐Ÿ’ง๐ŸงŠ","dirty_ice":"๐Ÿ—‘๏ธ๐ŸงŠ","pool_ice":"๐ŸŽฑ๐ŸงŠ","blood_ice":"๐Ÿฉธ๐ŸงŠ","unknown":"โ“","soda_ice":"๐Ÿฅค๐ŸงŠ","tea_ice":"๐Ÿต๐ŸงŠ","cyanide_ice":"๐ŸŽโ˜ ๏ธ๐Ÿ’ง๐ŸงŠ","\"#lang.credit\"":"๐Ÿ‡ฑ๐Ÿ‡ฆ๐Ÿ†๐ŸŸซ๐ŸŸฉ9๏ธโƒฃ","\"gui.langSelectLabel\"":"๐Ÿณ๐Ÿ—ฃ","\"gui.titleTag\"":"๐ŸŸฆ๐ŸŸจ โž– ๐Ÿฅผ๐Ÿงช โž• โฌœ","\"gui.pageDesc\"":"๐Ÿ˜Œ๐Ÿฅผ๐Ÿงช5๏ธโƒฃ0๏ธโƒฃ0๏ธโƒฃโญ•๏ธ๐Ÿ“ฅ๐Ÿ‚๐Ÿฅชโž–๏ธ๐Ÿง™โ€โ™€๏ธ๐ŸŽฎ ๐Ÿฅต โš—๏ธ โš–๏ธ ๐Ÿ”ฅ ๐Ÿ’ฅ","\"gui.shiftButton\"":"โฌ†๏ธ","\"gui.pauseButton\"":"โธ๏ธ","\"gui.sizeDownButton\"":"โž–๏ธ","\"gui.sizeDownButton.title\"":"โž–๏ธ๐Ÿ–Œ๏ธโฌœ๏ธโ–ซ๏ธ","\"gui.sizeUpButton\"":"โž•๏ธ","\"gui.sizeUpButton.title\"":"โž•๏ธ๐Ÿ–Œ๏ธโ–ซ๏ธโฌœ๏ธ","\"gui.resetButton\"":"๐Ÿ—‘๏ธ","\"gui.replaceButton\"":"๐Ÿ”","\"gui.elemSelectButton\"":"๐Ÿ‡ช","\"gui.infoButton\"":"โ„น๏ธ","\"gui.savesButton\"":"๐Ÿ’พ","\"gui.feedbackButton\"":"๐Ÿ‘จโ€๐Ÿผ๐Ÿ”™","\"gui.wikiButton\"":"๐ŸŒ๐Ÿ“–","\"gui.install-button\"":"๐Ÿ“ฅโŒ๏ธ๐Ÿ“ถ","\"gui.stats.temp\"":"๐ŸŒก๏ธ","\"gui.stats.burning\"":"๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ","\"gui.savesMenuTitle\"":"๐Ÿ’พโž•๐Ÿ“ค","\"gui.saves.title\"":"๐Ÿ’พโž•๐Ÿ“ค","\"gui.saves.unnamed\"":"โŒ๐Ÿ“›","\"gui.saves.save\"":"๐Ÿ’พ","\"gui.saves.load\"":"๐Ÿ“ค","\"gui.saveFile\"":"๐Ÿ’พโžก๏ธ๐Ÿ“","\"gui.loadFile\"":"๐Ÿ“คโžก๏ธ๐Ÿ“","\"gui.saveName\"":"๐Ÿ’พ","\"gui.saveTemp\"":"๐ŸŒก๏ธ","\"gui.saveRaw\"":"๐Ÿ–โž–๏ธ๐Ÿ”ฅ ๐Ÿ“ถ","\"gui.saveDescLabel\"":"โ„น๏ธ","\"gui.saveDesc\"":null,"\"gui.saveConfirm\"":"๐Ÿ’พ","\"gui.setting-units-m\"":"๐Ÿ‡ฌ๐Ÿ‡ง๐Ÿ“","\"gui.setting-units-i\"":"๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ“","\"gui.settingLabel-unhide\"":"๐Ÿ™ˆ","\"gui.settingLabel-pixelsize\"":"๐Ÿ–ผ โ–ช๏ธโ—พ๏ธโ—ผ๏ธ","\"gui.setting-pixelsize-8\"":"โ–ซ๏ธ","\"gui.setting-pixelsize-6\"":"โ—ฝ๏ธ","\"gui.setting-pixelsize-6w\"":"โ†”๏ธโ†”๏ธโ†”๏ธ","\"gui.setting-pixelsize-4\"":"โฌœ๏ธ","\"gui.settingLabel-clouds\"":"โ˜๏ธโ˜๏ธ","\"gui.settingLabel-abszero\"":"๐ŸŒก0๏ธโƒฃ โฌ‡๏ธ๐Ÿšซ","portal_in":"๐ŸŸฆโญ•๏ธโฌ…๏ธ","portal_out":"๐ŸŸงโญ•๏ธโžก๏ธ","coral":"๐Ÿชธ"} \ No newline at end of file diff --git a/mod-list.html b/mod-list.html index 03eba315..9d8433b3 100644 --- a/mod-list.html +++ b/mod-list.html @@ -158,6 +158,7 @@ extra_element_info.jsAdds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanillaMelecie extrasaveslots.jsAdds extra saves slots !SAVE IMPORTANT SAVES AS FILES!Jayd find.jsAdds a find mode that highlights a chosen element as pulsating red and yellow (read commit description)Alice +human_friendly_design.jsMakes the drag and mix tools not kill humans.Nekonico insane_random_events.jsMassively buffs random eventsAlice jaydsfunctions.jsAdds extra toolsJayd moretools.jsAdds more temperature-modifying tools (ยฑ10/tick, ยฑ50/tick, and absolute zero tools)Sightnado @@ -237,6 +238,7 @@ fueled_generators.jsFuel powered generators. gameOfLife.jsConway's Game of Life on a screenggod heatshield.jsadds heatshields, makes plasma coolerTaterbob +human_friendly_design.jsMakes pipes and portals not kill humans, as well as making drag and mix not kill humans.Nekonico logicgates.jsAdds predictable electricity and logic gatesnousernamefound note_block.jsAdds musical Note BlocksAlice nousersthings.jsDestroyable machines, pipe variants, filters, and morenousernamefound @@ -353,7 +355,7 @@ minecraft.jsAdds several things from MinecraftStellarX20, nousernamefound minesweeper.jsA subpar implementation of MinesweeperAlice musicalfruit.jsHumans get gas from eating Beansmollthecoder -nekonicos_stuff.jsSome random stuff like graphite, oobleck, and red iceNekonico +nekonicos_stuff.jsRandom stuff like graphite, oobleck, and red ice, as well as many machines.Nekonico prideflags.jsAdds some pride flags to the gameAdora random_elems.jsCurated randomly generated elementsAlice random_liquids.jsRandomly generates liquids on game loadAlice diff --git a/mods/MarkusFoodMod.js b/mods/MarkusFoodMod.js new file mode 100644 index 00000000..b040f366 --- /dev/null +++ b/mods/MarkusFoodMod.js @@ -0,0 +1,334 @@ +elements.paprika = { + color: "#b22222", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + tempHigh: 200, + stateHigh: "ash", + density: 0.4, + isFood: true, +}; + +elements.spicy_sauce = { + color: "#a52a2a", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + density: 1.0, + tempHigh: 150, + stateHigh: "smoke", + isFood: true, +}; + +elements.black_pepper = { + color: "#2f1b0c", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + density: 0.7, + tempHigh: 200, + stateHigh: "ash", + isFood: true, +}; + +elements.chicken_meat = { + color: "#e8a07c", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 75, + stateHigh: "cooked_chicken", + tempLow: -5, + stateLow: "frozen_chicken", + isFood: true, +}; + +elements.cooked_chicken = { + color: "#c18251", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 200, + stateHigh: "ash", + isFood: true, +}; + +elements.frozen_chicken = { + color: "#d1e1ed", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 0, + stateHigh: "chicken_meat", + isFood: true, +}; + +elements.pork_meat = { + color: "#e89a8b", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 75, + stateHigh: "cooked_pork", + tempLow: -5, + stateLow: "frozen_pork", + isFood: true, +}; + +elements.cooked_pork = { + color: "#af7f5d", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 200, + stateHigh: "ash", + isFood: true, +}; + +elements.frozen_pork = { + color: "#c0d4e1", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 0, + stateHigh: "pork_meat", + isFood: true, +}; + +elements.breadcrumbs = { + color: "#e6c27a", + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + density: 0.4, + tempHigh: 250, + stateHigh: "ash", + isFood: true, +}; + +elements.fried_chicken = { + color: ["#c0894f", "#a86a3a", "#d19b52"], + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 350, + stateHigh: "ash", + isFood: true, +}; + +elements.breaded_chicken = { + color: "#deb887", + category: "Markus Foods", + behavior: behaviors.STURDYPOWDER, + state: "solid", + tempHigh: 180, + stateHigh: "fried_chicken", + isFood: true, +}; + +elements.chicken_meat.reactions = { + breadcrumbs: { elem1: "breaded_chicken" } +}; + +const newFoods = { + cinnamon: "#8B5A2B", + garlic: "#FFF5E1", + onion: "#D4A76A", + tomato: "#FF6347", + lettuce: "#32CD32", + potato: "#D2B48C", + cooked_potato: "#E3C16F", + chili_powder: "#FF4500", + carrot: "#FFA500", + cucumber: "#4CAF50", + salt: "#FFFFFF", + sugar: "#FFF5EE", + honey: "#FFD700", + cheese: "#FFD700", + butter: "#FFDD44", + egg: "#FFF5C3", + cooked_egg: "#F4C542", + banana: "#FFE135", + apple: "#FF0000", + blueberry: "#4B0082", + strawberry: "#FF4D4D", + watermelon: "#FF6666", + grapes: "#6A0DAD", + avocado: "#568203", + basil: "#228B22", + oregano: "#6B8E23", + ginger: "#D2691E", + turmeric: "#E49B0F", + nutmeg: "#8B4513", + clove: "#5C4033", + cabbage: "#4CBB17", + cauliflower: "#FFFAF0", + mushroom: "#8B4513", + spinach: "#2E8B57", + radish: "#F5A9B8", + broccoli: "#228B22", + green_peas: "#7CFC00", + bell_pepper: "#32CD32", + sweet_potato: "#FF7F50", + coconut: "#FFF8DC", + lemon: "#FFFACD", + lime: "#98FB98", + kiwi: "#32CD32", + pear: "#9ACD32", + peach: "#FFDAB9", + plum: "#8E4585", + pomegranate: "#8B0000", + fig: "#8B4513", + date: "#A52A2A", + raisin: "#6B4226", + apricot: "#FBCEB1", + coconut_milk: "#FFF0F5", + yogurt: "#F5FFFA", + cream: "#FFF8DC", + peanut_butter: "#C8A2A8", + sesame_seeds: "#FFF5EE", + tahini: "#F4A460", + almond: "#D2691E", + walnut: "#8B4513", + pistachio: "#4B8A3D", + cashew: "#D2B48C", + hazelnut: "#8B5A2B", + macadamia: "#E1C699", + pine_nuts: "#FFDDC1", + sunflower_seeds: "#FFF8DC", + chia_seeds: "#D2691E", + flaxseeds: "#8B4513", +}; + +for (const [name, color] of Object.entries(newFoods)) { + elements[name] = { + color, + category: "Markus Foods", + behavior: behaviors.POWDER, + state: "solid", + isFood: true, + }; +} + +const newLiquids = { + water: "#00BFFF", + milk: "#FFFFFF", + orange_juice: "#FFA500", + apple_juice: "#FF4500", + grape_juice: "#6A0DAD", + lemon_juice: "#FFFACD", + coconut_water: "#BFD8B8", + tomato_juice: "#FF6347", + coffee: "#6F4F1F", + tea: "#D3D3D3", + cola: "#6B3F2F", + wine: "#800000", + beer: "#F4A300", + whiskey: "#B86B38", + rum: "#C39A6E", + vodka: "#F0F8FF", + fruit_punch: "#FF69B4", + smoothie: "#FFB6C1", + soy_milk: "#F5F5DC", + coconut_milk: "#FFF0F5", +}; + +for (const [name, color] of Object.entries(newLiquids)) { + elements[name] = { + color, + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, + }; +} + +elements.carbonated_water = { + color: "#B0E0E6", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, + density: 1.0, +}; + +elements.fanta_syrup = { + color: "#FF7F00", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.cola_syrup = { + color: "#301a10", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.sprite_syrup = { + color: "#A8F0A5", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + tempHigh: 100, + stateHigh: "steam", + isFood: true, +}; + +elements.soda = { + color: "#FFD700", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.fanta = { + color: "#FF7F00", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.cola = { + color: "#261710", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.sprite = { + color: "#A8F0A5", + category: "Markus Foods", + behavior: behaviors.LIQUID, + state: "liquid", + isFood: true, +}; + +elements.soda.reactions = { + fanta_syrup: { elem1: "fanta" }, + cola_syrup: { elem1: "cola" }, + sprite_syrup: { elem1: "sprite" }, +}; + +// Adding the recipes for sodas +elements.fanta_syrup.reactions = { + carbonated_water: { elem1: "fanta" }, +}; + +elements.cola_syrup.reactions = { + carbonated_water: { elem1: "cola" }, +}; + +elements.sprite_syrup.reactions = { + carbonated_water: { elem1: "sprite" }, +}; diff --git a/mods/clouds.js b/mods/clouds.js index 7a0df66a..eb5f466b 100644 --- a/mods/clouds.js +++ b/mods/clouds.js @@ -10,17 +10,14 @@ clouds_settingsTab.registerSettings("Real time", cloud_count_setting); settingsManager.registerTab(clouds_settingsTab); -// Biased random -function randomGaussian(A, B, biasFactor=2) { - let u = Math.random(); - let v = Math.random(); - let num = Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v); +function biasedRandom(A, B, samples) { + var sum = 0; + for (var i = 0;i < samples;i++) { + sum += Math.random(); + } + var average = sum / samples; - let mean = (A + B) / 2; - let stdDev = (B - A) / biasFactor; - let result = mean + num * stdDev; - - return Math.min(Math.max(result, A), B); + return A + average * (B - A); } function randomBetween(A, B) { @@ -32,7 +29,7 @@ function initClouds(amount) { var w = randomBetween(6, 17); var h = randomBetween(4, 10); var x = randomBetween(0, width - w); - var y = randomGaussian(0, height * 0.75, 4); + var y = biasedRandom(0, height * 0.75, 4); // Higher clouds move faster var speedBoost = 1 - (y / (height * 0.75)); diff --git a/mods/drill.js b/mods/drill.js index 56a0fe5e..5a9bcab8 100644 --- a/mods/drill.js +++ b/mods/drill.js @@ -1,12 +1,11 @@ elements.iron_drill = { - color: ["#474747","#2b2b2b","#808080"], + color: ["#474747","#2b2b2b","#636363"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%10 AND MX:true|MX:true", + "DL%5 AND MX|CR:drill_base|DL%5 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%10 AND MX|MX", ], category: "machines", - breakInto: "metal_scrap", state: "solid", tempHigh: 1538, stateHigh: "molten_iron", @@ -15,11 +14,11 @@ elements.iron_drill = { }; elements.drill_base = { - color: "#595959", + color: "#808080", behavior: [ "XX|CR:drill_support AND CH:drill_support|XX", "XX|XX|XX", - "XX|M1|XX", + "XX|XX|XX", ], category: "machines", breakInto: "metal_scrap", @@ -32,9 +31,9 @@ elements.drill_base = { }; elements.drill_support = { - color: "#242424", + color: "#323232", behavior: [ - "XX|CH:drill_support|XX", + "XX|CR:drill_top|XX", "XX|XX|XX", "XX|XX|XX", ], @@ -48,12 +47,130 @@ elements.drill_support = { hidden: true, }; +elements.drill_top = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side1", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; +elements.drill_side1 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side2", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side2 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side3", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side3 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side4", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side4 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|CR:drill_side5%35 AND CR:drill_side4%65", + "XX|XX|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_side5 = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|CR:drill_support_down|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + +elements.drill_support_down = { + color: "#323232", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "XX|CR:drill_support_down|XX", +], + category: "machines", + breakInto: "metal_scrap", + state: "solid", + tempHigh: 1538, + stateHigh: "molten_iron", + density: 7860, + noMix: true, + hidden: true, +}; + elements.gold_drill = { color: ["#f7c736","#ffe596","#d1a41d"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%25 AND MX:true|MX:true", + "DL%7 AND MX|CR:drill_base|DL%7 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%25 AND MX|MX", ], category: "machines", breakInto: "gold_coin", @@ -68,12 +185,11 @@ elements.gold_drill = { elements.brass_drill = { color: ["#ad7f47","#874a00"], behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%8 AND MX:true|MX:true", + "DL%6 AND MX|CR:drill_base|DL%6 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%15 AND MX|MX", ], category: "machines", - breakInto: "metal_scrap", state: "solid", tempHigh: 927, stateHigh: "molten_brass", @@ -85,9 +201,9 @@ elements.brass_drill = { elements.egg_drill = { color: "#ffe69c", behavior: [ - "DL AND MX|CR:drill_base|DL AND MX", - "MX:true|XX|MX:true", - "MX:true|M1 AND SM%1 AND MX:true|MX:true", + "DL%1 AND MX|CR:drill_base|DL%1 AND MX", + "MX|LB:drill_base|MX", + "MX|M1 AND SM%1 AND MX|MX", ], category: "machines", breakInto: "yolk", @@ -99,11 +215,28 @@ elements.egg_drill = { darkText: true, }; +elements.glass_drill = { + color: "#5e807d", + behavior: [ + "DL%10 AND MX|CR:drill_base|DL%10 AND MX", + "MX|LB:drill_base AND SM%1|MX", + "MX|M1 AND SM%40 AND MX|MX", +], + category: "machines", + breakInto: "glass_shard", + state: "solid", + tempHigh: 1500, + stateHigh: "molten_glass", + density: 2500, + noMix: true, + darkText: false, +}; + elements.void_drill = { color: "#000000", behavior: [ "DL|CR:drill_base|DL", - "DL|XX|DL", + "DL|LB:drill_base|DL", "DL|M1 AND DL|DL", ], category: "machines", @@ -111,4 +244,4 @@ elements.void_drill = { density: 999999999999999, noMix: true, darkText: false, -}; \ No newline at end of file +}; diff --git a/mods/nekonicos_stuff.js b/mods/nekonicos_stuff.js index d2473836..70169cd6 100644 --- a/mods/nekonicos_stuff.js +++ b/mods/nekonicos_stuff.js @@ -5,38 +5,6 @@ behaviors.SOLIDIFY = function(pixel) { var colorOne = "#ffffff" var colorTwo = "#000000" -viewInfo[8] = { // Neon View - name: "neon", - pixel: function(pixel,ctx) { - if (elements[pixel.element].isColor === true) { - var color = pixel.gradient; - if (color < 0) {color = 0} - if (color > 60) {color = 60} - // logarithmic scale, with coldest being 225 (-50 degrees) and hottest being 0 (6000 degrees) - var hue = Math.round(225 - (Math.log(color)/Math.log(60))*225); - if (hue < 0) {hue = 0} - if (hue > 225) {hue = 225} - drawSquare(ctx,"hsl("+hue+",50%,50%)",pixel.x,pixel.y) - } - } -} - -elements.red = { - color: "#AD1300", - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|XX|XX", - ], - tool: function(pixel) { - if (elements[pixel.element].isColor == true) { - pixel.gradient += 1 - } - }, - canPlace: false, - category: "tools", -} - elements.colorOne = { tick: function(pixel) { if (pixel.color != colorOne) { @@ -190,9 +158,6 @@ elements.desand = { changePixel(pixel,"water") } } - else if ([pixel.element].startsWith("sand_")) { - deletePixel(pixel.x,pixel.y) - } }, category: "tools", } @@ -284,6 +249,16 @@ elements.red_ice = { "XX|M1|XX", ], reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice", chance:0.25}, "steam":{elem2:"red_ice", chance:0.15}, "blood":{elem2:"red_ice", chance:0.25}, @@ -313,6 +288,7 @@ elements.red_ice = { "frog":{elem2:"red_ice_meat", chance:0.15}, "tadpole":{elem2:"red_ice_meat", chance:0.15}, }, + breakInto: "red_snow", tempLow: 0, stateLow: "red_water", category: "solids", @@ -320,14 +296,132 @@ elements.red_ice = { density: 917, } +elements.red_snow = { + color: "#D64765", + behavior: behaviors.POWDER, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.25}, + "steam":{elem2:"red_ice", chance:0.15}, + "blood":{elem2:"red_ice", chance:0.25}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.25}, + "salt_water":{elem2:"red_ice", chance:0.25}, + "sugar_water":{elem2:"red_ice", chance:0.25}, + "dirty_water":{elem2:"red_ice", chance:0.25}, + "pool_water":{elem2:"red_ice", chance:0.25}, + "slush":{elem2:"red_ice", chance:0.25}, + "seltzer":{elem2:"red_ice", chance:0.25}, + "juice":{elem2:"red_ice", chance:0.25}, + "soda":{elem2:"red_ice", chance:0.25}, + "milk":{elem2:"red_ice", chance:0.25}, + "slime":{elem2:"red_ice", chance:0.25}, + "tea":{elem2:"red_ice", chance:0.25}, + "coffee":{elem2:"red_ice", chance:0.25}, + "neutral_acid":{elem2:"red_ice", chance:0.25}, + "infection":{elem2:"red_ice", chance:0.25}, + "meat":{elem2:"red_ice_meat", chance:0.15}, + "skin":{elem2:"red_ice_meat", chance:0.075}, + "body":{elem2:"red_ice_meat", chance:0.04}, + "head":{elem2:"red_ice_meat", chance:0.05}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.15}, + "fish":{elem2:"red_ice_meat", chance:0.15}, + "bird":{elem2:"red_ice_meat", chance:0.15}, + "frog":{elem2:"red_ice_meat", chance:0.15}, + "tadpole":{elem2:"red_ice_meat", chance:0.15}, + }, + temp: 5, + tempLow: -18, + tempHigh: 100, + stateHigh: "packed_red_snow", + stateLow: "red_water", + category: "land", + state: "solid", + density: 100 +} + +elements.packed_red_snow = { + color: "#CC3F5F", + behavior: behaviors.SUPPORTPOWDER, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.25}, + "steam":{elem2:"red_ice", chance:0.15}, + "blood":{elem2:"red_ice", chance:0.25}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.25}, + "salt_water":{elem2:"red_ice", chance:0.25}, + "sugar_water":{elem2:"red_ice", chance:0.25}, + "dirty_water":{elem2:"red_ice", chance:0.25}, + "pool_water":{elem2:"red_ice", chance:0.25}, + "slush":{elem2:"red_ice", chance:0.25}, + "seltzer":{elem2:"red_ice", chance:0.25}, + "juice":{elem2:"red_ice", chance:0.25}, + "soda":{elem2:"red_ice", chance:0.25}, + "milk":{elem2:"red_ice", chance:0.25}, + "slime":{elem2:"red_ice", chance:0.25}, + "tea":{elem2:"red_ice", chance:0.25}, + "coffee":{elem2:"red_ice", chance:0.25}, + "neutral_acid":{elem2:"red_ice", chance:0.25}, + "infection":{elem2:"red_ice", chance:0.25}, + "meat":{elem2:"red_ice_meat", chance:0.15}, + "skin":{elem2:"red_ice_meat", chance:0.075}, + "body":{elem2:"red_ice_meat", chance:0.04}, + "head":{elem2:"red_ice_meat", chance:0.05}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.15}, + "fish":{elem2:"red_ice_meat", chance:0.15}, + "bird":{elem2:"red_ice_meat", chance:0.15}, + "frog":{elem2:"red_ice_meat", chance:0.15}, + "tadpole":{elem2:"red_ice_meat", chance:0.15}, + }, + temp: 5, + tempLow: -20, + tempHigh: 200, + stateHigh: "red_ice", + stateLow: "red_water", + breakInto: "red_snow", + category: "land", + state: "solid", + density: 400, + hidden: true +} + elements.red_ice_meat = { color: "#AC3536", behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|M1|XX", + "XX|CH:frozen_meat,meat>red_ice_meat%1|XX", + "CH:frozen_meat,meat>red_ice_meat%1|XX|CH:frozen_meat,meat>red_ice_meat%1", + "XX|M1 AND CH:frozen_meat,meat>red_ice_meat%1|XX", ], reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice", chance:0.025}, "steam":{elem2:"red_ice", chance:0.015}, "blood":{elem2:"red_ice", chance:0.025}, @@ -357,8 +451,8 @@ elements.red_ice_meat = { "frog":{elem2:"red_ice_meat", chance:0.015}, "tadpole":{elem2:"red_ice_meat", chance:0.015}, }, - tempHigh: 0, - stateHigh: "meat", + tempLow: -100, + stateLow: "meat", category:"food", hidden:true, state: "solid", @@ -366,10 +460,131 @@ elements.red_ice_meat = { isFood: true } +elements.red_ice_plant = { + color: "#735958", + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.025}, + "steam":{elem2:"red_ice", chance:0.015}, + "blood":{elem2:"red_ice", chance:0.025}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.025}, + "salt_water":{elem2:"red_ice", chance:0.025}, + "sugar_water":{elem2:"red_ice", chance:0.025}, + "dirty_water":{elem2:"red_ice", chance:0.025}, + "pool_water":{elem2:"red_ice", chance:0.025}, + "slush":{elem2:"red_ice", chance:0.025}, + "seltzer":{elem2:"red_ice", chance:0.025}, + "juice":{elem2:"red_ice", chance:0.025}, + "soda":{elem2:"red_ice", chance:0.025}, + "milk":{elem2:"red_ice", chance:0.025}, + "slime":{elem2:"red_ice", chance:0.025}, + "tea":{elem2:"red_ice", chance:0.025}, + "coffee":{elem2:"red_ice", chance:0.025}, + "neutral_acid":{elem2:"red_ice", chance:0.025}, + "infection":{elem2:"red_ice", chance:0.025}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + behavior: behaviors.WALL, + category:"life", + tempHigh: 300, + stateHigh: "fire", + burn:85, + burnTime:45, + temp: 2.66, + tempLow: -7, + stateLow: "red_plant", + state: "solid", + density: 1050, + hidden: true +} + +elements.red_plant = { + color: ["#AA3527","#AA3227","#AA2C27","#A11D1D"], + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, + "water":{elem2:"red_ice", chance:0.025}, + "steam":{elem2:"red_ice", chance:0.015}, + "blood":{elem2:"red_ice", chance:0.025}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice", chance:0.025}, + "salt_water":{elem2:"red_ice", chance:0.025}, + "sugar_water":{elem2:"red_ice", chance:0.025}, + "dirty_water":{elem2:"red_ice", chance:0.025}, + "pool_water":{elem2:"red_ice", chance:0.025}, + "slush":{elem2:"red_ice", chance:0.025}, + "seltzer":{elem2:"red_ice", chance:0.025}, + "juice":{elem2:"red_ice", chance:0.025}, + "soda":{elem2:"red_ice", chance:0.025}, + "milk":{elem2:"red_ice", chance:0.025}, + "slime":{elem2:"red_ice", chance:0.025}, + "tea":{elem2:"red_ice", chance:0.025}, + "coffee":{elem2:"red_ice", chance:0.025}, + "neutral_acid":{elem2:"red_ice", chance:0.025}, + "infection":{elem2:"red_ice", chance:0.025}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "M2|M1|M2", + ], + category:"life", + tempHigh: 2, + stateHigh: "red_ice_plant", + state: "solid", + density: 1050, + hidden: true +} + elements.red_water = { color: "#880808", behavior: behaviors.LIQUID, reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice"}, "blood":{elem2:"red_ice"}, "blood_ice":{elem2:"red_ice", chance:0.25}, @@ -398,20 +613,37 @@ elements.red_water = { "frog":{elem2:"red_ice_meat", chance:0.015}, "tadpole":{elem2:"red_ice_meat", chance:0.015}, }, - temp: -20, - tempHigh: 0, - stateHigh: "red_ice", tempLow: -100, stateLow: "red_steam", + tempHigh: 0, + stateHigh: "red_ice", category: "liquids", state: "liquid", density: 997, + conduct: 0.02, + temp: -20, + stain: -0.5, + extinguish: true } elements.red_steam = { color: "#F88379", behavior: behaviors.GAS, reactions: { + "red_steam": { elem1: "red_cloud", elem2: "red_cloud", chance:0.05, "y":[0,15], "setting":"clouds" }, + "red_rain": { elem1: "red_rain", chance:0.4, "y":[0,12], "setting":"clouds" }, + "red_cloud": { elem1: "red_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "red_snow_cloud": { elem1: "red_rain_cloud", chance:0.4, "y":[0,12], "setting":"clouds" }, + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "salt_ice":{elem2:"red_ice", chance:0.25}, + "sugar_ice":{elem2:"red_ice", chance:0.25}, + "juice_ice":{elem2:"red_ice", chance:0.25}, + "dirty_ice":{elem2:"red_ice", chance:0.25}, + "ice":{elem2:"red_ice", chance:0.25}, "water":{elem2:"red_ice"}, "blood":{elem2:"red_ice"}, "blood_ice":{elem2:"red_ice", chance:0.25}, @@ -448,6 +680,165 @@ elements.red_steam = { density: 0.6, } +elements.red_cloud = { + color: "#E8ABAB", + behavior: [ + "XX|XX|XX", + "XX|CO:1%5|M1%2.5 AND BO", + "XX|XX|XX", + ], + reactions: { + "red_rain": { elem1:"red_rain", temp1: 20 }, + "red_cloud": { elem1:"red_rain", elem2:"red_rain", temp1:20, temp2:20, charged:true }, + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + category:"gases", + temp: -110, + tempHigh: -100, + stateHigh: "red_rain", + state: "gas", + breakInto: "red_rain", + density: 0.4, + ignoreAir: true, + conduct: 0.03 +} + +elements.red_rain = { + color: "#C27A79", + behavior: [ + "XX|XX|XX", + "XX|CH:red_water%0.05|M1%2.5 AND BO", + "CR:electric%0.05|CR:electric%0.05|CR:electric%0.05", + ], + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, + category:"gases", + temp: -70, + tempLow: -100, + stateLow: "red_cloud", + breakInto: "water", + tempHigh: 0, + stateHigh: "red_snow_cloud", + state: "gas", + density: 0.5, + ignoreAir: true, + conduct: 0.03 +} + +elements.red_snow_cloud = { + color: "#CC8482", + behavior: [ + "XX|XX|XX", + "XX|CH:red_snow%0.05|M1%2.5 AND BO", + "XX|XX|XX", + ], + category:"gases", + temp: 10, + tempLow: -30, + stateLow: "red_rain", + state: "gas", + density: 0.55, + ignoreAir: true, + conduct: 0.01, + reactions: { + "rain_cloud": { elem2: "red_rain", chance:0.4 }, + "cloud": { elem2: "red_cloud", chance:0.4, chance:0.4 }, + "snow_cloud": { elem2: "red_snow_cloud", chance:0.4 }, + "frozen_plant":{elem2:"red_ice_plant", chance:0.025}, + "dead_plant":{elem2:"red_plant", chance:0.025}, + "water":{elem2:"red_ice"}, + "blood":{elem2:"red_ice"}, + "blood_ice":{elem2:"red_ice", chance:0.25}, + "antibody":{elem2:"red_ice"}, + "salt_water":{elem2:"red_ice"}, + "sugar_water":{elem2:"red_ice"}, + "dirty_water":{elem2:"red_ice"}, + "pool_water":{elem2:"red_ice"}, + "slush":{elem2:"red_ice"}, + "seltzer":{elem2:"red_ice"}, + "juice":{elem2:"red_ice"}, + "soda":{elem2:"red_ice"}, + "milk":{elem2:"red_ice"}, + "slime":{elem2:"red_ice"}, + "tea":{elem2:"red_ice"}, + "coffee":{elem2:"red_ice"}, + "neutral_acid":{elem2:"red_ice"}, + "infection":{elem2:"red_ice"}, + "meat":{elem2:"red_ice_meat", chance:0.015}, + "skin":{elem2:"red_ice_meat", chance:0.0075}, + "body":{elem2:"red_ice_meat", chance:0.004}, + "head":{elem2:"red_ice_meat", chance:0.005}, + "frozen_meat":{elem2:"red_ice_meat", chance:0.015}, + "fish":{elem2:"red_ice_meat", chance:0.015}, + "bird":{elem2:"red_ice_meat", chance:0.015}, + "frog":{elem2:"red_ice_meat", chance:0.015}, + "tadpole":{elem2:"red_ice_meat", chance:0.015}, + }, +} + elements.graphite = { color: "#2F2F33", colorKey: { @@ -763,3 +1154,406 @@ elements.graphite_dust = { density: 1830, stain: 0.6 } + +scaleLimit = 0 + +elements.pixel_scale = { + color: "#89796C", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + density: 7850, + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired pixel limit of this scale. It will not work if you place multiple limits while paused.",(scaleLimit||undefined)); + if (!answer1) { return } + scaleLimit = (answer1); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = scaleLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabPixels(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.top - 1)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabPixels(pixel); + pixel.scaleSum += (distance.top - 1) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +kiloLimit = 0 + +elements.weight_scale = { + color: "#7A7977", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired kilogram limit of this scale. It will not work if you place multiple limits while paused.",(kiloLimit||1602)); + if (!answer1) { return } + kiloLimit = (answer1); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = kiloLimit + } + if (isEmpty(pixel.x-1,pixel.y) || !outOfBounds(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabWeights(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.weight)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabWeights(pixel); + pixel.scaleSum += (distance.weight) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +scanLimit = 0 +scanningLimit = 0 + +elements.pixel_scanner = { + color: "#799187", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: ["molten_steel","molten_steel","molten_steel","flash"], + density: 7850, + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired pixel limit of this scanner. It will not work if you place multiple limits while paused.",(scanLimit||5)); + if (!answer1) { return } + scanLimit = (answer1); + var answer2 = prompt("Input the desired scanning limit of this scanner. It will not work if you place multiple limits while paused.",(scanningLimit||10)); + if (!answer2) { return } + scanningLimit = (answer2); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = scanLimit + pixel.scanningLimit = scanningLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabAllPixels(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.pixels - 1)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabAllPixels(pixel); + pixel.scaleSum += (distance.pixels - 1) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +kiloScanLimit = 0 +kiloScanningLimit = 0 + +elements.weight_scanner = { + color: "#6D9190", + category: "machines", + behavior: behaviors.WALL, + tempHigh: 3000, + stateHigh: "molten_steel", + movable: false, + onSelect: function() { + var answer1 = prompt("Input the desired kilogram limit of this scanner. It will not work if you place multiple limits while paused.",(kiloScanLimit||1602)); + if (!answer1) { return } + kiloScanLimit = (answer1); + var answer2 = prompt("Input the desired scanning limit of this scanner. It will not work if you place multiple limits while paused.",(kiloScanningLimit||10)); + if (!answer2) { return } + kiloScanningLimit = (answer2); + }, + tick: function(pixel){ + if (pixel.start === pixelTicks) { + pixel.scaleLimit = kiloScanLimit + pixel.scanningLimit = kiloScanningLimit + } + if (isEmpty(pixel.x-1,pixel.y) || pixelMap[pixel.x-1][pixel.y].element !== pixel.element) { + pixel.scaleList = [] + for (let i = 1; i < width; i++){ + if (!isEmpty(pixel.x+i, pixel.y, true)) { + if (pixelMap[pixel.x+i][pixel.y].element === pixel.element){ + let distance2 = grabAllWeights(pixelMap[pixel.x+i][pixel.y]); + pixel.scaleList.push((distance2.weight)); + } + } + } + pixel.scaleSum = 0 + for (let i = 0; i < pixel.scaleList.length; i++){ + if (pixel.scaleList[i]){ + pixel.scaleSum += (pixel.scaleList[i]) + } + } + let distance = grabAllWeights(pixel); + pixel.scaleSum += (distance.weight) + if (pixel.scaleSum > (pixel.scaleLimit - 1)) { + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].conduct) { + hitPixel.charge = 0.5 + } + } + } + } + } +} + +grabPixels = function(pixel){ + let element = pixel.element + let results = {} + for (let i = 0; i < height; i++) { + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.top = i + break; + } + } + return results +} + +grabAllPixels = function(pixel){ + let element = pixel.element + let results = {} + results.pixels = 0 + for (let i = 0; i < height; i++) { + if (!isEmpty(pixel.x, pixel.y-i, true)){ + results.pixels += 1 + } + if (i > (pixel.scanningLimit - 1)){ + break; + } + } + return results +} + +grabWeights = function(pixel){ + let element = pixel.element + let results = {} + let weight = 0 + for (let i = 0; i < height; i++){ + if (!isEmpty(pixel.x, pixel.y-i, true)){ + if (elements[pixelMap[pixel.x][pixel.y-i].element].density && !weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (elements[pixelMap[pixel.x][pixel.y-i].element].density && weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (!elements[pixelMap[pixel.x][pixel.y-i].element].density) { + let result; + if (elements[pixelMap[pixel.x][pixel.y-i].element].breakInto !== undefined) { + if (Array.isArray(elements[pixelMap[pixel.x][pixel.y-i].element].breakInto)) { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto[Math.floor(Math.random() * elements[pixel.element].breakInto.length)]; + weight += elements.result.density + } + else { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto; + weight += elements.result.density + } + } + } + } + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.top = i + if (isEmpty(pixel.x, pixel.y-i, true)){ + results.topelement = "air" + } else { + results.topelement = pixelMap[pixel.x][pixel.y-i].element + } + break; + } + } + results.weight = weight + return results +} + +grabAllWeights = function(pixel){ + let element = pixel.element + let results = {} + let weight = 0 + for (let i = 0; i < height; i++){ + if (!isEmpty(pixel.x, pixel.y-i, true)){ + if (elements[pixelMap[pixel.x][pixel.y-i].element].density && !weight) { + weight = elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (elements[pixelMap[pixel.x][pixel.y-i].element].density && weight) { + weight += elements[pixelMap[pixel.x][pixel.y-i].element].density + } + else if (!elements[pixelMap[pixel.x][pixel.y-i].element].density) { + let result; + if (elements[pixelMap[pixel.x][pixel.y-i].element].breakInto !== undefined) { + if (Array.isArray(elements[pixelMap[pixel.x][pixel.y-i].element].breakInto)) { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto[Math.floor(Math.random() * elements[pixel.element].breakInto.length)]; + weight += elements.result.density + } + else { + result = elements[pixelMap[pixel.x][pixel.y-i].element].breakInto; + weight += elements.result.density + } + } + } + } + if (i > (pixel.scanningLimit - 1)){ + break; + } + } + results.weight = weight + return results +} + +/*elements.Cherries_Ceri_Moji = { + color: "#fcd1d7", + category: Student, + state: High_School, + behavior: [Shy, Introverted, Easily_Excited, Kind], + pronouns: [She,Her,Herself], + sexuality: [Panromantic, Asexual], + desc: "Ceri is a 16 year old high school student who loves cats" +}*/ diff --git a/mods/sports_beta.js b/mods/sports_beta.js index ed3a77c1..4ba392d4 100644 --- a/mods/sports_beta.js +++ b/mods/sports_beta.js @@ -62,8 +62,8 @@ elements.volleyball = { }; elements.deodorant = { - color: "#def2fc", - behavior: behaviors.DGAS, - category: "gases", - state: "gas", + color: "#def2fc", + behavior: behaviors.DGAS, + category: "gases", + state: "gas", };