From 9df2eef383256472a5ffe284677b0b9369f75531 Mon Sep 17 00:00:00 2001 From: NM-Lolbit <104076086+NM-Lolbit@users.noreply.github.com> Date: Sun, 9 Feb 2025 18:58:13 +0000 Subject: [PATCH 01/10] Create mjsstuff silly mod i made a year ago --- mods/mjsstuff | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 mods/mjsstuff diff --git a/mods/mjsstuff b/mods/mjsstuff new file mode 100644 index 00000000..e0605514 --- /dev/null +++ b/mods/mjsstuff @@ -0,0 +1,165 @@ +elements.einsteinium = { + color: ["#B6D4D7", "#8cc8cf", "#b0b0b0", "#899a9c"], + behavior: behaviors.WALL, + category: "solids", + state: "solid", + tempHigh: 860, + density: 8.84, + hardness: 0.4, + stateHigh: "molten_einsteinium", +}; + +elements.molten_einsteinium = { + color: ["#fc7303", "#ffda69", "#f04902", "#ffbb33"], + behavior: behaviors.MOLTEN, + category: "states", + state: "molten", //i dont know how molten einsteinium looks like but if anyone knows just dm me on discord ToT "mj_rawr.exe" +}; + +elements.eyes = { + color: ["#ffffff", "#ffffff", "#ffffff", "#89aacc", "#78c479", "#733c1e", "#d4842f", "#737575"], + behavior: behaviors.LIQUID, + category: "life", + state: "powder", + tempHigh: 150, + stateHigh: "cooked_meat", + stateLow: "frozen_meat", + tempLow: -30, + stateHigh: ["smoke", "ash"], + burnInto: ["smoke", "ash"], + breakInto: ["blood","meat",], + burn: 10, + burnTime: 250, + viscosity: 1000000000, + }; + + elements.really_cold_coin = { + color: ["#fff0b5","#ffe680","#eca832","#f0bb62"], + behavior: behaviors.POWDER, + category: "special", + state: "powder", + temp: -Infinity, + density: 19300, + hardness: 0.2, + statehigh: "molten_gold" + }; + + elements.really_hot_coin = { + color: ["#c48821","#986a1a","#eca832","#f0bb62"], + behavior: behaviors.POWDER, + category: "special", + state: "powder", + temp: Infinity, //touching it is worse then touching a hot glue gun when its hot. trust me. + density: 19300, + hardness: 0.2, + }; + + elements.pink_goo = { + color: ["#ff00d0", "#e300ba", "#ff17d4",], + behavior: behaviors.LIQUID, //superfluid moves too quickly. + category: "joke", //if your reading this, this is a refrence to one of my ocs and my original fictional diease :D + state: "liquid", + viscosity: 0, + reactions: { + "antidote": { elem1: "water", elem2: null }, + } +}; + +elements.dark_brown_sugar = { + color: ["#9f603e", "#b77a59", "#894f30",], + behavior: behaviors.SUPPORTPOWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water", elem2: null }, + } + +}; + +elements.icing_sugar = { + color: ["#ffffff", "#ffffff", "#ffffff", "#f3f3f3",], + behavior: behaviors.SUPPORTPOWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: null , elem2: "icing" }, + } + +}; + +elements.golden_caster_sugar = { + color: ["#f7f1e7", "#f4d3b1", "#eabc78", "#e5a169",], + behavior: behaviors.POWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } + + +}; + +elements.caster_sugar = { + color: ["#ffffff", "#ffffff", "#fff8eb", "#fffcf6",], + behavior: behaviors.POWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } +}; + +elements.light_brown_sugar = { + color: ["#e58a6f", "#eca388", "#ec945a", "#f3b17e",], + behavior: behaviors.SUPPORTPOWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } + +}; + +elements.demerara_sugar = { + color: ["#a5350f", "#d1560f", "#c03b07", "#af3b0d",], + behavior: behaviors.POWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } + +}; + +elements.dark_muscovado_sugar = { + color: ["#492212", "#622f12", "#562606", "#6d3210",], + behavior: behaviors.SUPPORTPOWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } + + +}; + +elements.granulated_sugar = { + color: ["#ffffff", "#f4f4f4", "#f1f1f1", "#f3f3f3",], + behavior: behaviors.POWDER, + category: "food", + state: "powder", + reactions: { + "water": { elem1: "sugar_water" , elem2: null }, + } + +}; + +elements.icing = { + color: ["#dcf7ff", "#cef6ff", "#ffffff", "#e4faff",], + behavior: behaviors.LIQUID, + category: "food", + state: "powder", + viscosity: 2000, + + +}; From ba7a41014cadbc01fb8d875746f025f276cfff27 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:30:01 -0500 Subject: [PATCH 02/10] Create ads.txt --- ads.txt | 410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 410 insertions(+) create mode 100644 ads.txt diff --git a/ads.txt b/ads.txt new file mode 100644 index 00000000..c180742e --- /dev/null +++ b/ads.txt @@ -0,0 +1,410 @@ +ownerdomain=r74n.com +managerdomain=venatus.com +#V 07.02.2025 VH +#P + + +#----------------------------------------------------------------------------# +# . # +# .o8 # +# oooo ooo .ooooo. ooo. .oo. .oooo. .o888oo oooo oooo .oooo.o # +# `88. .8' d88' `88b `888P"Y88b `P )88b 888 `888 `888 d88( "8 # +# `88..8' 888ooo888 888 888 .oP"888 888 888 888 `"Y88b. # +# `888' 888 . 888 888 d8( 888 888 . 888 888 o. )88b # +# `8' `Y8bod8P' o888o o888o `Y888""8o "888" `V88V"V8P' 8""888P' # +# # +# The leading advertising solution for gaming and entertainment # +# # +# To become a publisher or advertise please contact info@venatus.com # +# # +#----------------------------------------------------------------------------# +adagio.io, 1090, DIRECT # Adagio_0_6 +rubiconproject.com, 19116, RESELLER, 0bfd66d529a55807 # Adagio_0_6 +pubmatic.com, 159110, RESELLER, 5d62403b186f2ace # Adagio_0_6 +rubiconproject.com, 16414, RESELLER, 0bfd66d529a55807 # Adagio_0_6 +lijit.com, 367236, RESELLER, fafdf38b16bf6b2b # Adagio_0_6 +improvedigital.com, 1790, RESELLER # Adagio_0_6 +triplelift.com, 13482, RESELLER, 6c33edb13117fd86 # Adagio_0_6 +rubiconproject.com, 12186, RESELLER, 0bfd66d529a55807 # Adagio_0_6 +video.unrulymedia.com, 5672421953199218469, RESELLER # Adagio_0_6 +amxrtb.com, 105199358, DIRECT # AdaptMX_1_6&7 +amxrtb.com, 105199778, DIRECT # AdaptMX_Ozone +indexexchange.com, 191503, RESELLER # AdaptMX_1_6&7 +appnexus.com, 12290, RESELLER # AdaptMX_1_6&7 +pubmatic.com, 158355, RESELLER, 5d62403b186f2ace # AdaptMX_1_6&7 +rubiconproject.com, 23844, RESELLER, 0bfd66d529a55807 # AdaptMX_1_6&7 +openx.com, 559680764, RESELLER, 6a698e2ec38604c6 # AdaptMX_1_6&7 +adform.com, 2767, RESELLER # Adform_0_6&7 +adyoulike.com, c1314a52de718f3c214c00173d2994f9, DIRECT # AdYouLike_0_6 +pubmatic.com, 160925, RESELLER, 5d62403b186f2ace # AdYouLike_0_6 +rubiconproject.com, 20736, RESELLER, 0bfd66d529a55807 # AdYouLike_0_6 +appnexus.com, 7664, RESELLER # AdYouLike_0_6 +alkimiexchange.com , 4245 , Direct # Alkimi +aps.amazon.com,70247b00-ff8f-4016-b3ab-8344daf96e09,DIRECT # Amazon_3_6&7 +aniview.com, 5f2063121d82c82557194737, RESELLER, 78b21b97965ec3f8 # Aniview +aniview.com, 643f8e74688b10f72307cc24, DIRECT, 78b21b97965ec3f8 # Aniview +google.com, pub-6346866704322274, RESELLER, f08c47fec0942fa0 # Aniview +pubmatic.com, 160993, RESELLER, 5d62403b186f2ace # Aniview +rubiconproject.com, 13918, RESELLER, 0bfd66d529a55807 # Aniview +google.com, pub-5717092533913515, RESELLER, f08c47fec0942fa0 # Aniview +gannett.com, 22652678936, RESELLER # Aniview +richaudience.com, 1ru8dKmJJV, RESELLER # Aniview +sharethrough.com, zLsEa05k, RESELLER, d53b998a7bd4ecd2 # Aniview +aps.amazon.com, 1ad7261b-91ea-4b6f-b9e9-b83522205b75, RESELLER # Aniview +pubmatic.com, 161335, RESELLER, 5d62403b186f2ace # Aniview +openx.com, 556532676, RESELLER, 6a698e2ec38604c6 # Aniview +mediago.io, 045ac24b888bcf59a09731e7f0f2084f, RESELLER # Baidu +blockthrough.com, 5643766199222272, DIRECT # Blockthrough +indexexchange.com, 194341, RESELLER, 50b1c356f2c5c8fc # Blockthrough +pubmatic.com, 160377, RESELLER, 5d62403b186f2ace # Blockthrough +onetag.com, 75804861b76a852, DIRECT # Blockthrough +amxrtb.com, 105199664, DIRECT # Blockthrough +criteo.com, B-062405, DIRECT, 9fac4a4a87c2a44f # Criteo_0_6&7 +themediagrid.com, CVQXOH, DIRECT, 35d5010d7789b49d # Criteo_0_6&7 +dxkulture.com, 1359, DIRECT, 259726033fc4df0c # DxKulture +zetaglobal.net,790,DIRECT # DxKulture +rubiconproject.com,26094,DIRECT,0bfd66d529a55807 # DxKulture +ssp.disqus.com,790,DIRECT # DxKulture +adswizz.com,dxkulture,DIRECT # DxKulture +adswizz.com,651,DIRECT # DxKulture +appnexus.com, 11716, RESELLER, f5ab79cb980f11d1 # Execute Media +freewheel.tv, 211121, DIRECT # Freewheel_0_7 +freewheel.tv, 211129-524565, DIRECT # Freewheel_OPG +freewheel.tv, 211129-169843, DIRECT # Freewheel_OPG +google.com, pub-5781531207509232, DIRECT, f08c47fec0942fa0 # Google_AdX_6&7 +google.com, pub-5781531207509232, RESELLER, f08c47fec0942fa0 # Google_AdX_6&7 +google.com, pub-2553634189837243, RESELLER, f08c47fec0942fa0 # Google_AdX_6&7 +gumgum.com, 13385, RESELLER, ffdef49475d318a9 # GumGum +gumgum.com, 14302, RESELLER, ffdef49475d318a9 # GumGum +rubiconproject.com, 23434, RESELLER, 0bfd66d529a55807 # GumGum +pubmatic.com, 157897, RESELLER, 5d62403b186f2ace # GumGum +indexexchange.com, 183921, DIRECT, 50b1c356f2c5c8fc # Index Exchange_0_6&7 +indexexchange.com, 193067, DIRECT, 50b1c356f2c5c8fc # Index Exchange_2_6&7 +indexexchange.com, 194127, DIRECT, 50b1c356f2c5c8fc # Index Exchange_7&4_6&7 +indexexchange.com, 205972, RESELLER, 50b1c356f2c5c8fc # Index Exchange_Oz +insticator.com,843c9a44-60ea-4342-8ad4-68f894283b3e,DIRECT,b3511ffcafb23a32 # Insticator +rubiconproject.com,17062,RESELLER,0bfd66d529a55807 # Insticator +video.unrulymedia.com,136898039,RESELLER # Insticator +pubmatic.com,95054,DIRECT,5d62403b186f2ace # Insticator +lijit.com,257618,RESELLER,fafdf38b16bf6b2b # Insticator +sharethrough.com,Q9IzHdvp,DIRECT,d53b998a7bd4ecd2 # Insticator +openx.com,558230700,RESELLER,6a698e2ec38604c6 # Insticator +kargo.com, 8688, DIRECT # Kargo_0_6 +rubiconproject.com, 13762, RESELLER, 0bfd66d529a55807 # Magnite_0&2_6&7 +media.net, 8CU8ARTF8, DIRECT # Media.net +Media.net, 8CU198XI2, DIRECT # Media.net +themediagrid.com, LTW57M, DIRECT, 35d5010d7789b49d # MediaGrid_2_6&7 +ogury.com, 086233d2-e8a8-44fc-907b-f0752e1c85de, DIRECT # Ogury_0_6 +appnexus.com, 11470, RESELLER # Ogury_0_6 +openx.com, 537144009, RESELLER, 6a698e2ec38604c6 # OpenX_0_6 +openx.com, 540134228, RESELLER, 6a698e2ec38604c6 # OpenX_0_7 +openx.com, 542378302, RESELLER, 6a698e2ec38604c6 # OpenX_2_6&7 +outbrain.com, 00cad1edda50a62c096c310d54360dfcdb, DIRECT # Outbrain +rubiconproject.com, 19668, RESELLER, 0bfd66d529a55807 # Outbrain +openx.com, 540393169, RESELLER, 6a698e2ec38604c6 # Outbrain +smaato.com, 1100048704, RESELLER, 07bcf65f187117b4 # Outbrain +the-ozone-project.com, ozoneven0005, DIRECT # Ozone_0_6 +openx.com, 540731760, RESELLER, 6a698e2ec38604c6 # Ozone_0_6 +pubmatic.com, 160557, RESELLER, 5d62403b186f2ace # Ozone_0_6 +themediagrid.com, WF71T3, DIRECT, 35d5010d7789b49d # Ozone_0_6 +Yahoo.com, 60170, DIRECT, e1a5b5b6e3255540 # Ozone_0_6 +primis.tech, 31136, DIRECT, b6b21d256ef43532 # Primis +pubmatic.com, 156595, RESELLER, 5d62403b186f2ace # Primis +google.com, pub-1320774679920841, RESELLER, f08c47fec0942fa0 # Primis +openx.com, 540258065, RESELLER, 6a698e2ec38604c6 # Primis +rubiconproject.com, 20130, RESELLER, 0bfd66d529a55807 # Primis +smartadserver.com, 3436, RESELLER, 060d053dcf45cbf3 # Primis +indexexchange.com, 191923, RESELLER, 50b1c356f2c5c8fc # Primis +Media.net, 8CU695QH7, RESELLER # Primis +triplelift.com, 8210, RESELLER, 6c33edb13117fd86 # Primis +appnexus.com,16007, RESELLER, f5ab79cb980f11d1 # Primis +pmc.com, 1240739, DIRECT, 8dd52f825890bb44 # Primis +rubiconproject.com, 10278, RESELLER, 0bfd66d529a55807 # Primis +video.unrulymedia.com, 776418614052335749, RESELLER # Primis +pubmatic.com, 159234, RESELLER, 5d62403b186f2ace # PubMatic_0_6&7 +pubmatic.com, 160552, RESELLER, 5d62403b186f2ace # PubMatic_4_7 +pubmatic.com, 159401, RESELLER, 5d62403b186f2ace # PubMatic_2_6&7 +pubmatic.com, 163598, RESELLER, 5d62403b186f2ace # Pubmatic_OW +pubmatic.com, 165533, RESELLER, 5d62403b186f2ace # Pubmatic_KR +richaudience.com, 1XvIoD5o0S, DIRECT # Rich Audience_0_6&7 +pubmatic.com, 81564, DIRECT, 5d62403b186f2ace # Rich Audience_0_6&7 +pubmatic.com, 156538, DIRECT, 5d62403b186f2ace # Rich Audience_0_6&7 +appnexus.com, 8233, DIRECT # Rich Audience_0_6&7 +rubiconproject.com, 13510, DIRECT # Rich Audience_0_6&7 +risecodes.com, 5fa94677b2db6a00015b22a9, DIRECT # Rise +pubmatic.com, 160295, RESELLER, 5d62403b186f2ace # Rise +xandr.com, 14082, RESELLER # Rise +rubiconproject.com, 23876, RESELLER, 0bfd66d529a55807 # Rise +sharethrough.com, 5926d422, RESELLER, d53b998a7bd4ecd2 # Rise +yieldmo.com, 2754490424016969782, RESELLER # Rise +media.net, 8CUQ6928Q, RESELLER # Rise +onetag.com, 69f48c2160c8113, RESELLER # Rise +amxrtb.com, 105199691, RESELLER # Rise +33across.com, 0010b00002Xbn7QAAR, RESELLER, bbea06d9c4d2853c # Rise +video.unrulymedia.com, 335119963, RESELLER # Rise +seedtag.com, 5aa6c80640c9e209009721e0, DIRECT # Seedtag +xandr.com, 4009, DIRECT, f5ab79cb980f11d1 # Seedtag +rubiconproject.com, 17280, DIRECT, 0bfd66d529a55807 # Seedtag +sharethrough.com, 31c129df, DIRECT, d53b998a7bd4ecd2 # Sharethrough_0_6&7 +sharethrough.com, awx1H4AI, RESELLER, d53b998a7bd4ecd2 # Sharethrough +pmc.com, 1242472, DIRECT, 8dd52f825890bb44 # She_Media +rubiconproject.com, 10278, RESELLER, 0bfd66d529a55807 # She_Media +smartadserver.com, 2161, RESELLER # Showheroes_7_8 +smartadserver.com, 3668, RESELLER # Showheroes_7_8 +showheroes.com, 6829, RESELLER # Showheroes_7_8 +smartadserver.com, 3490, DIRECT # Smart AdServer_0&1&2_6&7 +smartadserver.com, 4016, DIRECT # Smart AdServer_0&1&2_6&7 +smartadserver.com, 4074, DIRECT # Smart AdServer_0&1&2_6&7 +sonobi.com, 116da9d98c, DIRECT, d1a215d9eb5aee9e # Sonobi_0_6&7 +sonobi.com, e017850301, DIRECT, d1a215d9eb5aee9e # Sonobi_4_7 +sonobi.com, dc5f975b54, RESELLER, d1a215d9eb5aee9e # Sonobi_TAM +sonobi.com, 168faa72a7, RESELLER, d1a215d9eb5aee9e # Sonobi_Oz +sovrn.com, 237754, DIRECT, fafdf38b16bf6b2b # Sovrn_0&1&2_6&7 +lijit.com, 237754, DIRECT, fafdf38b16bf6b2b # Sovrn_0&1&2_6&7 +lijit.com, 506352, DIRECT, fafdf38b16bf6b2b # Sovrn_Ozone +tappx.com, 42745, DIRECT, 9f375a07da0318ec # Tappx +pubmatic.com, 158111, RESELLER, 5d62403b186f2ace # Tappx +sharethrough.com, 49574e61,RESELLER, d53b998a7bd4ecd2 # Tappx +smartadserver.com,1692, RESELLER,060d053dcf45cbf3 # Tappx +rubiconproject.com,13856,RESELLER,0bfd66d529a55807 # Tappx +video.unrulymedia.com,3341072718,RESELLER # Tappx +33across.com,0010b00001siQHqAAM,RESELLER,bbea06d9c4d2853c # Tappx +themediagrid.com,4FDQYH,RESELLER,35d5010d7789b49d # Tappx +triplelift.com, 6059, RESELLER, 6c33edb13117fd86 # Triplelift_0&2_6&7 +video.unrulymedia.com, 985572675, DIRECT # Unruly_0&2_7 +video.unrulymedia.com, 985572675, RESELLER # Unruly_0&2_7 +sharethrough.com, 6qlnf8SY, RESELLER, d53b998a7bd4ecd2 # Unruly +pubmatic.com, 156512, DIRECT # Wunderkind +indexexchange.com, 183753, DIRECT # Wunderkind +wunderkind.co, 6438, DIRECT # Wunderkind +wunderkind.co, 6449, DIRECT # Wunderkind +criteo.com, B-068503, DIRECT # Wunderkind +appnexus.com, 806, DIRECT, f5ab79cb980f11d1 # Xandr_0&2_6&7 +appnexus.com,1908,RESELLER,f5ab79cb980f11d1 # Xandr_0&2_6&7 +google.com, pub-3282547114800347, RESELLER, f08c47fec0942fa0 +adinplay.com, FTB, DIRECT + + + + + +# Kueez +kueez.com,e5b6208bc94ed2d5788e1e4c1cf5452e, DIRECT +rubiconproject.com, 16920, RESELLER, 0bfd66d529a55807 +openx.com, 557564833, RESELLER, 6a698e2ec38604c6 +Pubmatic.com, 162110, RESELLER, 5d62403b186f2ace +lijit.com, 407406, RESELLER, fafdf38b16bf6b2b #SOVRN +sharethrough.com, n98xDzeL, RESELLER, d53b998a7bd4ecd2 +sonobi.com, 4c4fba1717, RESELLER, d1a215d9eb5aee9e +appnexus.com, 8826,RESELLER, f5ab79cb980f11d1 +33across.com, 0010b00002ODU4HAAX, RESELLER, bbea06d9c4d2853c +Media.net,8CU4JTRF9, RESELLER + +# PGAM +pgamssp.com, 634dc90283fff00f005151f2, DIRECT +amxrtb.com, 105199776, RESELLER +pubmatic.com, 162623, RESELLER, 5d62403b186f2ace +rubiconproject.com, 24852, RESELLER, 0bfd66d529a55807 +onetag.com, 87f80e5d9d55274, RESELLER +freewheel.tv, 1489202, RESELLER + +#Yieldmo +yieldmo.com, 2440034636282143652, DIRECT +rubiconproject.com, 17070, RESELLER, 0bfd66d529a55807 +pubmatic.com, 160648, RESELLER, 5d62403b186f2ace +contextweb.com, 561118, RESELLER, 89ff185a4c4e857c +conversantmedia.com, 100270, RESELLER, 03113cd04947736d +appnexus.com, 7911, RESELLER + +# OptiDigital +optidigital.com,p230,DIRECT +pubmatic.com,158939,RESELLER,5d62403b186f2ace +rubiconproject.com,20336,RESELLER,0bfd66d529a55807 +smartadserver.com,3379,RESELLER,060d053dcf45cbf3 +criteo.com,B-060926,RESELLER,9fac4a4a87c2a44f +appnexus.com,12190,RESELLER,f5ab79cb980f11d1 +triplelift.com,8183,RESELLER,6c33edb13117fd86 + +# NHace +acexchange.co.kr, 1908143852, RESELLER +loopme.com, 11544, RESELLER, 6c8d5f95897a5a3b +smartyads.com, 300036, RESELLER, fd2bde0ff2e62c5d +yeahmobi.com, 5135284, Reseller + +# Smaato +smaato.com, 1100055690, DIRECT, 07bcf65f187117b4 +smaato.com, 1100049216, DIRECT, 07bcf65f187117b5 +rubiconproject.com, 24600, RESELLER, 0bfd66d529a55807 +sharethrough.com, iBAzay96, RESELLER, d53b998a7bd4ecd2 +pubmatic.com, 156177, RESELLER, 5d62403b186f2ace + +# OMS Test +onlinemediasolutions.com, 21009, DIRECT +pubmatic.com, 161332, RESELLER, 5d62403b186f2ace +amxrtb.com, 105199514, RESELLER +yieldmo.com, 2757543169808605705, RESELLER +audienciad.com, 210092, DIRECT +rubiconproject.com, 20416, RESELLER, 0bfd66d529a55807 +onomagic.com, 210091, DIRECT +lijit.com, 374814, RESELLER, fafdf38b16bf6b2b +onetag.com, 75753f1ebcc343c, RESELLER +openx.com, 537153209, RESELLER, 6a698e2ec38604c6 +video.unrulymedia.com, 6694405583287859332, RESELLER +appnexus.com, 11801, RESELLER +onetag.com, 7b561459c997848, RESELLER +appnexus.com, 15629, RESELLER, f5ab79cb980f11d1 +aps.amazon.com, 48266a61-b3d9-4cb7-b172-553abc6a42a4, DIRECT +indexexchange.com, 197494, RESELLER, 50b1c356f2c5c8fc +pubmatic.com, 163517, RESELLER, 5d62403b186f2ace +advibe.media, 821009, DIRECT +loopme.com, 12733, RESELLER, 6c8d5f95897a5a3b +rubiconproject.com, 24364, RESELLER, 0bfd66d529a55807 +getmediamx.com, 1221009, DIRECT +smartadserver.com, 4483, RESELLER +limpid.tv, 921009, DIRECT +rubiconproject.com, 25722, RESELLER, 0bfd66d529a55807 +sonobi.com, 3aed893727, RESELLER, d1a215d9eb5aee9e +Media.net, 8CUB46Z7R, RESELLER +themediagrid.com, IRK975, RESELLER, 35d5010d7789b49d +sharethrough.com, UxId3u8j, RESELLER, d53b998a7bd4ecd2 +pmc.com, 1242344, DIRECT, 8dd52f825890bb44 +rubiconproject.com, 10278, RESELLER, 0bfd66d529a55807 +adyoulike.com, e9a771d72c076dbe3cafc2c6477f9238, RESELLER + +# Adsolut Test +Adsolut.in, 17582, DIRECT +Playstream.media, 2713, DIRECT +Pubmatic.com, 164692, RESELLER, 5d62403b186f2ace +pubmatic.com, 162175, RESELLER, 5d62403b186f2ace +openx.com, 560878260, RESELLER, 6a698e2ec38604c6 +openx.com, 557904194, RESELLER, 6a698e2ec38604c6 +rubiconproject.com, 24872, RESELLER, 0bfd66d529a55807 +rubiconproject.com, 24874, RESELLER, 0bfd66d529a55807 +rubiconproject.com, 26768, RESELLER, 0bfd66d529a55807 +pubmatic.com, 159727, RESELLER, 5d62403b186f2ace +pubmatic.com, 157742, RESELLER, 5d62403b186f2ace +pubmatic.com, 157569, RESELLER, 5d62403b186f2ace +pubmatic.com, 159941, RESELLER, 5d62403b186f2ace +xandr.com, 9988, RESELLER +appnexus.com, 9988, RESELLER +teads.tv, 25843, DIRECT, 15a9c44f6d26cbe1 +vdopia.com, 15364, DIRECT, 49a66ce31a704197 #video +chocolateplatform.com, 15364, DIRECT, 49a66ce31a704197 #video +vdopia.com, 15364, DIRECT, 49a66ce31a704197 #banner +chocolateplatform.com, 15364, DIRECT, 49a66ce31a704197 #banner +smartadserver.com, 4164, DIRECT, 060d053dcf45cbf3 +smartadserver.com, 4164, RESELLER, 060d053dcf45cbf3 +smartadserver.com, 4164-OB, RESELLER, 060d053dcf45cbf3 +contextweb.com, 560288, RESELLER, 89ff185a4c4e857c +pubmatic.com, 156439, RESELLER, 5d62403b186f2ace +pubmatic.com, 154037, RESELLER, 5d62403b186f2ace +rubiconproject.com, 16114, RESELLER, 0bfd66d529a55807 +openx.com, 537149888, RESELLER, 6a698e2ec38604c6 +appnexus.com, 3703, RESELLER, f5ab79cb980f11d1 +loopme.com, 5679, RESELLER, 6c8d5f95897a5a3b +xad.com, 958, RESELLER, 81cbf0a75a5e0e9a +rhythmone.com, 2564526802, RESELLER, a670c89d4a324e47 +smaato.com, 1100044045, RESELLER, 07bcf65f187117b4 +pubnative.net, 1006576, RESELLER, d641df8625486a7b +verve.com, 15503, RESELLER, 0c8f5958fc2d6270 +adyoulike.com, b4bf4fdd9b0b915f746f6747ff432bde, RESELLER +axonix.com, 57264, RESELLER +admanmedia.com, 43, RESELLER +smartadserver.com, 4012, RESELLER +smartadserver.com, 4016, RESELLER +smartadserver.com, 4071, RESELLER +smartadserver.com, 4073, RESELLER +smartadserver.com, 4074, RESELLER +criteo.com, B-068838, DIRECT, 9fac4a4a87c2a44f +themediagrid.com, Q6VXLE, DIRECT, 35d5010d7789b49d +aps.amazon.com,5d8ed25e-57cc-441a-b62a-127b34faae4e, DIRECT +telaria.com,4pco5-ef5so,RESELLER,1a4e959a1b50034a +tremorhub.com,4pco5-ef5so,RESELLER,1a4e959a1b50034a +springserve.com, 2112, RESELLER, a24eb641fc82e93d + +# Nobid Test +nobid.io, 22629800915, DIRECT +zetaglobal.net, 693, DIRECT +sharethrough.com, aRE1degH, RESELLER, d53b998a7bd4ecd2 +rubiconproject.com, 18694, RESELLER, 0bfd66d529a55807 +pubmatic.com, 156557, RESELLER +lijit.com, 273657, RESELLER, fafdf38b16bf6b2b +rubiconproject.com, 24434, RESELLER, 0bfd66d529a55807 +amxrtb.com, 105199579, RESELLER +appnexus.com, 12290, RESELLER +lijit.com, 260380, RESELLER +xandr.com, 11429, RESELLER, f5ab79cb980f11d1 +onetag.com, 694e68b73971b58, RESELLER + +# Onetag Test +onetag.com, 59c7d7f65f9d658, DIRECT +appnexus.com, 13099, RESELLER +pubmatic.com, 161593, RESELLER, 5d62403b186f2ace +rubiconproject.com, 11006, RESELLER, 0bfd66d529a55807 + +# Pulsepoint Test +Contextweb.com,563522,DIRECT,89ff185a4c4e857c +rubiconproject.com, 26184, RESELLER, 0bfd66d529a55807 +iqzone.com,IQ272,RESELLER +mediafuse.com, 720, RESELLER +appnexus.com, 9538, RESELLER, f5ab79cb980f11d1 +sovrn.com, 253233, RESELLER, fafdf38b16bf6b2b +lijit.com, 253233, RESELLER, fafdf38b16bf6b2b +loopme.com, 11436, RESELLER, 6c8d5f95897a5a3b + +# NextMillennium Test +nextmillennium.io, 16749, DIRECT, 65bd090fa4a1e3d6 +admagnetix.io, 201898, DIRECT +appnexus.com, 9284, DIRECT, f5ab79cb980f11d1 +appnexus.com, 15799, DIRECT, f5ab79cb980f11d1 +rubiconproject.com, 17888, RESELLER, 0bfd66d529a55807 +rubiconproject.com, 26296, RESELLER, 0bfd66d529a55807 +pubmatic.com, 157577, DIRECT, 5d62403b186f2ace +pubmatic.com, 164400, RESELLER, 5d62403b186f2ace +indexexchange.com, 194648, RESELLER, 50b1c356f2c5c8fc +indexexchange.com, 207985, RESELLER, 50b1c356f2c5c8fc +openx.com, 540224251, DIRECT, 6a698e2ec38604c6 +openx.com, 540225743, DIRECT, 6a698e2ec38604c6 +33across.com, 0010b00002e4MRRAA2, DIRECT, bbea06d9c4d2853c +33across.com, 001Pg000007PnplIAC, DIRECT, bbea06d9c4d2853c #33Across #hb #tag +yieldmo.com, 2230523609997805235, DIRECT +yieldmo.com, 3483642730188317326, DIRECT + +# Nativo Test +nativo.com, 5712, DIRECT, 59521ca7cc5e9fee +openx.com, 540709535, RESELLER, 6a698e2ec38604c6 +pubmatic.com, 156500, RESELLER, 5d62403b186f2ace +smartadserver.com, 4878, RESELLER, 060d053dcf45cbf3 +zetaglobal.net, 989, RESELLER + +# 33across Test +33across.com, 0010b00001rrIFkAAM, DIRECT, bbea06d9c4d2853c +appnexus.com, 10239, RESELLER, f5ab79cb980f11d1 +video.unrulymedia.com, 2439829435, DIRECT +conversantmedia.com, 100141, DIRECT, 03113cd04947736d +pubmatic.com, 156423, RESELLER, 5d62403b186f2ace +rubiconproject.com, 16414, RESELLER, 0bfd66d529a55807 +rubiconproject.com, 21642, RESELLER, 0bfd66d529a55807 +loopme.com,11575,RESELLER,6c8d5f95897a5a3b +openx.com, 537120563, RESELLER, 6a698e2ec38604c6 +contextweb.com, 561516, RESELLER, 89ff185a4c4e857c +adyoulike.com, 1f301d3bcd723f5c372070bdfd142940, RESELLER + +# Weborama Test +appnexus.com, 12986, RESELLER, f5ab79cb980f11d1 +improvedigital.com, 1069, RESELLER +pubmatic.com, 158056, RESELLER +Weborama.nl, 10714, DIRECT + +# Inmobi Test +inmobi.com, cdfd74ce1cdd4a67b1c4794c072324ff, DIRECT, 83e75a7ae333ca9d +rubiconproject.com,11726,RESELLER,0bfd66d529a55807 +rubiconproject.com,12266,RESELLER,0bfd66d529a55807 +Blis.com,33,RESELLER,61453ae19a4b73f4 +loopme.com,9724,RESELLER,6c8d5f95897a5a3b +pubmatic.com,157097,RESELLER,5d62403b186f2ace +conversantmedia.com,40881,RESELLER,03113cd04947736d +pubmatic.com,156931,RESELLER,5d62403b186f2ace +pubmatic.com,159035,RESELLER,5d62403b186f2ace +outbrain.com,00bba279fec6daa01a0cb6fdccb023f0d5,RESELLER +venatus.com, 67a9ed9754327b1c4246265f, DIRECT \ No newline at end of file From 560aa72f3fde60759de6345a82c5cd04b2bbea69 Mon Sep 17 00:00:00 2001 From: An Orbit <68935009+orbit-loona@users.noreply.github.com> Date: Mon, 10 Feb 2025 14:46:34 -0500 Subject: [PATCH 03/10] sex with a cactus --- mods/a_mod_by_alice.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js index fca8f545..4086ae75 100644 --- a/mods/a_mod_by_alice.js +++ b/mods/a_mod_by_alice.js @@ -5691,7 +5691,7 @@ color1 and color2 spread through striped paint like dye does with itself. col canvasLayersPostRenderers = []; drawLayers = function(includeBackground) { //console.log("dl tick"); - if (ctx === null) return + if (ctx === null || ctx === undefined) return clearLayers(); ctx.clearRect(0, 0, canvas.width, canvas.height); findColorPulseTimerSubTimer++; @@ -44735,7 +44735,7 @@ maxPixels (default 1000): Maximum amount of pixels/changes (if xSpacing and ySpa }; //NO GAMMA RAY SPAWNERS OR FILLERS IN RANDOM ## runAfterLoad(function() { - randomBlacklist = ["quark_matter", "liquid_neutronium", "molten_neutronium", "neutronium", "neutronium_gas", "colored_fi ller", "copycat_filler", "insulating_filler"]; + randomBlacklist = ["quark_matter", "liquid_neutronium", "molten_neutronium", "neutronium", "neutronium_gas", "colored_filler", "copycat_filler", "insulating_filler"]; for(i = 0; i < randomBlacklist.length; i++) { var element = randomBlacklist[i]; if(elements[element]) { elements[element].excludeRandom = true }; @@ -45678,7 +45678,7 @@ maxPixels (default 1000): Maximum amount of pixels/changes (if xSpacing and ySpa //END ## console.log("Mod loaded"); - logMessage("a_mod_by_alice.js requires many other mods. Many of the elements and features added with it installed are actually added by the other mods it depends on.") + window.addEventListener("load",function() {logMessage("a_mod_by_alice.js requires many other mods. Many of the elements and features added with it installed are actually added by the other mods it depends on.")}) } catch (error) { alert(`Load failed (try reloading).\nThis is likely a sporadic failure caused by inconsistencies in how mods are loaded, and will likely fix itself in a refresh or two. If it persists, then it's an issue.\nError: ${error.stack}`); console.error(error) From 0a93f2155cb82472b8e0c3424ac1597730e85178 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Mon, 10 Feb 2025 18:02:58 -0800 Subject: [PATCH 04/10] Correct body temp update --- mods/biology.js | 2340 +++++++++++++++++++++++++++++------------------ 1 file changed, 1454 insertions(+), 886 deletions(-) diff --git a/mods/biology.js b/mods/biology.js index 83ce49ca..646c1961 100644 --- a/mods/biology.js +++ b/mods/biology.js @@ -48,7 +48,7 @@ viewInfo[6] = { // Speed View viewInfo[7] = { // Illness View name: "ill", pixel: function(pixel,ctx) { - if ((elements[pixel.element].id === elements.poison.id || elements[pixel.element].id === elements.cyanide.id || elements[pixel.element].id === elements.infected_vessel.id || elements[pixel.element].id === elements.infection.id || elements[pixel.element].id === elements.cancer.id || elements[pixel.element].id === elements.plague.id || elements[pixel.element].id === elements.rotten_meat.id) || (elements[pixel.element].isBio === true && ((pixel.speed < -5 || pixel.oxygen < 250 || pixel.nutrition < 250) || pixel.poisoned === true)) || ((elements[pixel.element].id === elements.digested_material.id || elements[pixel.element].id === elements.gaseous_material.id) && ((pixel.speed < 0 || pixel.nutrition < 5) || pixel.poisoned === true) && (pixel.immune !== true || !pixel.immune))) { + if ((elements[pixel.element].id === elements.cyanide_gas.id || elements[pixel.element].id === elements.poison_gas.id || elements[pixel.element].id === elements.poison.id || elements[pixel.element].id === elements.cyanide.id || elements[pixel.element].id === elements.infected_vessel.id || elements[pixel.element].id === elements.infection.id || elements[pixel.element].id === elements.cancer.id || elements[pixel.element].id === elements.plague.id || elements[pixel.element].id === elements.rotten_meat.id) || (elements[pixel.element].isBio === true && ((pixel.speed < -5 || pixel.oxygen < 250 || pixel.nutrition < 250) || pixel.poisoned === true || pixel.sick === true || pixel.alcoholic === true)) || ((elements[pixel.element].id === elements.digested_material.id || elements[pixel.element].id === elements.gaseous_material.id) && ((pixel.speed < 0 || pixel.nutrition < 5) || pixel.poisoned === true) && (pixel.immune !== true || !pixel.immune))) { var a = (settings.textures !== 0) ? pixel.alpha : undefined; if (((elements[pixel.element].isGas && elements[pixel.element].glow !== false) || elements[pixel.element].glow || pixel.glow) && pixel.glow !== false) { drawPlus(ctx,pixel.color,pixel.x,pixel.y,undefined,a) @@ -76,6 +76,22 @@ renderPresets.FLESHBURN = function(pixel,ctx) { drawSquare(ctx,"#000000",pixel.x,pixel.y,undefined,Math.min(0.8,(ratio-0.5)*0.8)); }, +renderPresets.NERVE = function(pixel,ctx) { + drawDefault(ctx,pixel) + if (pixel.darkcharge === true) { + drawSquare(ctx,"#000000",pixel.x,pixel.y,undefined,Math.min(0.8,0.55)); + } + if (pixel.darkchargeCD === true) { + drawSquare(ctx,"#000000",pixel.x,pixel.y,undefined,Math.min(0.8,0.5)); + } + if (pixel.lightcharge === true) { + drawSquare(ctx,"#ffffff",pixel.x,pixel.y,undefined,Math.min(0.8,0.55)); + } + if (pixel.lightchargeCD === true) { + drawSquare(ctx,"#ffffff",pixel.x,pixel.y,undefined,Math.min(0.8,0.5)); + } +}, + behaviorRules.BCF = function() { if (btemp.pixel.clone) { if (isEmpty(btemp.newCoords.x, btemp.newCoords.y)) { @@ -138,7 +154,7 @@ behaviorRules.ADB = function() { if (btemp.arg != null) { var args = btemp.arg.split(","); } if (btemp.arg == null || args.indexOf(newPixel.element) !== -1) { if (!elements[newPixel.element].hardness || Math.random() > elements[newPixel.element].hardness) { - if (elements[newPixel.element].isFood === true) { + if (elements[newPixel.element].isFood === true && !elements[btemp.pixel.element].reactions[newPixel.element]) { changePixel(newPixel,"digested_material"); newPixel.nutrition = 10; if (pixelMap[btemp.pixel.x][btemp.pixel.y] != undefined) { @@ -147,7 +163,7 @@ behaviorRules.ADB = function() { btemp.deleted = true; btemp.swapSpots = []; } - else if (elements[newPixel.element].isFood != true) { + else if (elements[newPixel.element].isFood != true && !elements[btemp.pixel.element].reactions[newPixel.element]) { if (elements[newPixel.element].hardness < 0.9 || !elements[newPixel.element].hardness) { deletePixel(btemp.newCoords.x,btemp.newCoords.y); if (pixelMap[btemp.pixel.x][btemp.pixel.y] != undefined) { @@ -164,541 +180,8 @@ behaviorRules.ADB = function() { }, doBioNorm = function(pixel) { -if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 53 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100)) { - pixel.nutrition-- - pixel.oxygen -= 2 -} -if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (elements[pixel.element].isMultiDie === true) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,elements[pixel.element].normDie); - } - else { - changePixel(pixel,elements[pixel.element].heatDie); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,elements[pixel.element].normDie); - } - else { - changePixel(pixel,elements[pixel.element].coldDie); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,elements[pixel.element].normDie); - } - else { - changePixel(pixel,elements[pixel.element].roomDie); - } - } - } - else if (elements[pixel.element].isMultiDie === false) { - if (Math.random() < 0.75) { - changePixel(pixel,elements[pixel.element].normDie); - } - else { - changePixel(pixel,elements[pixel.element].otherDie); - } - } -} -if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 -} -if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 -} -if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 -} -if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false -} -if ((pixel.temp > 124.55 || pixel.burning) && Math.random() > 0.5) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } -} -if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { - pixel.char = pixel.burnt -} -if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.oxygen > pixel.oxygen) { - hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) - pixel.oxygen += (elements[hitPixel.element].oxygTrans) - } - if (hitPixel.nutrition > pixel.nutrition) { - hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) - pixel.nutrition += (elements[hitPixel.element].nutrTrans) - } - if (hitPixel.speed > pixel.speed) { - hitPixel.speed -= 1 - pixel.speed += 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - } - else if (hitPixel.burning && Math.random() > 0.9) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } - } -} -if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.oxygen > pixel.oxygen) { - hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) - pixel.oxygen += (elements[hitPixel.element].oxygTrans) - } - if (hitPixel.nutrition > pixel.nutrition) { - hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) - pixel.nutrition += (elements[hitPixel.element].nutrTrans) - } - if (hitPixel.speed > pixel.speed) { - hitPixel.speed -= 1 - pixel.speed += 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - } - else if (hitPixel.burning && Math.random() > 0.9) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } - } -} -if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.oxygen > pixel.oxygen) { - hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) - pixel.oxygen += (elements[hitPixel.element].oxygTrans) - } - if (hitPixel.nutrition > pixel.nutrition) { - hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) - pixel.nutrition += (elements[hitPixel.element].nutrTrans) - } - if (hitPixel.speed > pixel.speed) { - hitPixel.speed -= 1 - pixel.speed += 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - } - else if (hitPixel.burning && Math.random() > 0.9) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } - } -} -if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.oxygen > pixel.oxygen) { - hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) - pixel.oxygen += (elements[hitPixel.element].oxygTrans) - } - if (hitPixel.nutrition > pixel.nutrition) { - hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) - pixel.nutrition += (elements[hitPixel.element].nutrTrans) - } - if (hitPixel.speed > pixel.speed) { - hitPixel.speed -= 1 - pixel.speed += 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - } - else if (hitPixel.burning && Math.random() > 0.9) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } - } -} -} - -doBioBlood = function(pixel) { -if (Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) && Math.random() < 0.001) { - for (var i = 0; i < squareCoords.length; i++) { - var coords = squareCoords[i]; - var x = pixel.x + coords[0]; - var y = pixel.y + coords[1]; - if (isEmpty(x,y)) { - createPixel("flesh",x,y); - } - } -} -if ((Math.random() > (elements[pixel.element].ageRate) && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 53 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100) ) { - pixel.nutrition-- - pixel.oxygen -= 2 -} -if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.immune === true) { - changePixel(pixel,"antibody"); - } - else if (pixel.poisoned === true) { - changePixel(pixel,"infection"); - } - else { - changePixel(pixel,elements[pixel.element].bleed); - } -} -if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 -} -if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 -} -if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 -} -if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false -} -if ((pixel.temp > 150 || pixel.burning) && Math.random() > 0.95) { - if (!pixel.burnt) { pixel.burnt = 1 } - else { pixel.burnt ++ } -} -if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { - pixel.char = pixel.burnt -} -if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) - pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) - } - else { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) - pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) - } - else { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.75) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.5) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } -} -else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - if (pixel.immune === true) { - createPixel("antibody",pixel.x,pixel.y-1) - } - else if (pixel.poisoned === true) { - createPixel("infection",pixel.x,pixel.y-1) - } - else { - createPixel(elements[pixel.element].bleed,pixel.x,pixel.y-1) - } - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 -} -if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) - pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) - } - else { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) - pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) - } - else { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.6) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.5) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } -} -else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - if (pixel.immune === true) { - createPixel("antibody",pixel.x,pixel.y+1) - } - else if (pixel.poisoned === true) { - createPixel("infection",pixel.x,pixel.y+1) - } - else { - createPixel(elements[pixel.element].bleed,pixel.x,pixel.y+1) - } - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 -} -if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) - pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) - } - else { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) - pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) - } - else { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.75) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.5) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } -} -else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - if (pixel.immune === true) { - createPixel("antibody",pixel.x-1,pixel.y) - } - else if (pixel.poisoned === true) { - createPixel("infection",pixel.x-1,pixel.y) - } - else { - createPixel(elements[pixel.element].bleed,pixel.x-1,pixel.y) - } - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 -} -if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) - pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) - } - else { - hitPixel.oxygen += (elements[pixel.element].oxygTrans) - pixel.oxygen -= (elements[pixel.element].oxygTrans) - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) - pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) - } - else { - hitPixel.nutrition += (elements[pixel.element].nutrTrans) - pixel.nutrition -= (elements[pixel.element].nutrTrans) - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.75) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.5) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burnt-- - } - if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { - hitPixel.burning = false - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } -} -else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - if (pixel.immune === true) { - createPixel("antibody",pixel.x+1,pixel.y) - } - else if (pixel.poisoned === true) { - createPixel("infection",pixel.x+1,pixel.y) - } - else { - createPixel(elements[pixel.element].bleed,pixel.x+1,pixel.y) - } - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 -} -} - -doBioBone = function(pixel){ -if ((Math.random() > 0.995 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 55 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100)) { - pixel.nutrition-- +if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() < (pixel.alcoDepri / 100) && pixel.alcoholic === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.60 && pixel.sick === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 53 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100)) { + pixel.nutrition -= 0.5 pixel.oxygen-- } if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { @@ -746,9 +229,738 @@ if (pixel.oxygen === null || isNaN(pixel.oxygen)) { if (pixel.speed === null || isNaN(pixel.speed)) { pixel.speed = 0 } -if (pixel.immune === true && pixel.poisoned != false) { +if ((pixel.alcoDepri || pixel.alcoDepri === 0) && pixel.alcoholic === true) { + pixel.alcoDepri += 1 +} +if (pixel.alcoTime < (pixelTicks - 10000) && pixel.alcoholic === true && Math.random() > 0.999 || pixel.alcoRecover === true) { + pixel.alcoDepri = undefined + pixel.alcoTime = undefined + pixel.alcoholic = false + pixel.alcoRecover = true +} +if (pixel.poisonImmune === true && pixel.poisoned != false) { pixel.poisoned = false } +if ((pixel.poisonImmune === true || pixel.immune === true) && pixel.sick != false) { + pixel.sick = false +} +if ((pixel.temp > 124.55 || pixel.burning) && Math.random() > 0.5) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt +} +if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].isBio === true) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.oxygen > pixel.oxygen) { + hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) + pixel.oxygen += (elements[hitPixel.element].oxygTrans) + } + if (hitPixel.nutrition > pixel.nutrition) { + hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) + pixel.nutrition += (elements[hitPixel.element].nutrTrans) + } + if (hitPixel.speed > pixel.speed) { + hitPixel.speed -= 1 + pixel.speed += 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + } + else if (hitPixel.burning && Math.random() > 0.9) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } +} +if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].isBio === true) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.oxygen > pixel.oxygen) { + hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) + pixel.oxygen += (elements[hitPixel.element].oxygTrans) + } + if (hitPixel.nutrition > pixel.nutrition) { + hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) + pixel.nutrition += (elements[hitPixel.element].nutrTrans) + } + if (hitPixel.speed > pixel.speed) { + hitPixel.speed -= 1 + pixel.speed += 1 + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + } + else if (hitPixel.burning && Math.random() > 0.9) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } +} +if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].isBio === true) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.oxygen > pixel.oxygen) { + hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) + pixel.oxygen += (elements[hitPixel.element].oxygTrans) + } + if (hitPixel.nutrition > pixel.nutrition) { + hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) + pixel.nutrition += (elements[hitPixel.element].nutrTrans) + } + if (hitPixel.speed > pixel.speed) { + hitPixel.speed -= 1 + pixel.speed += 1 + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + } + else if (hitPixel.burning && Math.random() > 0.9) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } +} +if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].isBio === true) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.oxygen > pixel.oxygen) { + hitPixel.oxygen -= (elements[hitPixel.element].oxygTrans) + pixel.oxygen += (elements[hitPixel.element].oxygTrans) + } + if (hitPixel.nutrition > pixel.nutrition) { + hitPixel.nutrition -= (elements[hitPixel.element].nutrTrans) + pixel.nutrition += (elements[hitPixel.element].nutrTrans) + } + if (hitPixel.speed > pixel.speed) { + hitPixel.speed -= 1 + pixel.speed += 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + } + else if (hitPixel.burning && Math.random() > 0.9) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } +} +} + +doBioBlood = function(pixel) { +if (Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) && Math.random() < 0.001) { + for (var i = 0; i < squareCoords.length; i++) { + var coords = squareCoords[i]; + var x = pixel.x + coords[0]; + var y = pixel.y + coords[1]; + if (isEmpty(x,y)) { + createPixel("flesh",x,y); + } + } +} +if ((Math.random() > (elements[pixel.element].ageRate) && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() < (pixel.alcoDepri / 100) && pixel.alcoholic === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.60 && pixel.sick === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 53 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100) ) { + pixel.nutrition -= 0.5 + pixel.oxygen-- +} +if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { + if (pixel.poisoned === true || pixel.sick === true) { + changePixel(pixel,"infection") + } + else { + changePixel(pixel,elements[pixel.element].bleed); + } +} +if (pixel.nutrition === null || isNaN(pixel.nutrition)) { + pixel.nutrition = 500 +} +if (pixel.oxygen === null || isNaN(pixel.oxygen)) { + pixel.oxygen = 500 +} +if (pixel.speed === null || isNaN(pixel.speed)) { + pixel.speed = 0 +} +if ((pixel.alcoDepri || pixel.alcoDepri === 0) && pixel.alcoholic === true) { + pixel.alcoDepri += 1 +} +if (pixel.alcoTime < (pixelTicks - 10000) && pixel.alcoholic === true && Math.random() > 0.999 || pixel.alcoRecover === true) { + pixel.alcoDepri = undefined + pixel.alcoTime = undefined + pixel.alcoholic = false + pixel.alcoRecover = true +} +if (pixel.poisonImmune === true && pixel.poisoned != false) { + pixel.poisoned = false +} +if ((pixel.poisonImmune === true || pixel.immune === true) && pixel.sick != false) { + pixel.sick = false +} +if ((pixel.temp > 124.55 || pixel.burning) && Math.random() > 0.5) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if ((pixel.temp > 150 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt +} +if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].isBio === true) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + if (pixel.poisonImmune === true) { + createPixel("antibody",pixel.x,pixel.y-1) + } + else if (pixel.poisoned === true || pixel.sick === true) { + createPixel("infection",pixel.x,pixel.y-1) + } + else { + createPixel(elements[pixel.element].bleed,pixel.x,pixel.y-1) + } + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + if (pixel.poisonImmune === true) { + createPixel("antibody",pixel.x,pixel.y+1) + } + else if (pixel.poisoned === true || pixel.sick === true) { + createPixel("infection",pixel.x,pixel.y+1) + } + else { + createPixel(elements[pixel.element].bleed,pixel.x,pixel.y+1) + } + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + if (pixel.poisonImmune === true) { + createPixel("antibody",pixel.x-1,pixel.y) + } + else if (pixel.poisoned === true || pixel.sick === true) { + createPixel("infection",pixel.x-1,pixel.y) + } + else { + createPixel(elements[pixel.element].bleed,pixel.x-1,pixel.y) + } + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.75) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.75) { + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + if (pixel.poisonImmune === true) { + createPixel("antibody",pixel.x+1,pixel.y) + } + else if (pixel.poisoned === true || pixel.sick === true) { + createPixel("infection",pixel.x+1,pixel.y) + } + else { + createPixel(elements[pixel.element].bleed,pixel.x+1,pixel.y) + } + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +} + +doBioBone = function(pixel){ +if ((Math.random() > 0.995 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() < (pixel.alcoDepri / 100) && pixel.alcoholic === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.60 && pixel.sick === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 55 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100)) { + pixel.nutrition -= 0.5 + pixel.oxygen-- +} +if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { + if (elements[pixel.element].isMultiDie === true) { + if (pixel.temp > 95) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].heatDie); + } + } + else if (pixel.temp < -15) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].coldDie); + } + } + else { + if (Math.random() < 0.999) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].roomDie); + } + } + } + else if (elements[pixel.element].isMultiDie === false) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].otherDie); + } + } +} +if (pixel.nutrition === null || isNaN(pixel.nutrition)) { + pixel.nutrition = 500 +} +if (pixel.oxygen === null || isNaN(pixel.oxygen)) { + pixel.oxygen = 500 +} +if (pixel.speed === null || isNaN(pixel.speed)) { + pixel.speed = 0 +} +if ((pixel.alcoDepri || pixel.alcoDepri === 0) && pixel.alcoholic === true) { + pixel.alcoDepri += 1 +} +if (pixel.alcoTime < (pixelTicks - 10000) && pixel.alcoholic === true && Math.random() > 0.999 || pixel.alcoRecover === true) { + pixel.alcoDepri = undefined + pixel.alcoTime = undefined + pixel.alcoholic = false + pixel.alcoRecover = true +} +if (pixel.poisonImmune === true && pixel.poisoned != false) { + pixel.poisoned = false +} +if ((pixel.poisonImmune === true || pixel.immune === true) && pixel.sick != false) { + pixel.sick = false +} +if ((pixel.temp > 124.55 || pixel.burning) && Math.random() > 0.5) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { if (!pixel.burnt) { pixel.burnt = 1 } else { pixel.burnt ++ } @@ -771,11 +983,30 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) { hitPixel.speed += 1 pixel.speed -= 1 } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.85) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.65) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.85) { hitPixel.poisoned = true } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.85) { - hitPixel.poisoned = false + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.65) { hitPixel.immune = true } if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { @@ -801,11 +1032,30 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) { hitPixel.speed += 1 pixel.speed -= 1 } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.85) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.65) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.85) { hitPixel.poisoned = true } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.85) { - hitPixel.poisoned = false + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.65) { hitPixel.immune = true } if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { @@ -831,11 +1081,30 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) { hitPixel.speed += 1 pixel.speed -= 1 } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.85) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.65) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.85) { hitPixel.poisoned = true } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.85) { - hitPixel.poisoned = false + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.65) { hitPixel.immune = true } if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { @@ -861,11 +1130,30 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) { hitPixel.speed += 1 pixel.speed -= 1 } - if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.95) { + if (hitPixel.alcoholic !== true && pixel.alcoholic === true && Math.random() > 0.85) { + hitPixel.alcoholic = true + hitPixel.alcoTime = pixel.alcoTime + hitPixel.alcoDepri = 0 + } + if (hitPixel.alcoDepri > pixel.alcoDepri && pixel.alcoDepri) { + hitPixel.alcoDepri = pixel.alcoDepri + } + if (hitPixel.alcoTime < pixel.alcoTime && pixel.alcoTime) { + hitPixel.alcoTime = pixel.alcoTime + } + if (hitPixel.alcoRecover !== true && pixel.alcoRecover) { + hitPixel.alcoRecover = true + } + if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.85) { + hitPixel.sick = true + } + if (hitPixel.poisonImmune != true && pixel.poisonImmune == true && Math.random() > 0.65) { + hitPixel.poisonImmune = true + } + if (hitPixel.poisoned != true && pixel.poisoned == true && Math.random() > 0.85) { hitPixel.poisoned = true } - if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.85) { - hitPixel.poisoned = false + if (hitPixel.immune != true && pixel.immune == true && Math.random() > 0.65) { hitPixel.immune = true } if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && Math.random() > 0.8) { @@ -955,7 +1243,7 @@ elements.epidermis = { } } } - if (pixel.temp < 31 && Math.random() < 0.1) { + if (pixel.temp < 36 && Math.random() < 0.1) { pixel.temp += 1; } doBioNorm(pixel); @@ -1082,7 +1370,7 @@ elements.cloak_skin = { } } } - if (pixel.temp < 31 && Math.random() < 0.1) { + if (pixel.temp < 36 && Math.random() < 0.1) { pixel.temp += 1; } if (!isEmpty(pixel.x, pixel.y-1, true)) { @@ -1578,7 +1866,7 @@ elements.hairy_skin = { } } } - if (pixel.temp < 31 && Math.random() < 0.1) { + if (pixel.temp < 36 && Math.random() < 0.1) { pixel.temp += 1; } doDefaults(pixel); @@ -2498,8 +2786,8 @@ elements.blood_vessel = { "antibody": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { pixel1.immune = true; } }, chance:0.0025 }, - "antidote": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { - pixel1.immune = true; + "antidote": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisonImmune != true) { + pixel1.poisonImmune = true; } }, chance:0.02 }, "poison": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { pixel1.poisoned = true; @@ -2543,6 +2831,9 @@ elements.infected_vessel = { }, tick: function(pixel) { doBioBlood(pixel); + if (Math.random() > 0.995 && pixel.sick != true) { + pixel.sick = true + } if (Math.random() > 0.95 && pixel.immune === true) { pixel.element = "blood_vessel" pixel.color = elements.blood_vessel.color @@ -2554,7 +2845,6 @@ elements.infected_vessel = { speed: 0, poisoned: false, immune: false, - heartAttached: false, }, reactions: { @@ -2607,6 +2897,12 @@ elements.white_blood_cell = { hitPixel.element = "blood_vessel" hitPixel.color = elements.blood_vessel.color } + if (hitPixel.sick === true && (Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) || Math.random() > 0.995)) { + hitPixel.sick = false + if (Math.random() > 0.995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + pixel.immune = true + } + } } } if (!isEmpty(pixel.x, pixel.y+1, true)) { @@ -2617,6 +2913,12 @@ elements.white_blood_cell = { hitPixel.color = elements.blood_vessel.color } } + if (hitPixel.sick === true && (Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) || Math.random() > 0.995)) { + hitPixel.sick = false + if (Math.random() > 0.995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + pixel.immune = true + } + } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] @@ -2626,6 +2928,12 @@ elements.white_blood_cell = { hitPixel.color = elements.blood_vessel.color } } + if (hitPixel.sick === true && (Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) || Math.random() > 0.995)) { + hitPixel.sick = false + if (Math.random() > 0.995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + pixel.immune = true + } + } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] @@ -2635,6 +2943,12 @@ elements.white_blood_cell = { hitPixel.color = elements.blood_vessel.color } } + if (hitPixel.sick === true && (Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) || Math.random() > 0.995)) { + hitPixel.sick = false + if (Math.random() > 0.995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + pixel.immune = true + } + } } }, properties: { @@ -2656,8 +2970,8 @@ elements.white_blood_cell = { "antibody": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { pixel1.immune = true; } }, chance:0.0025 }, - "antidote": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { - pixel1.immune = true; + "antidote": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisonImmune != true) { + pixel1.poisonImmune = true; } }, chance:0.02 }, "poison": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { pixel1.poisoned = true; @@ -3114,34 +3428,63 @@ elements.brain = { if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] doElectricity(hitPixel); - if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { pixel.chargeCD = 16 hitPixel.charge = 0.5 } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] doElectricity(hitPixel); - if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (elements[hitPixel.element].id === elements.nerve.id && pixel.feel == true && Math.random() > 0.75) { // electrical signals do this 01101001001000000110011001100101011001010110110000101110001000000110100100100000011000010110110100100000011000010110110001101001011101100110010100101110001000000110100001100101011011000111000000100000011011010110010100101110 + if (!pixel.stage || pixel.stage > 224) { + pixel.stage = 1 + } + else if (pixel.stage) { + pixel.stage += 0.25 + } + pixel.digitToCheck = (Math.floor(pixel.stage)) + pixel.number = "01101001001000000110011001100101011001010110110000101110001000000110100100100000011000010110110100100000011000010110110001101001011101100110010100101110001000000110100001100101011011000111000000100000011011010110010100101110" + pixel.sentientCheck = pixel.number.toString()[pixel.digitToCheck] === "1" + if (pixel.sentientCheck === true /* (pixel.stage === 1 || pixel.stage === 2 || pixel.stage === 4 || pixel.stage === 7 || pixel.stage === 10 || pixel.stage === 17 || pixel.stage === 18 || pixel.stage === 21 || pixel.stage === 22 || pixel.stage === 25 || pixel.stage === 26 || pixel.stage === 29 || pixel.stage === 31 || pixel.stage === 33 || pixel.stage === 34 || pixel.stage === 37 || pixel.stage === 39 || pixel.stage === 41 || pixel.stage === 42 || pixel.stage === 44 || pixel.stage === 45 || pixel.stage === 50 || pixel.stage === 52 || pixel.stage === 53 || pixel.stage === 54) */ ) { + hitPixel.lightcharge = true + } + if (pixel.sentientCheck !== true) { + hitPixel.darkcharge = true + } + } + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { pixel.chargeCD = 16 hitPixel.charge = 0.5 } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] doElectricity(hitPixel); - if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { pixel.chargeCD = 16 hitPixel.charge = 0.5 } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] doElectricity(hitPixel); - if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { pixel.chargeCD = 16 hitPixel.charge = 0.5 } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } } if (pixel.charge) { pixel.charge = 0; @@ -3177,7 +3520,7 @@ elements.brain = { movable: false, } -elements.amygdala = { // functionality coming soon! +elements.amygdala = { color: ["#B33E93","#B33E93","#f5ced5","#e87b8f"], category: "nervous system", behavior: behaviors.WALL, @@ -3194,6 +3537,30 @@ elements.amygdala = { // functionality coming soon! tick: function(pixel) { doDefaults(pixel); doBioNorm(pixel); + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].id === elements.brain.id && Math.random() > 0.75 && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].id === elements.brain.id && Math.random() > 0.75 && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].id === elements.brain.id && Math.random() > 0.75 && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].id === elements.brain.id && Math.random() > 0.75 && hitPixel.feel != true) { + hitPixel.feel = true + } + } if (pixel.charge) { pixel.charge = 0; pixel.chargeCD = 16; @@ -3227,7 +3594,7 @@ elements.amygdala = { // functionality coming soon! renderer: renderPresets.FLESHBURN, movable: false, hidde: true, - desc: "No unique functionality right now, will have it soon though!" + desc: "Makes brains sentient. Don't question it." } elements.hypothalamus = { @@ -3247,8 +3614,52 @@ elements.hypothalamus = { tick: function(pixel) { doDefaults(pixel); doBioNorm(pixel); - if (pixel.temp > 35) { pixel.temp -= 10; } - else if (pixel.temp < 15) { pixel.temp += 10; } + if (pixel.temp > 42) { pixel.temp -= 5; } + else if (pixel.temp < 32) { pixel.temp += 5; } + if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + doElectricity(hitPixel); + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { + pixel.chargeCD = 16 + hitPixel.charge = 0.5 + } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + doElectricity(hitPixel); + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { + pixel.chargeCD = 16 + hitPixel.charge = 0.5 + } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { + pixel.chargeCD = 16 + hitPixel.charge = 0.5 + } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } + } + if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + doElectricity(hitPixel); + if (elements[hitPixel.element].id === elements.nerve.id && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed - pixel.alcoDepri) / 2050))) { + pixel.chargeCD = 16 + hitPixel.charge = 0.5 + } + if ((elements[hitPixel.element].id === elements.brain.id || elements[hitPixel.element].id === elements.hypothalamus.id) && Math.random() > 0.75 && pixel.feel === true && hitPixel.feel != true) { + hitPixel.feel = true + } + } if (pixel.charge) { pixel.charge = 0; pixel.chargeCD = 16; @@ -3281,13 +3692,12 @@ elements.hypothalamus = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, - desc: "Brain temperature regulation!" + desc: "Regulates brain temperature." } elements.nerve = { color: "#B33E93", category: "nervous system", - behavior: behaviors.WALL, nutrTrans: 20, oxygTrans: 25, isMultiDie: true, @@ -3295,16 +3705,58 @@ elements.nerve = { roomDie: "rotten_meat", coldDie: "frozen_meat", heatDie: "cooked_meat", + conduct: 1, hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { doDefaults(pixel); doBioNorm(pixel); + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].id === elements.nerve.id && pixel.darkcharge === true && pixel.darkchargeCD !== true) { + pixel.darkcharge = false + pixel.darkchargeCD = true + hitPixel.darkcharge = true + pixel.darktransmit = true + } + } + if (isEmpty(pixel.x, pixel.y+1) || elements[pixelMap[pixel.x][pixel.y+1].element].id != elements.nerve.id) { + if (pixel.darkcharge === true) { + pixel.darkcharge = false + pixel.darkchargeCD = true + } + } + if (pixel.darkchargeCD === true && pixel.darktransmit !== true) { + pixel.darkchargeCD = false + } + if (pixel.darktransmit === true) { + pixel.darktransmit = false + } + if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].id === elements.nerve.id && pixel.lightcharge === true && pixel.lightchargeCD !== true) { + pixel.lightcharge = false + pixel.lightchargeCD = true + hitPixel.lightcharge = true + pixel.lighttransmit = true + } + } + if (isEmpty(pixel.x, pixel.y+1) || elements[pixelMap[pixel.x][pixel.y+1].element].id != elements.nerve.id) { + if (pixel.lightcharge === true) { + pixel.lightcharge = false + pixel.lightchargeCD = true + } + } + if (pixel.lightchargeCD === true && pixel.lighttransmit !== true) { + pixel.lightchargeCD = false + } + if (pixel.lighttransmit === true) { + pixel.lighttransmit = false + } }, density: 2710, state: "solid", - conduct: 1, tempHigh: 200, stateHigh: "cooked_meat", tempLow: -25, @@ -3327,7 +3779,7 @@ elements.nerve = { }, isBio: true, - renderer: renderPresets.FLESHBURN, + renderer: renderPresets.NERVE, movable: false, desc: "Basically a biowire, try connecting it to a brain!" } @@ -3336,9 +3788,9 @@ elements.throat_lining = { color: "#bc6157", category: "nutrition", behavior: [ - "MX%5|DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5 AND MX%5|MX%5", - "MX%7.5 AND DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5|XX|MX%7.5 AND DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5", - "XX|DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5|XX", + "MX%5|DL:stomach_acid,explosive_acid,carni_acid,herbi_acid%5 AND MX%5|MX%5", + "MX%7.5 AND DL:stomach_acid,explosive_acid,carni_acid,herbi_acid%5|XX|MX%7.5 AND DL:stomach_acid,explosive_acid,carni_acid,herbi_acid%5", + "XX|DL:stomach_acid,explosive_acid,carni_acid,herbi_acid%5|XX", ], nutrTrans: 20, oxygTrans: 25, @@ -3413,31 +3865,74 @@ elements.intestines = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } } if (!isEmpty(pixel.x, pixel.y+1, true)) { @@ -3449,31 +3944,79 @@ elements.intestines = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } } if (!isEmpty(pixel.x-1, pixel.y, true)) { @@ -3485,17 +4028,41 @@ elements.intestines = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); @@ -3503,11 +4070,35 @@ elements.intestines = { hitPixel.nutrition = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } } if (!isEmpty(pixel.x+1, pixel.y, true)) { @@ -3519,31 +4110,79 @@ elements.intestines = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true - }; + } if (hitPixel.immune === true && Math.random() > 0.5) { - pixel.poisoned = false + pixel.sick = false pixel.immune = true - }; + } + if (hitPixel.sick === true && Math.random() > 0.95) { + pixel.sick = true + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + if (pixel.alcoDepri) { + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + } + if (hitPixel.alcoholic === true && Math.random() > 0.95) { + pixel.alcoholic = true + pixel.alcoTime = pixelTicks + pixel.alcoDepri = 0 + } + if (hitPixel.poisonImmune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.sick = false + pixel.poisonImmune = true + } } } }, @@ -3610,9 +4249,9 @@ elements.appendix = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3624,9 +4263,9 @@ elements.appendix = { } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3646,9 +4285,9 @@ elements.appendix = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3660,9 +4299,9 @@ elements.appendix = { } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3682,9 +4321,9 @@ elements.appendix = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3716,9 +4355,9 @@ elements.appendix = { else { changePixel(hitPixel,"stench"); } - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -3730,9 +4369,9 @@ elements.appendix = { } else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { changePixel(hitPixel,"stench"); - pixel.nutrition += hitPixel.nutrition; + pixel.nutrition += (hitPixel.nutrition * 10); hitPixel.nutrition = 0; - pixel.speed += hitPixel.speed; + pixel.speed += (hitPixel.speed * 2); hitPixel.speed = 0; if (hitPixel.poisoned === true && Math.random() > 0.9) { pixel.poisoned = true @@ -4466,57 +5105,6 @@ elements.stomach_lining = { desc: "Makes stomach acid to digest foods!" } -elements.decomposer_stomach = { - color: "#A4593F", - category: "nutrition", - behavior: [ - "XX|CR:decomposer_acid%5|XX", - "CR:decomposer_acid%5|XX|CR:decomposer_acid%5", - "XX|CR:decomposer_acid%5|XX", - ], - nutrTrans: 20, - oxygTrans: 25, - isMultiDie: true, - normDie: "meat", - roomDie: "rotten_meat", - coldDie: "frozen_meat", - heatDie: "cooked_meat", - hoverStat: function(pixel) { - return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen - }, - tick: function(pixel) { - doDefaults(pixel); - doBioNorm(pixel); - }, - density: 2710, - state: "solid", - conduct: .001, - tempHigh: 200, - stateHigh: "cooked_meat", - tempLow: -25, - stateLow: "frozen_meat", - burn: 5, - burnTime: 350, - burnInto: "cooked_meat", - breakInto: ["blood","meat"], - forceSaveColor: true, - reactions: { - "cancer": { elem1:"cancer", chance:0.0005 }, - "radiation": { elem1:["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }, - }, - properties: { - oxygen: 1000, - nutrition: 1000, - speed: 0, - poisoned: false, - immune: false, - - }, - movable: false, - isBio: true, - renderer: renderPresets.FLESHBURN, -} - elements.herbi_stomach = { color: "#B77A3D", category: "nutrition", @@ -4566,6 +5154,7 @@ elements.herbi_stomach = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Makes a different stomach acid to digest plants!" } elements.carni_stomach = { @@ -4617,6 +5206,7 @@ elements.carni_stomach = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Makes a different stomach acid to digest meat!" } elements.explosive_stomach = { @@ -4668,6 +5258,7 @@ elements.explosive_stomach = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Makes an efficient yet explosive stomach acid to digest foods!" } elements.stomach_valve = { @@ -4732,6 +5323,7 @@ elements.stomach_valve = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Blocks acid, lets other things through!" } elements.sphincter = { @@ -4758,7 +5350,7 @@ elements.sphincter = { } } else { - if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.995) { + if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.995 && elements[hitPixel.element].id !== elements.digested_material.id && elements[hitPixel.element].id !== elements.gaseous_material.id) { tryMove(hitPixel,pixel.x,pixel.y+1); } } @@ -4791,6 +5383,7 @@ elements.sphincter = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Blocks undigested material, lets other things through!" } elements.real_udder = { @@ -4869,6 +5462,7 @@ elements.real_udder = { movable: false, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Turns nutrition into milk!" } elements.biotorch = { @@ -4994,14 +5588,15 @@ elements.biotorch = { conduct: .001, movable: false, isBio: true, + desc: "Turns its oxygen into fire, and works as a heat shield!" } elements.digested_material = { color: "#B5C306", behavior: [ "XX|XX|XX", - "SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%5|XX|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%5", - "SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%75|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%10 AND M1|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%75", + "SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%5|XX|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%5", + "SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%75|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%10 AND M1|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%75", ], properties: { nutrition: 100, @@ -5014,8 +5609,8 @@ elements.digested_material = { stain: 0.001, darkText: true, hidden: true, - tempHigh: 90, - stateHigh: "dirty_water", + tempHigh: 95, + stateHigh: ["dirty_water","dirty_water","excrement"], tempLow: -30, stateLow: "dirty_ice", } @@ -5024,8 +5619,8 @@ elements.gaseous_material = { color: "#B5C306", behavior: [ "XX|XX|XX", - "SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%35|XX|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%35", - "SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%50|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%10 AND M1|SW:stomach_acid,decomposer_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%50", + "SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%35|XX|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%3 AND M2%35", + "SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%50|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%10 AND M1|SW:stomach_acid,herbi_acid,carni_acid,explosive_acid%5 AND M2%50", ], properties: { nutrition: 100, @@ -5037,8 +5632,8 @@ elements.gaseous_material = { stain: 0.001, darkText: true, hidden: true, - tempHigh: 95, - stateHigh: "dirty_water", + tempHigh: 90, + stateHigh: ["dirty_water","dirty_water","excrement"], tempLow: -35, stateLow: "dirty_ice", } @@ -5120,13 +5715,13 @@ elements.stomach_acid = { color: ["#b5cf91","#288f2a"], behavior: [ "ADB%5|ADB%5|ADB%5", - "ADB%10 AND M2|DL%0.03|ADB%10 AND M2", + "ADB%10 AND M2|XX|ADB%10 AND M2", "ADB%10 AND M2|ADB%15 AND M1|ADB%10 AND M2", ], ignore: ["amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","throat_lining","explosive_stomach","stomach_lining","stomach_valve","slime","gaseous_material","digested_material","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","earthquake","tornado","tsunami","liquid_light","sensor"], reactions: { - "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10}, chance:0.5 }, - "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, + "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10, "poisonImmune":true}, chance:0.5 }, + "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1, "sick":true}, chance:0.02 }, "water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0, "speed":2}, chance:0.02 }, "salt_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "sugar_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":10, "speed":-1}, chance:0.02 }, @@ -5137,9 +5732,10 @@ elements.stomach_acid = { "meat": { elem2:"digested_material", attr2:{"nutrition":30, "speed":-1}, chance:0.02 }, "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, - "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, + "rotten_meat": { elem2:["digested_material","digested_material","ammonia"], attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 }, "cured_meat": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, + "rotten_cheese": { elem2:["digested_material"], attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "lettuce": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, "herb": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, @@ -5161,10 +5757,10 @@ elements.stomach_acid = { "flea": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "fly": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "firefly": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-5, "poisoned":true}, chance:0.02 }, - "stinkbug": { elem2:"gaseous_material", attr2:{"nutrition":4, "speed":-5}, chance:0.02 }, + "stinkbug": { elem2:"gaseous_material", attr2:{"nutrition":4, "speed":-5, "sick":true}, chance:0.02 }, "bee": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "spider": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, - "rat": { elem2:"digested_material", attr2:{"nutrition":-10, "speed":-5, "poisoned":true}, chance:0.01 }, + "rat": { elem2:"digested_material", attr2:{"nutrition":-10, "speed":-5, "sick":true}, chance:0.01 }, "bird": { elem2:"digested_material", attr2:{"nutrition":-10, "speed":-1}, chance:0.01 }, "fish": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.01 }, "head": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-2}, chance:0.01 }, @@ -5180,12 +5776,14 @@ elements.stomach_acid = { "bleach": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-10, "poisoned":true}, chance:0.02 }, "poison": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-10, "poisoned":true}, chance:0.02 }, "cyanide": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-10, "poisoned":true}, chance:0.02 }, + "poison_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-10, "poisoned":true}, chance:0.02 }, + "cyanide_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-10, "poisoned":true}, chance:0.02 }, "soap": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-10}, chance:0.02 }, "mercury": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-10, "poisoned":true}, chance:0.02 }, "chlorine": { elem2:"gaseous_material", attr2:{"nutrition":-500, "speed":-10, "poisoned":true}, chance:0.02 }, - "pool_water": { elem2:"digested_material", attr2:{"nutrition":-400, "speed":-10}, chance:0.02 }, - "vaccine": { elem2:"digested_material", attr2:{"nutrition":1, "speed":-1, "immune":true}, chance:0.02 }, - "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "immune":true}, chance:0.02 }, + "pool_water": { elem2:"digested_material", attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, + "vaccine": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":1, "immune":true}, chance:0.02 }, + "antidote": { elem2:"digested_material", attr2:{"nutrition":1, "speed":1, "poisonImmune":true}, chance:0.02 }, "coffee": { elem2:"digested_material", attr2:{"nutrition":20, "speed":10}, chance:0.02 }, "tomato": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, "grape": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, @@ -5214,15 +5812,15 @@ elements.stomach_acid = { "coffee_bean": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":20}, chance:0.02 }, "coffee_ground": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":15}, chance:0.02 }, "yeast": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, - "alcohol": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-15}, chance:0.02 }, + "alcohol": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-5, "alcoholic": true}, chance:0.02 }, "honey": { elem2:"digested_material", attr2:{"nutrition":35, "speed":3}, chance:0.02 }, "blood": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, - "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, - "urine": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, + "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, + "urine": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "tea": { elem2:"digested_material", attr2:{"nutrition":10, "speed":10}, chance:0.02 }, - "infection": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-5}, chance:0.02 }, - "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15}, chance:0.02 }, - "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, + "infection": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-5, "sick":true}, chance:0.02 }, + "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15, "sick":true}, chance:0.02 }, + "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, }, category: "nutrition", @@ -5241,13 +5839,13 @@ elements.herbi_acid = { color: ["#A8E54F","#5BC217"], behavior: [ "XX|ADB%5|XX", - "ADB%5 AND M2|DL%0.03|ADB%5 AND M2", + "ADB%5 AND M2|XX|ADB%5 AND M2", "ADB%5 AND M2|ADB%5 AND M1|ADB%5 AND M2", ], ignore: ["amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","throat_lining","explosive_stomach","herbi_stomach","carni_stomach","stomach_lining","stomach_valve","slime","gaseous_material","digested_material","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","earthquake","tornado","tsunami","liquid_light","sensor"], reactions: { - "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10}, chance:0.5 }, - "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-3}, chance:0.02 }, + "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10, "poisonImmune":true}, chance:0.5 }, + "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-3, "sick":true}, chance:0.02 }, "water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0, "speed":5}, chance:0.02 }, "salt_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "sugar_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":10, "speed":1}, chance:0.02 }, @@ -5259,9 +5857,10 @@ elements.herbi_acid = { "meat": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-1}, chance:0.02 }, "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":1}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-25, "speed":-20}, chance:0.02 }, + "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-25, "speed":-20, "sick":true}, chance:0.02 }, "cured_meat": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, + "rotten_cheese": { elem2:["digested_material"], attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "vine": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, "grass": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, @@ -5290,7 +5889,7 @@ elements.herbi_acid = { "stinkbug": { elem2:"gaseous_material", attr2:{"nutrition":-11, "speed":-5}, chance:0.02 }, "bee": { elem2:"gaseous_material", attr2:{"nutrition":-9}, chance:0.02 }, "spider": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-1}, chance:0.02 }, - "rat": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-5}, chance:0.02 }, + "rat": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-5, "sick":true}, chance:0.02 }, "bird": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-1}, chance:0.02 }, "fish": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-1}, chance:0.02 }, "head": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-2}, chance:0.02 }, @@ -5306,12 +5905,14 @@ elements.herbi_acid = { "bleach": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, "poison": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, "cyanide": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, + "poison_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, + "cyanide_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, "soap": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-10}, chance:0.02 }, "mercury": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, "chlorine": { elem2:"gaseous_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, - "pool_water": { elem2:"digested_material", attr2:{"nutrition":-400, "speed":-20}, chance:0.02 }, + "pool_water": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-20}, chance:0.02 }, "vaccine": { elem2:"digested_material", attr2:{"nutrition":1, "speed":-1, "immune":true}, chance:0.02 }, - "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "immune":true}, chance:0.02 }, + "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "poisonImmune":true}, chance:0.02 }, "coffee": { elem2:"digested_material", attr2:{"nutrition":20, "speed":10}, chance:0.02 }, "tomato": { elem2:"digested_material", attr2:{"nutrition":55}, chance:0.02 }, "grape": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, @@ -5340,16 +5941,16 @@ elements.herbi_acid = { "coffee_bean": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":20}, chance:0.02 }, "coffee_ground": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":15}, chance:0.02 }, "yeast": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "alcohol": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-15}, chance:0.02 }, + "alcohol": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-15, "alcoholic": true}, chance:0.02 }, "honey": { elem2:"digested_material", attr2:{"nutrition":35, "speed":3}, chance:0.02 }, "blood": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, - "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, - "urine": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, + "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, + "urine": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, "tea": { elem2:"digested_material", attr2:{"nutrition":10, "speed":10}, chance:0.02 }, - "infection": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-5}, chance:0.02 }, - "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-25, "speed":-15}, chance:0.02 }, - "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, - "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, + "infection": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-5, "sick":true}, chance:0.02 }, + "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-25, "speed":-15, "sick":true}, chance:0.02 }, + "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, + "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 }, }, category: "nutrition", tempHigh: 110, @@ -5367,13 +5968,13 @@ elements.carni_acid = { color: ["#ADA469","#5B6517"], behavior: [ "XX|ADB%5|XX", - "ADB%5 AND M2|DL%0.005|ADB%5 AND M2", + "ADB%5 AND M2|XX|ADB%5 AND M2", "ADB%5 AND M2|ADB%5 AND M1|ADB%5 AND M2", ], ignore: ["amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","throat_lining","explosive_stomach","stomach_lining","carni_stomach","stomach_valve","slime","gaseous_material","digested_material","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","earthquake","tornado","tsunami","liquid_light","sensor"], reactions: { - "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10}, chance:0.5 }, - "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-2}, chance:0.02 }, + "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10, "poisonImmune":true}, chance:0.5 }, + "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5, "speed":-2, "sick":true}, chance:0.02 }, "water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0, "speed":5}, chance:0.02 }, "salt_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "sugar_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":10, "speed":1}, chance:0.02 }, @@ -5385,9 +5986,10 @@ elements.carni_acid = { "meat": { elem2:"digested_material", attr2:{"nutrition":70, "speed":5}, chance:0.02 }, "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":60, "speed":4}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":50, "speed":6}, chance:0.02 }, - "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":5, "speed":-5}, chance:0.02 }, + "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":5, "speed":-5, "sick":true}, chance:0.02 }, "cured_meat": { elem2:"digested_material", attr2:{"nutrition":50, "speed":-1}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":35, "speed":-1}, chance:0.02 }, + "rotten_cheese": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-20, "speed":-5, "sick":true}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35, "speed":-1}, chance:0.02 }, "lettuce": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, "herb": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, @@ -5408,7 +6010,7 @@ elements.carni_acid = { "ant": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, "bee": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, "spider": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "rat": { elem2:"digested_material", attr2:{"nutrition":15, "speed":-5}, chance:0.02 }, + "rat": { elem2:"digested_material", attr2:{"nutrition":15, "speed":-5, "sick":true}, chance:0.02 }, "bird": { elem2:"digested_material", attr2:{"nutrition":15, "speed":1}, chance:0.02 }, "fish": { elem2:"digested_material", attr2:{"nutrition":15, "speed":1}, chance:0.02 }, "head": { elem2:"digested_material", attr2:{"nutrition":15, "speed":2}, chance:0.02 }, @@ -5416,7 +6018,7 @@ elements.carni_acid = { "flea": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "fly": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, "firefly": { elem2:"gaseous_material", attr2:{"nutrition":4, "speed":-5, "poisoned":true}, chance:0.02 }, - "stinkbug": { elem2:"gaseous_material", attr2:{"nutrition":4, "speed":-5}, chance:0.02 }, + "stinkbug": { elem2:"gaseous_material", attr2:{"nutrition":4, "speed":-5, "sick":true}, chance:0.02 }, "egg": { elem2:"digested_material", attr2:{"nutrition":25, "speed":1}, chance:0.02 }, "soda": { elem2:"digested_material", attr2:{"nutrition":10, "speed":-1}, chance:0.02 }, "sap": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-1}, chance:0.02 }, @@ -5428,12 +6030,14 @@ elements.carni_acid = { "bleach": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, "poison": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, "cyanide": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, + "poison_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, + "cyanide_gas": { elem2:"gaseous_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, "soap": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-15}, chance:0.02 }, "mercury": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, "chlorine": { elem2:"gaseous_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, "pool_water": { elem2:"digested_material", attr2:{"nutrition":-400, "speed":-15}, chance:0.02 }, "vaccine": { elem2:"digested_material", attr2:{"nutrition":1, "speed":-1, "immune":true}, chance:0.02 }, - "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "immune":true}, chance:0.02 }, + "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "poisonImmune":true}, chance:0.02 }, "coffee": { elem2:"digested_material", attr2:{"nutrition":10, "speed":5}, chance:0.02 }, "tomato": { elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, "grape": { elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, @@ -5461,16 +6065,16 @@ elements.carni_acid = { "slush": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1}, chance:0.02 }, "coffee_bean": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":15}, chance:0.02 }, "yeast": { elem2:"gaseous_material", attr2:{"nutrition":-10}, chance:0.02 }, - "alcohol": { elem2:"digested_material", attr2:{"nutrition":"-15", "speed":-15}, chance:0.02 }, + "alcohol": { elem2:"digested_material", attr2:{"nutrition":-15, "speed":-15, "alcoholic": true}, chance:0.02 }, "honey": { elem2:"digested_material", attr2:{"nutrition":35, "speed":5}, chance:0.02 }, "blood": { elem2:"digested_material", attr2:{"nutrition":15, "speed":3}, chance:0.02 }, - "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-5}, chance:0.02 }, + "excrement": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-5, "sick":true}, chance:0.02 }, "urine": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, "tea": { elem2:"digested_material", attr2:{"nutrition":5, "speed":10}, chance:0.02 }, - "infection": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "cancer": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-5}, chance:0.02 }, - "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10}, chance:0.02 }, - "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-15}, chance:0.02 }, + "infection": { elem2:"digested_material", attr2:{"nutrition":-5, "sick":true}, chance:0.02 }, + "cancer": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-5, "sick":true}, chance:0.02 }, + "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 }, + "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-15, "sick":true}, chance:0.02 }, }, category: "nutrition", tempHigh: 110, @@ -5488,13 +6092,13 @@ elements.explosive_acid = { color: ["#E9DC8C","#D0C15A"], behavior: [ "XX|ADB%5|XX", - "ADB%5 AND M2|DL%0.005|ADB%5 AND M2", + "ADB%5 AND M2|XX|ADB%5 AND M2", "ADB%5 AND M2|ADB%5 AND M1|ADB%5 AND M2", ], ignore: ["amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","throat_lining","stomach_lining","explosive_stomach","stomach_valve","slime","gaseous_material","digested_material","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","earthquake","tornado","tsunami","liquid_light","sensor"], reactions: { - "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10}, chance:0.5 }, - "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, + "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10, "poisonImmune":true}, chance:0.5 }, + "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0}, chance:0.02 }, "water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0, "speed":10}, chance:0.02 }, "salt_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "sugar_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, @@ -5548,12 +6152,14 @@ elements.explosive_acid = { "bleach": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "poison": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, "cyanide": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, + "poison_gas": { elem2:"gaseous_material", attr2:{"nutrition":10}, chance:0.02 }, + "cyanide_gas": { elem2:"gaseous_material", attr2:{"nutrition":10}, chance:0.02 }, "soap": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "mercury": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "chlorine": { elem2:"gaseous_material", attr2:{"nutrition":5}, chance:0.02 }, "pool_water": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, "vaccine": { elem2:"digested_material", attr2:{"nutrition":1, "speed":-1, "immune":true}, chance:0.02 }, - "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "immune":true}, chance:0.02 }, + "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "poisonImmune":true}, chance:0.02 }, "coffee": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, "tomato": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, "grape": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, @@ -5582,7 +6188,7 @@ elements.explosive_acid = { "slush": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "coffee_bean": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "yeast": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "alcohol": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, + "alcohol": { elem2:"digested_material", attr2:{"nutrition":5, "alcoholic": true}, chance:0.02 }, "honey": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "blood": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, "excrement": { elem2:"gaseous_material", attr2:{"nutrition":5}, chance:0.02 }, @@ -5607,118 +6213,6 @@ elements.explosive_acid = { isAcid: true, } -elements.decomposer_acid = { - color: ["#847C35","#6F7326"], - behavior: [ - "XX|ADB%5|XX", - "ADB%5 AND M2|DL%0.005|ADB%5 AND M2", - "ADB%5 AND M2|ADB%5 AND M1|ADB%5 AND M2", - ], - ignore: ["amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","decomposer_stomach","throat_lining","explosive_stomach","herbi_stomach","carni_stomach","stomach_lining","stomach_valve","slime","gaseous_material","digested_material","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","earthquake","tornado","tsunami","liquid_light","sensor"], - reactions: { - "bless": { elem1:null, elem2:["gaseous_material",null,null,null,null,null,null,null,null,null,null], attr2:{"nutrition":100, "speed":10}, chance:0.5 }, - "dirty_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":0, "speed":5}, chance:0.02 }, - "salt_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "sugar_water": { elem1:null, elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "plant": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02}, - "tree_branch": { elem1:null, elem2:"wood", attr2:{"nutrition":30}, chance:0.02 }, - "sugar": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "molasses": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, - "dead_plant": { elem2:"digested_material", attr2:{"nutrition":90, "speed":5}, chance:0.02 }, - "meat": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, - "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, - "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":55, "speed":5}, chance:0.02 }, - "cured_meat": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "cheese": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, - "vine": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "grass": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "kelp": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "algae": { elem2:"digested_material", attr2:{"nutrition":60, "speed":5}, chance:0.02 }, - "lettuce": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, - "herb": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, - "toast": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, - "bread": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "hard_yolk": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "yolk": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "milk": { elem2:"digested_material", attr2:{"nutrition":55}, chance:0.02 }, - "crumb": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "pickle": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "salt": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "worm": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "ant": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "bee": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "spider": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "egg": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "soda": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "sap": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "juice": { elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, - "mayo": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "nut_butter": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "ketchup": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "jelly": { elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, - "bleach": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, - "poison": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, - "cyanide": { elem2:"digested_material", attr2:{"nutrition":-750, "speed":-20, "poisoned":true}, chance:0.02 }, - "soap": { elem2:"digested_material", attr2:{"nutrition":-20, "speed":-15}, chance:0.02 }, - "mercury": { elem2:"digested_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, - "chlorine": { elem2:"gaseous_material", attr2:{"nutrition":-500, "speed":-20, "poisoned":true}, chance:0.02 }, - "pool_water": { elem2:"digested_material", attr2:{"nutrition":-400, "speed":-15}, chance:0.02 }, - "vaccine": { elem2:"digested_material", attr2:{"nutrition":1, "speed":-1, "immune":true}, chance:0.02 }, - "antidote": { elem2:"digested_material", attr2:{"nutrition":-1, "speed":1, "immune":true}, chance:0.02 }, - "coffee": { elem2:"digested_material", attr2:{"nutrition":20, "speed":10}, chance:0.02 }, - "tomato": { elem2:"digested_material", attr2:{"nutrition":55}, chance:0.02 }, - "grape": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, - "beans": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, - "sauce": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, - "butter": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "melted_cheese": { elem2:"digested_material", attr2:{"nutrition":15}, chance:0.02 }, - "melted_chocolate": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "melted_butter": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "chocolate": { elem2:"digested_material", attr2:{"nutrition":30, "speed":1}, chance:0.02 }, - "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, - "chocolate_powder": { elem2:"digested_material", attr2:{"nutrition":35, "speed":1}, chance:0.02 }, - "rice": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, - "dough": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "batter": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 }, - "baked_batter": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "gingerbread": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "ice_cream": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, - "cream": { elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, - "caramel": { elem2:"digested_material", attr2:{"nutrition":10}, chance:0.02 }, - "potato": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "baked_potato": { elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, - "mashed_potato": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, - "yogurt": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "frozen_yogurt": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, - "slush": { elem2:"digested_material", attr2:{"nutrition":0}, chance:0.02 }, - "coffee_bean": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":15}, chance:0.02 }, - "yeast": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, - "alcohol": { elem2:"digested_material", attr2:{"nutrition":-35, "speed":-5}, chance:0.02 }, - "honey": { elem2:"digested_material", attr2:{"nutrition":35, "speed":1}, chance:0.02 }, - "blood": { elem2:"digested_material", attr2:{"nutrition":5, "speed":-1}, chance:0.02 }, - "infection": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15}, chance:0.02 }, - "cancer": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15}, chance:0.02 }, - "plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15}, chance:0.02 }, - "glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-15}, chance:0.02 }, - "excrement": { elem2:"digested_material", attr2:{"nutrition":25, "speed":1}, chance:0.02 }, - "urine": { elem2:"gaseous_material", attr2:{"nutrition":5, "speed":1}, chance:0.02 }, - "tea": { elem2:"digested_material", attr2:{"nutrition":10, "speed":10}, chance:0.02 }, - "dead_bug": { elem2:"digested_material", attr2:{"nutrition":35, "speed":5}, chance:0.02 }, - }, - category: "nutrition", - tempHigh: 110, - stateHigh: "acid_gas", - tempLow: -58.88, - burn: 30, - burnTime: 1, - state: "liquid", - density: 1550, - stain: -0.1, - isAcid: true, -} - elements.deoxygenated_water = { color: "#829BD4", behavior: behaviors.LIQUID, @@ -5815,6 +6309,7 @@ elements.real_bone = { burn: 1, burnTime: 100, burnInto: ["bone","bone","bone","bone","quicklime"], + desc: "Hard organism building material!" } elements.real_bone_marrow = { @@ -5914,6 +6409,7 @@ elements.real_bone_marrow = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, + desc: "Makes bones and white blood cells!" } elements.cartilage = { @@ -5954,6 +6450,7 @@ elements.cartilage = { burn: 1, burnTime: 100, burnInto: ["bone","bone","bone","bone","quicklime"], + desc: "Bones but slightly worse!" } elements.cerebrospinal_fluid = { @@ -6160,7 +6657,7 @@ elements.cerebrospinal_fluid = { }, extinguish: true, isBio: true, - renderer: renderPresets.FLESHBURN, + desc: "Liquid that doesnt die but transfers nutrients and oxygen! Part of a secret recipe." } elements.urine = { @@ -6211,7 +6708,8 @@ elements.urine = { stain: 0.01, stainSelf: true, isWaste: true, - extinguish: true + extinguish: true, + desc: "Pee." } elements.elixir = { @@ -6250,6 +6748,7 @@ elements.elixir = { density: 1450, stain: 0.05, hidden: true, + desc: "Part of a secret recipe." } elements.brain_jar_juice = { @@ -6365,7 +6864,8 @@ elements.brain_jar_juice = { immune: false, }, - extinguish: true + extinguish: true, + desc: "Made from a secret recipe with crushed fruit, cell slop and brain soup." } elements.bacteria = { @@ -6577,6 +7077,7 @@ elements.tract = { }, isBio: true, renderer: renderPresets.FLESHBURN, + desc: "Biological pipe!" } elements.biosensor = { @@ -6636,6 +7137,7 @@ elements.biosensor = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, + desc: "Biological sensor!" } elements.bioplate = { @@ -6707,6 +7209,7 @@ elements.bioplate = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, + desc: "Biological pressure plate!" } elements.biocloner = { @@ -6774,6 +7277,7 @@ elements.biocloner = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, + desc: "Biological e-cloner! Turns its oxygen and nutrients into material through bio-synthesis." } elements.valve = { @@ -6844,6 +7348,7 @@ elements.valve = { isBio: true, renderer: renderPresets.FLESHBURN, movable: false, + desc: "Power it to open, closes automatically." } elements.valve_extension = { @@ -6891,6 +7396,7 @@ elements.valve_extension = { renderer: renderPresets.FLESHBURN, movable: false, hidden: true, + desc: "Valve gate." } elements.revive = { @@ -6936,6 +7442,7 @@ elements.revive = { }, canPlace: false, category: "tools", + desc: "Secret tool. Give your allies life!" } elements.drain_health = { @@ -6962,10 +7469,70 @@ elements.drain_health = { category: "tools", } +elements.death_ray = { + color: ["#C33846","#930C00"], + tick: function(pixel) { + var x = pixel.x; + for (var y = pixel.y+1; y < height+1; y++) { + if (outOfBounds(x, y)) { + if (isEmpty(x, y-1)) { + if (Math.random() > 0.95) { + createPixel("poison_gas", x, y-1); + } + else if (Math.random() > 0.5) { + createPixel("plague", x, y-1); + } + else if (Math.random() > 0.25) { + createPixel("radiation", x, y-1); + } + else { + createPixel("foam", x, y-1); + pixelMap[x][y-1].color = "#930C00"; + } + } + break; + } + if (isEmpty(x, y)) { + if (Math.random() > 0.1) { continue } + createPixel("flash", x, y); + pixelMap[x][y].color = "#C33846"; + pixelMap[x][y].delay = (y - pixel.y) / 8; + } + else { + if (elements[pixelMap[x][y].element].id === elements.flash.id) { continue } + if (elements[pixelMap[x][y].element].id === elements.death_ray.id) { break } + if (!elements[pixelMap[x][y].element].isGas && isEmpty(x, y-1)) { + if (Math.random() > 0.95) { + createPixel("poison_gas", x, y-1); + } + else if (Math.random() > 0.95) { + createPixel("plague", x, y-1); + } + else if (Math.random() > 0.75) { + createPixel("radiation", x, y-1); + } + else { + createPixel("foam", x, y-1); + pixelMap[x][y-1].color = "#930C00"; + } + } + if (Math.random() > 0.1) { continue } + elements.drain_health.tool(pixelMap[x][y]) + } + } + deletePixel(pixel.x, pixel.y); + }, + category: "energy", + state: "gas", + density: 1, + excludeRandom: true, + noMix: true +}, + elements.toilet = { color: "#e1e4dd", behavior: behaviors.WALL, - category: "solids", + category: "machines", state: "solid", density: 2403, hardness: 0.4, @@ -6991,6 +7558,7 @@ elements.toilet = { }, canPlace: true, hidden: true, + desc: "Secret tool. Steal your enemies life!" } elements.shed_blood = { @@ -7032,14 +7600,15 @@ elements.shed_blood = { "carbon_dioxide": { elem2:null, chance:0.05 }, "alcohol": { elem1:[null,"dna"], chance:0.02 } }, - viscosity: 10, + viscosity: 20, tempHigh: 124.55, stateHigh: ["steam","salt","oxygen"], tempLow: 0, + stateLow: "blood", category:"liquids", state: "liquid", - density: 1060, - stain: 0.05 + density: 1065, + stain: 0.04, } if (!elements.cancer.reactions) { elements.cancer.reactions = {} } @@ -7077,7 +7646,6 @@ elements.cancer.reactions.digested_material = { elem2: "cancer", chance:0.001 }; elements.cancer.reactions.intestines = { elem2: "cancer", chance:0.005 }; elements.cancer.reactions.stomach_valve = { elem2: "cancer", chance:0.005 }; elements.cancer.reactions.stomach_lining = { elem2: "cancer", chance:0.005 }; -elements.cancer.reactions.decomposer_stomach = { elem2: "cancer", chance:0.004 }; elements.cancer.reactions.herbi_stomach = { elem2: "cancer", chance:0.004 }; elements.cancer.reactions.carni_stomach = { elem2: "cancer", chance:0.004 }; elements.cancer.reactions.explosive_stomach = { elem2: ["pop","cancer","cancer","cancer"], chance:0.003 }; @@ -7122,7 +7690,6 @@ elements.uranium.reactions.sphincter = { elem2: ["ash","steam","excrement","meat elements.uranium.reactions.intestines = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","excrement"], chance:0.5 }; elements.uranium.reactions.stomach_valve = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; elements.uranium.reactions.stomach_lining = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.decomposer_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; elements.uranium.reactions.herbi_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; elements.uranium.reactions.carni_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; elements.uranium.reactions.explosive_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.4 }; @@ -7167,7 +7734,6 @@ elements.radiation.reactions.sphincter = { elem2: ["cancer","ash","steam","excre elements.radiation.reactions.intestines = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","excrement"], chance:0.4 }; elements.radiation.reactions.stomach_valve = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; elements.radiation.reactions.stomach_lining = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.decomposer_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; elements.radiation.reactions.herbi_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; elements.radiation.reactions.carni_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; elements.radiation.reactions.explosive_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.3 }; @@ -7210,7 +7776,6 @@ elements.plague.reactions.sphincter = { elem2: ["infection","rotten_meat","steam elements.plague.reactions.intestines = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh","rotten_meat","steam","meat","rotten_meat","plague","flesh","excrement"], chance:0.04 }; elements.plague.reactions.stomach_valve = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; elements.plague.reactions.stomach_lining = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.decomposer_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; elements.plague.reactions.herbi_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; elements.plague.reactions.carni_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; elements.plague.reactions.explosive_stomach = { elem2: ["infection","plague","steam","meat","rotten_meat","plague","flesh","pop"], chance:0.03 }; @@ -7289,9 +7854,7 @@ elements.bless.tool = function(pixel) { } } -elements.dna.reactions.juice = { elem1: null, elem2: "elixir", chance:0.01 }; - -elements.acid.ignore = ["herbi_stomach","carni_stomach","decomposer_stomach","amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","explosive_stomach","stomach_valve","stomach_lining","throat_lining","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","earthquake","tornado","tsunami","liquid_light","sensor"] +elements.dna.reactions.juice = { elem1: null, elem2: "elixir", chance:0.01 } elements.dirty_water.isWaste = true; elements.salt_water.isWaste = true; @@ -7299,37 +7862,42 @@ elements.dirty_water.isWaste = true; elements.acid.isAcid = true; -elements.glass_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 }; + +if (!elements.glass_shard.reactions) { elements.glass_shard.reactions = {} } +elements.glass_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 } elements.glass_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.001 }; -elements.glass_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 }; -elements.glass_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 }; -elements.glass_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 }; -elements.glass_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; -elements.glass_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; +elements.glass_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 } +elements.glass_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 } +elements.glass_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 } +elements.glass_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 } +elements.glass_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 } -elements.rad_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 }; -elements.rad_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.001 }; -elements.rad_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 }; -elements.rad_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 }; -elements.rad_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 }; -elements.rad_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; -elements.rad_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; +if (!elements.rad_shard.reactions) { elements.rad_shard.reactions = {} } +elements.rad_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 } +elements.rad_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.001 } +elements.rad_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 } +elements.rad_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 } +elements.rad_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 } +elements.rad_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 } +elements.rad_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 } -elements.porcelain_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.0005 }; -elements.porcelain_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.0005 }; -elements.porcelain_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.0005 }; -elements.porcelain_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 }; -elements.porcelain_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.0005 }; -elements.porcelain_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 }; -elements.porcelain_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 }; +if (!elements.porcelain_shard.reactions) { elements.porcelain_shard.reactions = {} } +elements.porcelain_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.0005 } +elements.porcelain_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.0005 } +elements.porcelain_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.0005 } +elements.porcelain_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 } +elements.porcelain_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.0005 } +elements.porcelain_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 } +elements.porcelain_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 } -elements.metal_scrap.reactions.intestines = { elem2: ["blood","meat"], chance:0.0005 }; -elements.metal_scrap.reactions.lungs = { elem2: ["blood","meat"], chance:0.0005 }; -elements.metal_scrap.reactions.simple_lung = { elem2:["blood","meat"], chance:0.0005 }; -elements.metal_scrap.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 }; -elements.metal_scrap.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood"], chance:0.0005 }; +if (!elements.metal_scrap.reactions) { elements.metal_scrap.reactions = {} } +elements.metal_scrap.reactions.intestines = { elem2: ["blood","meat"], chance:0.0005 } +elements.metal_scrap.reactions.lungs = { elem2: ["blood","meat"], chance:0.0005 } +elements.metal_scrap.reactions.simple_lung = { elem2:["blood","meat"], chance:0.0005 } +elements.metal_scrap.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 } +elements.metal_scrap.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood"], chance:0.0005 } -elements.vaccine.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 }; -elements.antidote.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 }; +elements.vaccine.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 } +elements.antidote.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 } elements.salt_water.stateHigh = ["steam","steam","salt"] From c145280fce9c60e2123acd04f2c80c523b8e9b6f Mon Sep 17 00:00:00 2001 From: Phi Date: Tue, 11 Feb 2025 16:00:20 +0000 Subject: [PATCH 05/10] 16.9. --- mods/mars.js | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/mods/mars.js b/mods/mars.js index ca4fe635..7ca454e3 100644 --- a/mods/mars.js +++ b/mods/mars.js @@ -17,7 +17,9 @@ elements.mars_dust = { stateHigh: "molten_mars", tempLow: -170, stateLow: "mars_rock", - extraInfo: "Dust Samples from mars. Can freeze into Mars Rock." + extraInfo: "Dust Samples from mars. Can freeze into Mars Rock.", + hardness: 0.991, + breakInto: "mars_debris" } elements.molten_mars = { color: "#ffc338", @@ -42,6 +44,13 @@ elements.mars_rock = { stateLow: "mars_rock_wall", extraInfo: "The Freezing of Mars Dust. Can be used for normal land." } +elements.mars_debris = { + color: "#ff9999", + behavior: behaviors.STURDYPOWDER, + category: "mars", + state: "solid", + density: 1605 +} elements.support_mars_rock = { color: ["#a51002","#bd1102"], behavior: behaviors.SUPPORTPOWDER, @@ -106,14 +115,20 @@ elements.mars_furnace = { state: "solid", hardness: 0.6, stateHigh: "molten_mars", - extraInfo: "Used to turn Ironheart into Ironheart Solids" + extraInfo: "Used to turn Ironheart into Ironheart Solids", + tempHigh: "550", + stateHigh: "molten_mars", + breakInto: ["ironheart", "mars_ironheart", "ironheart_ore", "gunk"] } elements.nosmoker = { color: ["#870002", "#870507"], behavior: behaviors.WALL, category: "mars", state: "solid", - extraInfo: "Used to turn Ironheart into Ironheart Solids" + extraInfo: "Used to turn Ironheart into Ironheart Solids", + tempHigh: "350", + stateHigh: "molten_mars", + breakInto: ["ironheart", "mars_ironheart", "ironheart_ore", "antigunk"] } elements.ironheart = { color: "#e9825a", @@ -197,9 +212,12 @@ elements.o2_tank = { ], category: "mars", state: "solid", - + tempHigh: "600", + stateHigh: "molten_copper", + breakInto: ["copper", "oxygen"] } -// 1.4.7 + +// 1.6.9 // most elements done :D // iron heart ore // iron heart @@ -215,3 +233,7 @@ elements.o2_tank = { // im putting in the archive // lil changes // inroducing oxygen tanks! +// machines are smashable. please smash them. +// also heatable +// O2 BE YOU +// rover From d3f8b3e8ca889e9d673e1e7ea12d34a3bc76a29f Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:44:24 -0500 Subject: [PATCH 06/10] Rename mjsstuff to mjsstuff.js --- mods/{mjsstuff => mjsstuff.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mods/{mjsstuff => mjsstuff.js} (100%) diff --git a/mods/mjsstuff b/mods/mjsstuff.js similarity index 100% rename from mods/mjsstuff rename to mods/mjsstuff.js From e9a7de2b73452ca9f83a9b3441316c4470f6aa94 Mon Sep 17 00:00:00 2001 From: NM-Lolbit <104076086+NM-Lolbit@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:38:51 +0000 Subject: [PATCH 07/10] Update mjsstuff.js ill make different type of caramel but im a lazy a*s and i have math homework to do so this is all im doing for now and it already took like 30 min or more to do --- mods/mjsstuff.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mods/mjsstuff.js b/mods/mjsstuff.js index e0605514..af540934 100644 --- a/mods/mjsstuff.js +++ b/mods/mjsstuff.js @@ -70,6 +70,7 @@ elements.dark_brown_sugar = { behavior: behaviors.SUPPORTPOWDER, category: "food", state: "powder", + stateHigh: "caramel", //am i an idiot for taking this long to figure out how to edit my code? yes. i am. reactions: { "water": { elem1: "sugar_water", elem2: null }, } @@ -81,6 +82,7 @@ elements.icing_sugar = { behavior: behaviors.SUPPORTPOWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: null , elem2: "icing" }, } @@ -92,6 +94,7 @@ elements.golden_caster_sugar = { behavior: behaviors.POWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -104,6 +107,7 @@ elements.caster_sugar = { behavior: behaviors.POWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -114,6 +118,7 @@ elements.light_brown_sugar = { behavior: behaviors.SUPPORTPOWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -125,6 +130,7 @@ elements.demerara_sugar = { behavior: behaviors.POWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -136,6 +142,7 @@ elements.dark_muscovado_sugar = { behavior: behaviors.SUPPORTPOWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -148,6 +155,7 @@ elements.granulated_sugar = { behavior: behaviors.POWDER, category: "food", state: "powder", + stateHigh: "caramel", reactions: { "water": { elem1: "sugar_water" , elem2: null }, } @@ -159,6 +167,7 @@ elements.icing = { behavior: behaviors.LIQUID, category: "food", state: "powder", + stateHigh: "caramel", viscosity: 2000, From 64934794012d528428247b9843471a8bcc320e3a Mon Sep 17 00:00:00 2001 From: NM-Lolbit <104076086+NM-Lolbit@users.noreply.github.com> Date: Tue, 11 Feb 2025 21:40:29 +0000 Subject: [PATCH 08/10] Update mjsstuff.js i added more stupid elements if i messed anything up imma cry myself to sleep/(joke) --- mods/mjsstuff.js | 63 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/mods/mjsstuff.js b/mods/mjsstuff.js index e0605514..b2c37771 100644 --- a/mods/mjsstuff.js +++ b/mods/mjsstuff.js @@ -160,6 +160,65 @@ elements.icing = { category: "food", state: "powder", viscosity: 2000, - - }; + + +elements.Hazel = { + color: ["#189BCC",], + behavior: behaviors.SUPERFLUID, + category: "joke", + state: "liquid", + viscosity: 0, +}; + + elements.guhguhgugu = { + color: ["#a73acf", "#9e26c9", "#be5ee0",], + behavior: behaviors.LIQUID, + category: "joke", + state: "liquid", + stateLow: "frozen_guhguhgugu", + tempLow: -150, + stateHigh: "solid_guhguhgugu", + tempHigh: 150, + }; + + elements.solid_guhguhgugu = { + color: ["#a73acf", "#9e26c9", "#be5ee0",], + behavior: behaviors.SOLID, + category: "joke", + state: "solid", + stateLow: "guhguhgugu", + tempLow: 150, + stateHigh: "liquid_guhguhgugu", + tempHigh: 250, + }; + + elements.liquid_guhguhgugu = { + color: ["#a73acf", "#9e26c9", "#be5ee0",], + behavior: behaviors.MOLTEN, + category: "molten", + state: "molten", + tempLow: "250", + stateLow: "solid_guhguhgugu", + stateHigh: "liquid_guhguhgugu", + tempHigh: 500, + }; + + elements.boil_guhguhgugu = { + color: ["#a73acf", "#9e26c9", "#be5ee0",], + behavior: behaviors.DGAS, + category: "joke", + state: "gas", + tempLow: "500", + stateLow: "liquid_guhguhgugu", + + }; + +elements.frozen_guhguhgugu = { + color: ["#a73acf", "#9e26c9", "#be5ee0",], + behavior: behaviors.SOLID, + category: "joke", + state: "solid", + stateHigh: "guhguhgugu", + tempHigh: 15, + }; From f33ff01e9d26e8270870cf4a6dfac483290473ec Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Sat, 15 Feb 2025 14:43:09 -0500 Subject: [PATCH 09/10] Create README.txt --- lang/README.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 lang/README.txt diff --git a/lang/README.txt b/lang/README.txt new file mode 100644 index 00000000..085b1bb6 --- /dev/null +++ b/lang/README.txt @@ -0,0 +1,5 @@ +Translation updates to this GitHub repo are no longer accepted! + +If you'd like to contribute translations, you must use the new Crowdin system here: https://crowdin.com/editor/sandboxels + +For more information, see the Translation Page: https://sandboxels.r74n.com/translate From ca93d5be95aeb8b57b3184bf490124caef358fab Mon Sep 17 00:00:00 2001 From: An Orbit <68935009+orbit-loona@users.noreply.github.com> Date: Sat, 15 Feb 2025 20:01:23 -0500 Subject: [PATCH 10/10] not a'aa --- mods/a_mod_by_alice.js | 70 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 61 insertions(+), 9 deletions(-) diff --git a/mods/a_mod_by_alice.js b/mods/a_mod_by_alice.js index 4086ae75..0805f486 100644 --- a/mods/a_mod_by_alice.js +++ b/mods/a_mod_by_alice.js @@ -5759,6 +5759,38 @@ color1 and color2 spread through striped paint like dye does with itself. col } clearInterval(renderInterval); renderInterval = window.setInterval(drawLayers, 1000/60); + viewInfo[4] = { + name: 'element', + pixel: function(pixel,ctx) { + var data = elements[pixel.element]; + var _color = data.color; + if(Array.isArray(_color)) { + _color = _color[Math.floor(pixelTicks / 6) % _color.length] + }; + drawSquare(ctx,_color,pixel.x,pixel.y,undefined,1 - (data.alpha ?? 0)) + } + }; + viewInfo[5] = { + name: 'velocity', + pixel: function(pixel,ctx) { + var data = elements[pixel.element]; + var vx = pixel.vx ?? 0; + var vy = pixel.vy ?? 0; + var _color = null; + if(vx === 0 && vy === 0) { + _color = "rgb(15,15,15)" + } else { + var magnitude = Math.sqrt ((vx ** 2) + (vy ** 2)); + var direction = Math.atan2(pixel.vy ?? 0,pixel.vx ?? 0)*180/Math.PI; + if(direction < 0) { direction = scale(direction,-180,0,360,180) }; + hue = direction; + sat = 100; + lig = bound(scale(magnitude,0,100,10,100),0,100); + _color = "hsl("+hue+","+sat+"%,"+lig+"%)"; + }; + drawSquare(ctx,_color,pixel.x,pixel.y,undefined,1 - (data.alpha ?? 0)) + } + }; canvasLayers.pressure = document.createElement("canvas"); canvasLayersPre.push(canvasLayers.pressure); function drawPressure() { @@ -11735,6 +11767,7 @@ color1 and color2 spread through striped paint like dye does with itself. col }; elements.planet_cracker = { color: "#ffc8ba", + excludeRandom: true, behavior: behaviors.WALL, properties: { active: true, @@ -15232,6 +15265,7 @@ Pixel size (rendering only): (Use if the save looks cut o }; elements.light_petroleum_fuel_gas = { //it's not liquified, and sandboxels doesn't even have a pressure system, and there is no generic name for uncompressed, gaseous "L"PG, so we need a different name burn: 100, + burnTime: 10, color: "#b5b5b3", density: 3.5, tempLow: -44, @@ -15241,10 +15275,17 @@ Pixel size (rendering only): (Use if the save looks cut o pixel.burnStart = pixelTicks; } }, - burnInto: "explosion,explosion,fire,fire,fire,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,steam,steam,steam,steam,steam".split(","), + burnInto: "explosion,explosion,ignited_gas,fire,fire,fire,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,steam,steam,steam,steam,steam".split(","), state: "gas", behavior: behaviors.GAS, }; + elements.liquid_light_petroleum_fuel = { + burn: 50, + burnTime: 165, + fireElement: ["light_petroleum_fuel_gas","fire","fire"], + burnInto: "ignited_gas,fire,fire,smoke,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,carbon_dioxide,steam,steam,steam,steam,steam".split(","), + tempLow: -180 //based off of ethane + } elements.lamp_oil.tempHigh = 170; elements.lamp_oil.stateHigh = "lamp_oil_gas"; elements.lamp_oil.density = 810; @@ -21561,7 +21602,7 @@ Pixel size (rendering only): (Use if the save looks cut o elements[name] = { behavior: itsActuallySolidNotPowderLol ? behaviors.WALL : behaviors.POWDER, color: color, - category: "solids", + category: itsActuallySolidNotPowderLol ? "solids" : "powders", state: "solid", density: density ?? 1000, }; @@ -25916,7 +25957,6 @@ Pixel size (rendering only): (Use if the save looks cut o goldenZirconColors = ["#e99209","#fcb111","#d88208","#b97605"]; //heatTreated 0 = untreated, 1 = inertly (blue), 2 = with oxygen (golden) elements.zircon = { - //Corundum with different impurities, so I can copy/paste everything but the color color: ["#37130b","#a9301a","#3c1810"], properties: { heatTreated: 0 @@ -27959,9 +27999,16 @@ ${eightSpaces}Example full decor definition: bird:0.04:10:#FF0000,#FFFF00,#00FF0 console.error("pixelsize: supplied pixel size was zero or negative"); return false; } else { - document.querySelector('span[setting="pixelsize"]').querySelector("select").selectedIndex = pixelSizeSettingDropdownOtherOptionIndex; - settings.pixelsize = argPixelSize; - resizeCanvas(ctx.canvas.height,ctx.canvas.width,settings.pixelsize,false) + var confirmation = confirm("Due to changes in the game, this command must reset the canvas. Proceed?") + if(confirmation) { + document.querySelector('span[setting="pixelsize"]').querySelector("select").selectedIndex = pixelSizeSettingDropdownOtherOptionIndex; + settings.pixelsize = argPixelSize; + resizeCanvas(ctx.canvas.height,ctx.canvas.width,settings.pixelsize,false); + clearAll(); + return argPixelSize + } else { + return false + } }; } else { alert(pixelSize); @@ -28733,7 +28780,8 @@ Make sure to save your command in a file if you want to add this preset again.` elements.smash_ray = { color: ["#ff9999", "#8c8279"], tick: function(pixel) { - if(pixel.done) { deletePixel(pixel); return }; + if(!pixel) { return }; + if(pixel?.done) { deletePixel(pixel.x,pixel.y); return }; var x = pixel.x; for (var y = pixel.y; y < height; y++) { if (outOfBounds(x, y)) { @@ -35763,6 +35811,7 @@ Make sure to save your command in a file if you want to add this preset again.` }; elements.amba_tsunami = { color: ["#2449d1","#4b6adb","#8093d9"], + excludeRandom: true, behavior: behaviors.WALL, properties: { active: true, @@ -35842,6 +35891,7 @@ Make sure to save your command in a file if you want to add this preset again.` elements.megatsunami = { color: ["#1f2aa3","#2641c9","#3a57c9"], behavior: behaviors.WALL, + excludeRandom: true, properties: { active: true, }, @@ -35922,6 +35972,7 @@ Make sure to save your command in a file if you want to add this preset again.` elements.lava_tsunami = { color: ["#ff370a","#e84a23","#e67740"], behavior: behaviors.WALL, + excludeRandom: true, properties: { active: true, }, @@ -36012,6 +36063,7 @@ Make sure to save your command in a file if you want to add this preset again.` elements.lava_megatsunami = { color: ["#b32b10","#c24d1f","#d66924"], behavior: behaviors.WALL, + excludeRandom: true, properties: { active: true, }, @@ -39929,7 +39981,7 @@ Make sure to save your command in a file if you want to add this preset again.` }; }); function propPrompt() { - propProperty = prompt("Enter the property you want to set"); + propProperty = prompt("(Prop) Enter the property you want to set"); propValue = prompt("Enter the value you want to set to"); //special check: element if(propProperty === "element") { @@ -40108,7 +40160,7 @@ Make sure to save your command in a file if you want to add this preset again.` if(oldProperty === null) { oldProperty = "temp"; }; - numberAdjusterProperty = prompt("Enter the property you want to change"); + numberAdjusterProperty = prompt("(Number adjuster) Enter the value you want to change"); if(numberAdjusterProperty === null) { numberAdjusterProperty = oldProperty; return false;