From fa4c8bf814cb6640590788900ae5011023ec71ce Mon Sep 17 00:00:00 2001
From: jakob3797 <167775393+jakob3797@users.noreply.github.com>
Date: Thu, 3 Oct 2024 14:46:52 -0500
Subject: [PATCH 01/12] Update Quicksand_one.js
Full update
---
mods/Quicksand_one.js | 373 +++++++++++++++++++++++++++++++++++-------
1 file changed, 311 insertions(+), 62 deletions(-)
diff --git a/mods/Quicksand_one.js b/mods/Quicksand_one.js
index 7f601977..367aabcd 100644
--- a/mods/Quicksand_one.js
+++ b/mods/Quicksand_one.js
@@ -467,18 +467,7 @@ elements.mushy_mud = {
density: 1200,
stain: 0.3
};
-elements.mud = {
- color: "#8B4513",
- behavior: elements.slime.behavior,
- viscosity: 1050,
- tempHigh: 58,
- stateHigh: "liquid",
- tempLow: 0,
- category: "liquids",
- state: "liquid",
- density: 1000,
- stain: 0.3
-};
+
elements.quicksand_mud = {
color: "#DAA520",
behavior: elements.slime.behavior,
@@ -515,7 +504,7 @@ elements.sticky_quicksand = {
density: 1100,
stain: 0.25
};
-elements.fluff_mud = {
+elements.pluff_mud = {
color: "#964B00",
behavior: elements.slime.behavior,
viscosity: 10000,
@@ -527,55 +516,6 @@ elements.fluff_mud = {
density: 1300,
stain: 0.2
};
-elements.bog = {
- color: "#556B2F",
- behavior: elements.slime.behavior,
- viscosity: 10000,
- tempHigh: 45,
- stateHigh: "liquid",
- tempLow: 0,
- category: "liquids",
- state: "liquid",
- density: 1400,
- stain: 0.25
-};
-elements.mire = {
- color: "#2E8B57",
- behavior: elements.slime.behavior,
- viscosity: 10000,
- tempHigh: 50,
- stateHigh: "liquid",
- tempLow: 0,
- category: "liquids",
- state: "liquid",
- density: 1500,
- stain: 0.3
-};
-elements.oobleck = {
- color: "#008000",
- behavior: elements.slime.behavior,
- viscosity: 10000,
- tempHigh: 25,
- stateHigh: "liquid",
- tempLow: 0,
- category: "liquids",
- state: "liquid",
- density: 1600,
- stain: 0.15
-};
-elements.spiderwebs = {
- color: "#D3D3D3",
- behavior: elements.slime.behavior,
- viscosity: 10000,
- tempHigh: 20,
- stateHigh: "liquid",
- tempLow: 0,
- category: "liquids",
- state: "liquid",
- density: 1700,
- stain: 0.1
-};
-
elements.silt_quicksand = {
color: "#DAA520",
behavior: elements.slime.behavior,
@@ -1104,3 +1044,312 @@ elements.murky_marsh_mixture = {
density: 1900,
stain: 0.2
};
+
+
+
+elements.mud = {
+ color: "#8B4513",
+ reactions: {
+ "water": { "elem1": "wet_mud" },
+ "mire": { "elem1": "mire_mud" },
+ "dirt": { "elem1": "thick_mud" },
+ "plant": { "elem1": "pluff_mud" },
+ "bog": { "elem1": "boggy_mud" },
+ "sand": { "elem1": "sandy_mud" },
+ },
+ behavior: elements.slime.behavior,
+ viscosity: 1050,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.3
+};
+elements.marsh = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ reactions: {
+ "slime": { "elem1": "marshy_slime" },
+ },
+ viscosity: 13500,
+ tempHigh: 75,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.2
+};
+elements.peat = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 13500,
+ tempHigh: 75,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.2
+};
+elements.goo = {
+ color: "#556B2F",
+ behavior: behavior.POWDER,
+ viscosity: 13500,
+ tempHigh: 75,
+ stateHigh: "powder",
+ tempLow: 0,
+ category: "powders",
+ state: "powder",
+ density: 1900,
+ stain: 0.2
+};
+elements.ooze = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 13500,
+ tempHigh: 75,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1900,
+ stain: 0.2
+};
+elements.spiderwebs = {
+ color: "#D3D3D3",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 20,
+ stateHigh: "liquid",
+ reactions: {
+ "ooze": { "elem1": "sticky_spider_ooze" },
+ "goo": { "elem1": "sticky_spider_goo" },
+ },
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1700,
+ stain: 0.1
+};
+elements.bog = {
+ color: "#556B2F",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 45,
+ stateHigh: "liquid",
+ tempLow: 0,
+ reactions: {
+ "quicksand": { "elem1": "bog_quicksand" },
+ },
+ category: "liquids",
+ state: "liquid",
+ density: 1400,
+ stain: 0.25
+};
+elements.mire = {
+ color: "#2E8B57",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1500,
+ stain: 0.3
+};
+elements.oobleck = {
+ color: "#008000",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 25,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.15
+};
+elements.quicksand = {
+ color: "#8B4513",
+ behavior: elements.slime.behavior,
+ viscosity: 1050,
+ tempHigh: 58,
+ stateHigh: "liquid",
+ reactions: {
+ "water": { "elem1": "wet_quicksand" },
+ "peat": { "elem1": "peat_quicksand" },
+ "mud": { "elem1": "quicksand_mud" },
+ },
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1574,
+ stain: 0.3
+};
+elements.gel = {
+ color: "#008000",
+ behavior: elements.slime.behavior,
+ viscosity: 10000,
+ tempHigh: 25,
+ reactions: {
+ "spider_webbing": { "elem1": "webbing_gel" },
+ },
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1600,
+ stain: 0.15
+};
+elements.silly_putty = {
+ color: "#FFD700",
+ behavior: behaviors.LIQUID,
+ viscosity: 4000,
+ tempHigh: 50,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 900, // Adjusted density
+ stain: 0.1
+};
+
+elements.kinetic_sand = {
+ color: "#FFD700",
+ behavior: behaviors.LIQUID,
+ viscosity: 5000,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1200, // Adjusted density
+ stain: 0.15
+};
+
+elements.gak = {
+ color: "#FF69B4",
+ behavior: behaviors.LIQUID,
+ viscosity: 6000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 950,
+ stain: 0.2
+};
+
+elements.flubber = {
+ color: "#FF4500",
+ behavior: behaviors.LIQUID,
+ viscosity: 3000,
+ tempHigh: 65,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 800,
+ stain: 0.1
+};
+
+elements.play_doh = {
+ color: "#FFC0CB",
+ behavior: behaviors.LIQUID,
+ viscosity: 5000,
+ tempHigh: 55,
+ reactions: {
+ "sand": { "elem1": "sandy_play_doh" },
+ },
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 950,
+ stain: 0.2
+};
+
+elements.floam = {
+ color: "#98FB98",
+ behavior: behaviors.LIQUID,
+ viscosity: 4000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.15
+};
+
+elements.moon_sand = {
+ color: "#D3D3D3",
+ behavior: behaviors.LIQUID,
+ viscosity: 4500,
+ tempHigh: 60,
+ reactions: {
+ "water": { "elem1": "moon_quicksand" },
+ "kinetic_sand": { "elem1": "moon_kinetic_sand" },
+ },
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "powders",
+ state: "powder",
+ density: 950,
+ stain: 0.1
+};
+elements.moon_quicksand = {
+ color: "#98FB98",
+ behavior: behaviors.LIQUID,
+ viscosity: 4000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.15
+};
+elements.moon_kinetic_sand = {
+ color: "#D3D3D3",
+ behavior: behaviors.LIQUID,
+ viscosity: 4500,
+ tempHigh: 60,
+ reactions: {
+ "water": { "elem1": "kinetic_moon_quicksand" },
+ },
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "powders",
+ state: "powder",
+ density: 950,
+ stain: 0.1
+};
+elements.kinetic_moon_quicksand = {
+ color: "#98FB98",
+ behavior: behaviors.LIQUID,
+ viscosity: 4000,
+ tempHigh: 60,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 1000,
+ stain: 0.15
+};
+elements.sandy_play_doh = {
+ color: "#FFC0CB",
+ behavior: behaviors.LIQUID,
+ viscosity: 5000,
+ tempHigh: 55,
+ stateHigh: "liquid",
+ tempLow: 0,
+ category: "liquids",
+ state: "liquid",
+ density: 950,
+ stain: 0.2
+};
From 528a036db044eed2743cb6a92604d306b7bcd74b Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Sat, 5 Oct 2024 19:09:59 -0400
Subject: [PATCH 02/12] Update mod-list.html
---
mod-list.html | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/mod-list.html b/mod-list.html
index 8394f817..a32861f9 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -340,6 +340,7 @@
| Visual Effects |
| acid_and_shapes.js | Weird visual effects. Enable in Settings | Alice |
+| customBackground.js | Set your own background(using and image link) | Jayd |
| heatglow.js | Red glowing effect for hot metals | nousernamefound |
| invisible_dye.js | Adds elements like Dye and Spray Paint that take the color of the background | Alice |
| invisible_wall.js | Adds an element like Wall that takes the color of the background | Alice |
@@ -351,6 +352,9 @@
| shader_by_jayd.js | Adds a glow around light elements | Jayd |
| Shroomboxels.js | A variant of acid_and_shapes.js that uses a different trigonometric function | Alice |
| singleColor.js | Makes all elements pick one color each time they're drawn | stefanblox |
+| texture_pack_by_jayd.js | Gives sandboxels a cool background | Jayd |
+| UwUify.js | Gives sandboxels an "UwU" background | Jayd |
+
| Compilations |
| a_mod_by_alice.js | A mod combining most of Alice’s mods, and some other things | Alice |
From 39daafbf9d68ed57e6a31305ba356d958e4e8efe Mon Sep 17 00:00:00 2001
From: Salmonfishyy <160120816+Salmonfishyy@users.noreply.github.com>
Date: Sun, 6 Oct 2024 20:30:47 +0700
Subject: [PATCH 03/12] =?UTF-8?q?1.10.1=20Halloween=20Update=20Translation?=
=?UTF-8?q?=20(H=CC=B5=CD=92=CD=8A=CC=9A=CC=87=CD=82=CD=84=CC=84=CD=8C?=
=?UTF-8?q?=CC=91=CC=8F=CD=81=CC=9B=CC=9A=CC=9A=CD=97=CC=BE=CD=80=CC=82?=
=?UTF-8?q?=CD=81=CC=89=CC=88=CD=84=CC=90=CC=84=CD=91=CD=91=CC=8B=CC=8A?=
=?UTF-8?q?=CC=86=CC=88=CD=91=CC=87=CD=8B=CD=9D=CC=9B=CD=9B=CC=8A=CD=82?=
=?UTF-8?q?=CC=BE=CD=81=CC=8F=CC=8C=CD=83=CD=9D=CC=86=CC=BF=CD=9D=CD=82?=
=?UTF-8?q?=CC=80=CC=95=CD=91=CD=83=CD=A0=CC=85=CC=8E=CC=81=CD=80=CC=82?=
=?UTF-8?q?=CD=84=CD=8B=CD=84=CC=81=CC=8A=CC=92=CD=83=CD=84=CC=84=CC=92?=
=?UTF-8?q?=CD=8B=CD=83=CD=A0=CC=80=CC=95=CC=BD=CC=8B=CD=9D=CC=82=CC=9A?=
=?UTF-8?q?=CD=98=CC=92=CD=98=CD=97=CD=A0=CC=80=CC=83=CD=97=CC=8D=CD=86?=
=?UTF-8?q?=CC=85=CC=94=CC=85=CC=BF=CC=95=CD=91=CC=81=CC=89=CC=BD=CC=80?=
=?UTF-8?q?=CC=95=CD=84=CC=92=CC=84=CC=BE=CD=9D=CD=98=CC=85=CD=81=CD=8C?=
=?UTF-8?q?=CD=98=CD=92=CC=95=CC=90=CD=9B=CD=86=CD=81=CC=9A=CC=8D=CC=8D?=
=?UTF-8?q?=CC=8B=CD=98=CD=8C=CC=90=CC=83=CC=BF=CD=9B=CC=8D=CD=97=CC=91?=
=?UTF-8?q?=CC=94=CD=97=CD=A0=CC=90=CC=84=CC=88=CC=85=CC=82=CC=8E=CC=8B?=
=?UTF-8?q?=CD=80=CC=BD=CC=8D=CC=86=CC=81=CC=8F=CD=86=CD=90=CD=9D=CC=8A?=
=?UTF-8?q?=CC=AD=CC=AB=CC=A9=CC=B2=CC=99=CD=99=CC=A9=CC=B3=CC=A2=CC=AE?=
=?UTF-8?q?=CD=85=CC=A7=CD=99=CC=B3=CC=AF=CC=B1=CC=9C=CC=BC=CC=A8=CD=85?=
=?UTF-8?q?=CC=A5=CC=99=CC=A8=CC=AC=CC=96=CD=8E=CC=A5=CC=98=CD=85=CC=9F?=
=?UTF-8?q?=CC=B3=CD=89=CC=A1=CD=9C=CD=8D=CC=97=CC=B2=CC=A8=CD=8D=CC=A6?=
=?UTF-8?q?=CC=AD=CC=97=CC=98=CC=A6=CD=99=CC=9D=CC=A2=CC=9E=CC=A8=CC=B1?=
=?UTF-8?q?=CC=97=CC=A4=CC=9E=CC=A5=CD=85=CD=8D=CC=9C=CC=A6=CC=98=CC=96?=
=?UTF-8?q?=CC=99=CC=98=CC=AD=CC=BB=CC=A5=CC=BC=CD=88e=CC=B8=CC=BE=CC=BD?=
=?UTF-8?q?=CC=9A=CD=9D=CC=9A=CC=89=CC=9B=CD=91=CD=8C=CD=98=CD=91=CD=90?=
=?UTF-8?q?=CD=8B=CC=BE=CD=A0=CC=94=CD=90=CC=95=CC=90=CD=97=CC=BE=CD=83?=
=?UTF-8?q?=CD=8C=CC=90=CC=87=CD=97=CC=BF=CD=9D=CC=85=CD=80=CD=8B=CC=89?=
=?UTF-8?q?=CC=80=CD=8C=CC=94=CC=86=CD=82=CC=90=CC=8F=CC=92=CC=9A=CD=84?=
=?UTF-8?q?=CD=90=CC=9B=CC=80=CD=84=CD=86=CC=92=CD=8C=CD=9D=CC=90=CD=83?=
=?UTF-8?q?=CD=8A=CC=9A=CD=9D=CC=85=CC=92=CC=8E=CD=8C=CC=9A=CD=9D=CC=8C?=
=?UTF-8?q?=CC=90=CC=89=CC=84=CD=80=CD=84=CD=98=CC=81=CD=84=CC=9B=CD=97?=
=?UTF-8?q?=CD=98=CC=86=CC=91=CD=8C=CC=86=CD=83=CD=9B=CD=86=CC=9B=CD=80?=
=?UTF-8?q?=CD=91=CC=87=CC=8C=CD=90=CD=9B=CC=9B=CC=BD=CC=90=CC=80=CC=81?=
=?UTF-8?q?=CC=95=CC=8D=CC=BD=CC=84=CC=9A=CC=9A=CC=91=CC=81=CC=92=CC=89?=
=?UTF-8?q?=CC=89=CC=81=CC=90=CC=89=CD=84=CC=8F=CC=87=CD=8C=CC=83=CD=9B?=
=?UTF-8?q?=CC=81=CD=91=CC=BD=CC=85=CD=81=CD=8A=CD=81=CC=83=CC=9A=CC=95?=
=?UTF-8?q?=CC=81=CD=83=CC=8F=CC=87=CD=92=CC=80=CC=9A=CC=8A=CD=90=CD=82?=
=?UTF-8?q?=CD=98=CD=83=CD=8C=CC=BF=CC=92=CD=9D=CC=85=CC=83=CC=92=CD=A0?=
=?UTF-8?q?=CC=8F=CC=8C=CD=9D=CD=84=CC=87=CD=8B=CC=BD=CD=9B=CC=92=CC=83?=
=?UTF-8?q?=CC=93=CC=93=CD=8C=CC=91=CC=82=CC=94=CD=81=CC=83=CC=BD=CC=9A?=
=?UTF-8?q?=CC=9E=CC=98=CC=A7=CD=93=CC=A0=CC=A8=CC=A6=CC=AC=CD=95=CC=AF?=
=?UTF-8?q?=CC=A0=CD=88=CC=AE=CC=AA=CD=9A=CC=96=CD=9A=CC=AB=CC=AF=CC=98?=
=?UTF-8?q?=CD=93=CC=A3=CC=B9=CD=93=CC=AB=CC=9D=CC=B9=CC=9C=CC=BA=CC=99?=
=?UTF-8?q?=CD=89=CC=BA=CC=99=CD=99=CD=89=CC=A3=CD=9A=CC=A7=CC=A6=CC=B3?=
=?UTF-8?q?=CC=B3=CD=94=CC=A5=CC=B9=CD=99=CC=AC=CC=9C=CD=89=CC=B3=CC=B2?=
=?UTF-8?q?=CC=96=CC=B3=CD=88=CC=A7=CC=96=CC=BB=CD=9C=CC=B2=CC=A6=CC=9C?=
=?UTF-8?q?=CC=9D=CD=89=CC=A2=CD=88=CD=88=CC=BA=CC=A5=CC=B2=CC=97=CC=A4?=
=?UTF-8?q?=CC=B0=CC=B9=CC=97=CD=9C=CD=9C=CD=89=CD=85=CD=96=CC=A6=CC=99?=
=?UTF-8?q?=CC=9F=CD=95=CC=9F=CD=93=CC=AF=CC=B2=CC=A6=CD=96=CC=A5=CC=A0?=
=?UTF-8?q?=CC=A9=CC=A7=CC=B3=CC=9E=CD=9C=CC=A6=CC=B0=CC=A8=CC=9C=CD=8E?=
=?UTF-8?q?=CC=A2=CC=BB=CC=BB=CD=88=CC=9F=CC=A8=CC=BB=CD=9C=CC=9D=CC=AC?=
=?UTF-8?q?=CD=8E=CD=87=CD=94=CD=93=CC=A6=CC=BC=CC=BA=CD=8E=CD=8D=CC=A4?=
=?UTF-8?q?=CC=A4=CC=96=CC=AC=CD=94=CC=A1=CD=8E=CC=B9=CC=A8=CC=A1=CC=A7?=
=?UTF-8?q?=CD=96=CD=85=CD=93=CD=99=CC=A0=CC=A6=CC=A0=CC=BA=CD=9A=CC=A8?=
=?UTF-8?q?=CC=AF=CC=BC=CC=99=CC=9C=CC=9D=CC=9F=CC=A9=CC=9C=CC=99=CC=B2?=
=?UTF-8?q?=CC=A9=CC=B1=CC=AD=CD=8E=CC=AC=CC=B3l=CC=B6=CC=92=CC=95=CC=83?=
=?UTF-8?q?=CC=87=CC=95=CC=83=CC=82=CD=8A=CD=90=CC=89=CD=9D=CD=A0=CC=93?=
=?UTF-8?q?=CC=8E=CC=94=CC=8A=CC=90=CD=91=CD=86=CC=88=CC=AD=CD=8E=CD=9C?=
=?UTF-8?q?=CD=85=CC=BA=CC=99=CC=A6=CC=9D=CC=A4=CC=A6=CC=B9=CC=A8=CC=B0?=
=?UTF-8?q?=CC=B0=CC=A4=CD=89=CC=BA=CC=B0=CD=8E=CC=B3=CC=BB=CC=B2=CD=96?=
=?UTF-8?q?=CD=8D=CC=AD=CD=88=CC=B3=CC=97=CC=B2=CC=A6=CC=9C=CC=B0=CD=88?=
=?UTF-8?q?=CC=AF=CC=B3=CD=88=CC=9D=CC=BB=CC=AD=CC=9E=CD=93=CD=8D=CC=BA?=
=?UTF-8?q?=CC=A8=CC=BA=CC=AB=CC=A9=CC=A2=CD=9A=CC=B3=CC=A4=CC=96=CC=AE?=
=?UTF-8?q?=CC=B2=CC=BA=CC=B9=CC=9D=CD=94=CC=BC=CC=B9=CC=9D=CC=9D=CC=99?=
=?UTF-8?q?=CC=A5=CC=A6=CC=A4=CC=B2=CC=B1=CC=BB=CD=96=CC=AE=CC=A1=CC=A4?=
=?UTF-8?q?=CC=9F=CC=B9=CD=96=CD=94=CD=96=CD=87=CC=AC=CC=AF=CC=B9=CD=99?=
=?UTF-8?q?=CC=AF=CC=A2=CC=97=CD=88=CC=97=CC=AC=CD=93=CC=AB=CC=9C=CC=98?=
=?UTF-8?q?=CC=AC=CC=A7=CD=9A=CC=BA=CD=88=CD=95=CD=8D=CD=96=CC=A2=CC=98?=
=?UTF-8?q?=CC=A1p=CC=B7=CC=9B=CC=BD=CD=82=CC=9A=CC=81=CC=81=CC=BE=CC=9B?=
=?UTF-8?q?=CD=8B=CD=8B=CC=8B=CC=91=CC=85=CC=8B=CC=90=CC=85=CC=89=CC=9A?=
=?UTF-8?q?=CD=90=CC=8C=CC=9A=CC=82=CC=8A=CC=BF=CD=8C=CC=BD=CC=8A=CD=98?=
=?UTF-8?q?=CC=86=CC=9A=CD=84=CD=8C=CC=89=CC=8F=CC=91=CC=88=CD=84=CC=9A?=
=?UTF-8?q?=CC=89=CD=84=CC=8B=CC=8B=CD=9D=CC=84=CC=91=CC=80=CD=84=CC=93?=
=?UTF-8?q?=CC=91=CC=8F=CD=9D=CD=9D=CD=83=CC=BE=CC=BE=CD=84=CC=81=CC=85?=
=?UTF-8?q?=CC=93=CD=8A=CC=84=CC=8F=CC=BD=CC=95=CD=86=CD=81=CC=95=CC=88?=
=?UTF-8?q?=CC=BF=CD=98=CC=8D=CC=92=CC=90=CC=89=CD=90=CC=9B=CC=83=CD=8B?=
=?UTF-8?q?=CD=9D=CD=9D=CC=8A=CC=82=CC=8D=CC=BE=CC=8C=CD=97=CC=83=CD=9D?=
=?UTF-8?q?=CD=97=CC=9B=CD=84=CC=80=CC=9A=CD=84=CD=9B=CD=91=CC=8F=CC=88?=
=?UTF-8?q?=CC=95=CC=8D=CC=BF=CC=BD=CD=92=CC=BD=CD=84=CD=A0=CC=81=CD=9B?=
=?UTF-8?q?=CD=84=CD=A0=CD=92=CD=80=CD=98=CD=84=CC=8E=CC=BF=CD=80=CD=83?=
=?UTF-8?q?=CC=86=CC=80=CC=8E=CC=80=CD=81=CC=BD=CC=83=CD=9D=CC=8F=CC=8F?=
=?UTF-8?q?=CC=89=CD=8B=CC=91=CC=BE=CD=92=CC=93=CD=98=CC=95=CC=86=CC=87?=
=?UTF-8?q?=CC=93=CC=9A=CC=9B=CC=86=CC=BF=CC=80=CC=8F=CC=86=CD=9D=CD=9D?=
=?UTF-8?q?=CC=8E=CC=8A=CD=90=CD=A0=CC=8B=CC=93=CC=92=CC=9B=CC=BE=CC=8E?=
=?UTF-8?q?=CD=9D=CC=91=CD=90=CD=97=CC=8B=CD=80=CD=8A=CC=89=CC=8C=CC=83?=
=?UTF-8?q?=CD=86=CC=90=CC=90=CD=9D=CD=92=CC=8C=CC=81=CD=83=CC=8B=CC=8E?=
=?UTF-8?q?=CC=87=CD=84=CC=8C=CD=8C=CD=81=CC=8B=CD=91=CD=83=CD=83=CC=9A?=
=?UTF-8?q?=CD=9D=CD=92=CD=81=CD=82=CC=8B=CC=88=CC=9B=CD=81=CD=98=CD=8C?=
=?UTF-8?q?=CD=84=CD=86=CC=85=CD=9D=CD=81=CC=8E=CD=9B=CD=84=CC=80=CC=8C?=
=?UTF-8?q?=CC=8A=CD=80=CC=82=CC=84=CD=98=CD=A0=CC=80=CC=84=CC=94=CC=8A?=
=?UTF-8?q?=CD=9D=CC=BF=CC=88=CD=8C=CD=91=CD=A0=CC=80=CD=9D=CC=93=CC=8B?=
=?UTF-8?q?=CD=9D=CC=95=CD=84=CC=94=CD=97=CD=93=CD=8E=CC=AB=CC=AC=CD=99?=
=?UTF-8?q?=CC=9E=CC=B1=CC=AF=CD=8E=CC=A6=CD=8D=CC=AE=CC=98=CC=99=CC=97?=
=?UTF-8?q?=CC=A0=CC=A6=CC=B0=CC=9C=CC=AE=CD=96=CC=A5=CD=96=CC=AD=CC=B9?=
=?UTF-8?q?=CC=B0=CC=9C=CC=AA=CD=85=CC=A3=CD=99=CC=A4=CC=AE=CD=96=CD=95?=
=?UTF-8?q?=CD=8D=CC=AA=CC=A1=CC=AB=CD=99=CD=89=CC=98=CC=AC=CC=A4=CC=BA?=
=?UTF-8?q?=CC=BC=CD=96=CD=89=CC=9E=CC=AB=CC=BC=CC=AB=CC=A0=CD=9C=CC=B3?=
=?UTF-8?q?=CC=B3=CC=B9=CD=96=CC=A8=CC=9D=CD=8E=CC=A0=CD=8E=CC=A0=CC=A3?=
=?UTF-8?q?=CC=B9=CC=A2=CC=AA=CC=A2=CC=A1=CC=AF=CC=B1=CC=99=CC=B2=CC=A6?=
=?UTF-8?q?=CC=BA=CC=99=CC=A9=CC=A9=CC=B0=CD=93=CC=9F=CC=97=CD=93=CD=88?=
=?UTF-8?q?=CC=A4=CC=A8=CC=AE=CC=B0=CC=A1=CC=A9=CC=97=CC=AA=CD=93=CC=9C?=
=?UTF-8?q?=CD=88=CD=87=CC=A6=CC=A0=CD=93=CC=9D=CC=BB=CC=A7=CC=B9=CC=B2?=
=?UTF-8?q?=CC=A1=CC=A7=CD=89=CC=A6=CC=9D=CC=B2=CC=B2=CC=BB=CC=A3=CC=AE?=
=?UTF-8?q?=CC=AA=CD=85=CC=AC=CC=AD=CC=B9=CC=A2=CC=A5=CC=B9=CC=BB=CD=94?=
=?UTF-8?q?=CC=A1=CC=9E=CC=BA=CC=AF=CC=97=CC=B3=CD=99=CC=AE=CC=AE=CC=BB?=
=?UTF-8?q?=CC=B2=CD=87=CD=87=CC=A8=CD=94=CC=A5=CC=97=CD=87=CD=9A=CC=9C?=
=?UTF-8?q?=CD=95=CC=B0=CD=89=CC=B3=CD=89=CC=BC=CD=94=CC=A5=CC=97=CC=A2?=
=?UTF-8?q?=CC=B2=CC=A2=CC=9F=CD=93=CC=B2=CC=AC=CC=A3=CD=8E=CC=BA=CC=B2?=
=?UTF-8?q?=CD=8D=CC=B1=CD=96=CC=BA=CC=9F=CC=A5=CC=B1=CD=85=CC=A0=CC=A3?=
=?UTF-8?q?=CC=98=CC=A8=CD=99=CD=8D=CC=99=CC=9E=CD=8E=CC=9E=CC=B3=CC=96?=
=?UTF-8?q?=CC=B0=CC=A1=CC=96=CC=AA=CC=B2=CC=99=CC=96=CC=A1=CC=A8=CC=A2?=
=?UTF-8?q?=CC=B9=CC=B3=CC=96=CC=97=CC=A2=CC=AC=CC=96=CC=9D=CD=95=CC=AE?=
=?UTF-8?q?=CC=BA=CC=AD=CD=8D=CC=AC=CC=B2=CC=BA=CD=88=CC=B1=CC=AF=CC=A0?=
=?UTF-8?q?=CC=AF=CC=97=CD=88=CD=94=CD=95=CC=B9=CC=97=CD=89=CC=A1=CC=B1?=
=?UTF-8?q?=CC=B3=CC=B0=CC=A8=CC=9D=CC=98=CD=89=CD=88=CC=9D=CC=A9=CD=93?=
=?UTF-8?q?=CC=A4=CD=8E=CC=BA=CC=A6=CC=96=CC=A5=CC=A9=CC=BA=CC=B9=CC=98=20?=
=?UTF-8?q?=CC=B6=CC=8C=CD=82=CD=9B=CD=83=CC=83=CD=80=CD=A0=CD=98=CC=80?=
=?UTF-8?q?=CD=9D=CC=80=CD=83=CC=8D=CC=9B=CD=80=CC=94=CC=80=CC=86=CD=92?=
=?UTF-8?q?=CD=81=CC=81=CD=8A=CD=8C=CC=82=CC=8A=CD=81=CC=88=CD=97=CC=8D?=
=?UTF-8?q?=CC=BE=CD=80=CC=BE=CC=82=CC=8A=CD=92=CC=86=CC=AE=CC=AC=CC=AC?=
=?UTF-8?q?=CC=BB=CC=B0=CC=9E=CD=9C=CD=87=CC=AB=CC=AA=CD=9C=CC=A3=CC=9D?=
=?UTF-8?q?=CD=9C=CC=9C=CC=A2=CC=BC=CC=BA=CC=BA=CC=A4=CC=AA=CC=B1=CD=99?=
=?UTF-8?q?=CD=94=CD=96=CC=99=CD=93=CC=AA=CD=85=CC=9C=CC=AD=CC=A6=CC=AF?=
=?UTF-8?q?=CC=AA=CC=AC=CC=A4=CC=A7=CD=9A=CC=BB=CC=9E=CC=9E=CC=9D=CC=98?=
=?UTF-8?q?=CD=96=CC=A5=CC=98=CC=B1=CD=85=CC=AB=CD=9A=CC=BC=CC=B1=CC=AE?=
=?UTF-8?q?=CC=9C=CC=A7=CD=96=CC=AB=CC=9E=CC=B0=CC=A4=CC=AA=CC=9C=CC=A2?=
=?UTF-8?q?=CC=9F=CC=99=CC=AE=CD=89=CC=98=CD=99=CC=AD=CC=A0=CD=85=CD=9C?=
=?UTF-8?q?=CD=88=CC=AF=CC=AB=CC=B0=CC=A4=CC=A3=CC=AD=CC=A6=CD=95=CC=A9?=
=?UTF-8?q?=CC=B0=CC=9D=CC=A1=CC=B0=CC=A3=CC=96=CD=85=CC=96=CC=99=CD=93?=
=?UTF-8?q?=CC=A5=CC=B9=CC=A0=CD=89=CC=9E=CC=BA=CD=9A=CC=B9=CC=AC=CD=87?=
=?UTF-8?q?=CC=A5=CC=A1=CC=A4=CC=B2=CC=AA=CD=94=CD=96=CC=B2=CD=99=CD=99?=
=?UTF-8?q?=CC=A3=CC=A9=CD=8D=CC=9C=CC=AE=CC=AE=CC=A9=CD=87=CC=9F=CD=89?=
=?UTF-8?q?=CC=BA=CD=8EM=CC=B4=CC=93=CD=9D=CD=8A=CC=9B=CC=95=CC=81=CC=8F?=
=?UTF-8?q?=CC=87=CC=85=CC=91=CC=BF=CD=84=CC=80=CD=8C=CC=BF=CC=8E=CC=80?=
=?UTF-8?q?=CC=BF=CD=83=CD=82=CC=BE=CC=88=CC=BE=CC=88=CC=86=CC=82=CC=83?=
=?UTF-8?q?=CC=BE=CD=83=CD=8B=CC=85=CC=83=CD=86=CC=BD=CC=85=CC=87=CC=94?=
=?UTF-8?q?=CD=8B=CD=A0=CD=80=CD=91=CD=8C=CD=91=CD=9B=CC=9B=CD=90=CD=9D?=
=?UTF-8?q?=CC=9A=CD=8A=CD=80=CC=8D=CC=9B=CC=90=CC=87=CD=92=CC=95=CD=92?=
=?UTF-8?q?=CC=85=CD=84=CD=8B=CC=8D=CC=92=CC=91=CC=82=CD=8A=CC=89=CD=9B?=
=?UTF-8?q?=CC=BE=CD=98=CD=A0=CD=9D=CC=85=CD=84=CC=8D=CC=88=CD=82=CD=9D?=
=?UTF-8?q?=CD=83=CC=82=CC=80=CC=85=CD=84=CD=8B=CD=9D=CC=82=CC=94=CD=8C?=
=?UTF-8?q?=CD=80=CC=8A=CC=BE=CC=94=CC=BA=CC=97=CD=89=CC=AC=CD=89=CD=88?=
=?UTF-8?q?=CC=A1=CC=A6=CC=BA=CC=A1=CD=89=CC=AB=CD=85=CC=A7=CC=A8=CC=9F?=
=?UTF-8?q?=CC=B1=CC=AC=CC=A0=CC=AD=CC=A1=CC=A9=CD=89=CC=96=CD=94=CD=9C?=
=?UTF-8?q?=CC=97=CD=88=CD=8E=CD=9A=CD=94=CC=96=CC=A9=CC=A1=CC=AD=CC=AA?=
=?UTF-8?q?=CC=BA=CC=BA=CC=BB=CC=A2=CC=B0=CD=8D=CC=A8=CC=9C=CD=95=CC=A2?=
=?UTF-8?q?=CC=A6=CC=A3=CD=94=CC=AE=CC=B9=CD=85=CC=B9=CC=B1=CC=A5=CD=88?=
=?UTF-8?q?=CC=AC=CC=A0=CC=AA=CD=8E=CC=AE=CC=97=CC=98=CC=AB=CD=89=CD=85?=
=?UTF-8?q?=CC=A7=CC=A8=CC=B9=CC=A5=CD=88=CC=AF=CC=A3=CC=AC=CC=A6=CC=AF?=
=?UTF-8?q?=CD=96=CC=A7=CC=B3=CC=9D=CD=89=CC=A7=CC=AF=CD=8D=CC=AE=CC=A8?=
=?UTF-8?q?=CC=AB=CC=A9=CC=B2=CC=A9=CC=A7=CC=AF=CD=87=CD=95=CC=9E=CC=AF?=
=?UTF-8?q?=CD=88=CC=AF=CD=88=CC=AC=CC=AD=CC=A7=CC=A5=CC=AE=CC=AA=CD=8D?=
=?UTF-8?q?=CD=88=CC=9C=CC=AE=CC=9E=CD=95=CC=BA=CD=9A=CC=AB=CC=B1=CD=96?=
=?UTF-8?q?=CC=BB=CC=A3=CC=AB=CD=95=CC=AD=CC=A7=CC=A8=CD=87=CC=9E=CC=A4?=
=?UTF-8?q?=CD=95=CC=9F=CC=97=CC=A0=CC=B0=CC=B0=CC=A5=CC=B0=CC=A1=CD=89?=
=?UTF-8?q?=CD=85=CC=A5=CD=95e=CC=B8=CD=80=CC=84=CC=BF=CD=91=CC=92=CC=BD?=
=?UTF-8?q?=CD=9B=CC=8D=CD=90=CC=BE=CD=84=CC=8E=CD=A0=CD=80=CD=84=CD=8B?=
=?UTF-8?q?=CC=85=CC=95=CC=83=CC=91=CD=90=CC=93=CD=84=CD=92=CD=8C=CC=8E?=
=?UTF-8?q?=CD=98=CD=9D=CD=8C=CD=A0=CC=87=CD=81=CC=9B=CD=90=CD=97=CC=83?=
=?UTF-8?q?=CD=99=CD=88=CC=A1=CD=89=CC=97=CD=96=CC=AA=CC=A8=CD=99=CC=BA?=
=?UTF-8?q?=CD=8D=CC=99=CC=B0=CC=98=CC=BC=CC=A9=CD=9C=CC=A5=CD=95=CD=93?=
=?UTF-8?q?=CC=99=CC=9F=CD=9A=CC=9E=CC=A1=CC=A9=CD=89=CC=A9=CC=99=CC=B2?=
=?UTF-8?q?=CD=95=CD=88=CD=8E=CC=A6=CC=AB=CC=A0=CD=9C=CC=9C=CC=9F=CC=B2?=
=?UTF-8?q?=CC=BC=CC=BA=CD=96=CC=A8=CC=BA=CC=A2=CC=A1=CC=AD=CC=A4=CC=A9?=
=?UTF-8?q?=CC=96=CC=AB=CD=85=CD=89=CC=A2=CC=A4=CD=89=CC=BC=CD=95=CC=A0?=
=?UTF-8?q?=CC=BB=CC=AF=CC=AB=CC=B9=CC=B0=CC=AC=CC=AA=CD=8E=CC=A2=CC=9E?=
=?UTF-8?q?=CD=99=CD=8D=CC=AD=CC=A9=CC=AC=CC=BB=CC=A6=CC=A7=CC=AA=CD=89?=
=?UTF-8?q?=CC=9D=CC=A7=CC=BC=CC=96=CC=9F=CD=8D=CC=A2=CC=BA=CC=9F=CC=96?=
=?UTF-8?q?=CC=BB=CC=9E=CC=97=CC=B0=CC=97=CD=87=CC=A6=CC=9F=CC=A1=CC=9C?=
=?UTF-8?q?=CD=95=CC=A7=CC=9E=CC=A3=CC=A9=CC=AA=CD=88=CC=B0=CD=9C=CC=B2?=
=?UTF-8?q?=CC=B1=CC=A5=CD=93=CC=B9=CD=9C=CD=88=CD=8E=CC=9E=CC=99=CC=B0?=
=?UTF-8?q?=CD=96=CC=BA=CC=BB=CD=95=CC=A3=CC=A8=CC=97=CD=9A=CD=85=CC=A7?=
=?UTF-8?q?=CC=9C=CC=BA=CC=A5=CD=87=CD=89=CC=A6=CC=A9=CC=B3=CC=A0=CC=96?=
=?UTF-8?q?=CD=87=CD=9C=CC=B9=CC=B2=CD=99=CC=B3=CD=93=CC=A8=20=CC=B4=CC=8A?=
=?UTF-8?q?=CD=97=CC=89=CC=8A=CC=8F=CC=9A=CC=83=CC=91=CC=87=CD=9D=CD=97?=
=?UTF-8?q?=CD=81=CD=8C=CC=8D=CD=81=CD=97=CC=91=CD=90=CC=86=CC=94=CD=86?=
=?UTF-8?q?=CC=91=CD=8B=CD=9D=CC=8D=CD=84=CC=BD=CC=8E=CC=BD=CD=86=CD=8B?=
=?UTF-8?q?=CD=8A=CD=86=CC=84=CD=84=CC=8B=CC=8E=CD=84=CC=95=CC=83=CD=84?=
=?UTF-8?q?=CD=82=CD=9B=CC=8B=CC=90=CD=92=CC=8E=CD=92=CD=92=CC=95=CC=86?=
=?UTF-8?q?=CD=9D=CC=8D=CD=84=CC=8B=CC=88=CD=9B=CD=83=CD=84=CC=82=CD=90?=
=?UTF-8?q?=CC=8F=CD=92=CD=98=CC=94=CD=9D=CD=84=CD=86=CC=9B=CC=95=CC=95?=
=?UTF-8?q?=CD=80=CC=87=CC=9A=CD=9D=CC=8E=CD=9B=CD=8A=CD=8B=CD=90=CD=90?=
=?UTF-8?q?=CC=83=CC=8B=CC=84=CD=8C=CD=86=CD=A0=CC=86=CD=98=CD=8B=CD=9D?=
=?UTF-8?q?=CC=83=CD=92=CC=83=CC=88=CD=92=CC=8D=CD=90=CC=8F=CC=8C=CC=8C?=
=?UTF-8?q?=CD=86=CC=85=CD=8A=CC=8D=CC=86=CD=83=CC=8D=CC=87=CD=97=CD=82?=
=?UTF-8?q?=CC=8B=CC=92=CD=8B=CD=84=CC=82=CC=83=CC=9A=CC=90=CC=88=CC=94?=
=?UTF-8?q?=CC=8F=CD=8A=CC=8A=CD=84=CC=83=CC=8A=CC=89=CC=8C=CD=8B=CD=98?=
=?UTF-8?q?=CC=8B=CC=94=CD=84=CC=95=CC=8F=CD=82=CC=8C=CD=83=CD=84=CC=81?=
=?UTF-8?q?=CC=82=CC=BD=CD=81=CC=8B=CC=8E=CD=9D=CD=9D=CC=80=CC=85=CC=BF?=
=?UTF-8?q?=CD=80=CD=92=CD=9D=CC=9B=CD=98=CC=85=CC=81=CC=93=CC=BD=CC=94?=
=?UTF-8?q?=CC=86=CD=8A=CC=9B=CD=97=CD=83=CC=92=CC=BD=CC=88=CD=92=CC=86?=
=?UTF-8?q?=CD=80=CC=80=CD=80=CC=90=CC=8D=CC=82=CD=A0=CC=94=CD=9D=CD=82?=
=?UTF-8?q?=CC=87=CD=84=CC=8E=CC=9B=CC=9F=CD=94=CC=98=CC=AD=CD=88=CC=A7?=
=?UTF-8?q?=CD=94=CC=97=CC=9C=CD=88=CD=8E=CC=A8=CC=B2=CD=95=CC=BA=CC=9F?=
=?UTF-8?q?=CC=9C=CD=87=CC=A3=CC=BC=CC=96=CC=96=CD=96=CC=99=CC=A4=CC=96?=
=?UTF-8?q?=CC=A2=CD=96=CD=9AP=CC=B7=CC=BF=CC=92=CC=84=CC=8D=CC=9A=CD=97?=
=?UTF-8?q?=CC=81=CC=80=CC=83=CD=9D=CD=8B=CC=8E=CC=8D=CC=8A=CD=83=CD=86?=
=?UTF-8?q?=CD=81=CC=80=CC=BE=CD=81=CC=9B=CC=8F=CD=86=CC=92=CD=9B=CD=9D?=
=?UTF-8?q?=CC=8F=CC=8B=CD=97=CC=8E=CC=83=CC=BE=CC=BD=CC=80=CC=BD=CD=80?=
=?UTF-8?q?=CC=87=CD=81=CD=8C=CC=9B=CC=9A=CD=90=CC=84=CC=8B=CD=80=CD=8A?=
=?UTF-8?q?=CD=83=CC=8E=CD=8A=CC=8F=CD=82=CC=8B=CD=83=CC=92=CD=97=CD=84?=
=?UTF-8?q?=CD=82=CC=8A=CD=86=CC=8F=CD=92=CC=8D=CC=82=CC=91=CD=9B=CD=81?=
=?UTF-8?q?=CC=8B=CC=8F=CC=87=CD=90=CC=95=CD=A0=CC=BD=CD=9D=CC=8A=CD=92?=
=?UTF-8?q?=CD=90=CD=91=CC=8A=CD=82=CC=9A=CD=A0=CC=94=CC=83=CC=81=CC=92?=
=?UTF-8?q?=CD=86=CD=9B=CD=8B=CC=BF=CC=8D=CC=89=CC=8D=CC=8A=CC=BD=CC=94?=
=?UTF-8?q?=CD=A0=CC=85=CD=86=CC=82=CD=8B=CC=87=CC=8E=CC=84=CD=81=CD=92?=
=?UTF-8?q?=CC=BE=CD=84=CC=95=CD=84=CC=90=CC=83=CC=81=CD=9D=CC=8C=CD=86?=
=?UTF-8?q?=CD=A0=CC=87=CC=95=CD=A0=CD=92=CC=94=CC=87=CD=8B=CC=84=CD=98?=
=?UTF-8?q?=CD=9D=CD=90=CD=83=CD=84=CD=82=CD=97=CD=90=CC=83=CC=82=CC=8A?=
=?UTF-8?q?=CC=8A=CC=8B=CD=91=CD=92=CC=94=CD=8B=CC=93=CD=91=CD=84=CC=8D?=
=?UTF-8?q?=CC=BF=CC=8E=CC=81=CC=92=CC=92=CD=84=CC=82=CC=89=CD=8C=CD=9D?=
=?UTF-8?q?=CC=91=CC=8B=CD=9B=CD=84=CC=93=CC=8B=CD=A0=CD=90=CC=8F=CC=93?=
=?UTF-8?q?=CC=8A=CC=8D=CD=91=CC=8B=CC=80=CC=9B=CD=84=CD=97=CC=90=CC=BF?=
=?UTF-8?q?=CC=8B=CC=89=CC=9A=CC=84=CD=82=CC=89=CC=81=CD=80=CC=BD=CC=90?=
=?UTF-8?q?=CD=90=CD=80=CC=85=CD=8C=CD=84=CD=83=CC=88=CD=92=CD=8B=CC=90?=
=?UTF-8?q?=CC=84=CC=90=CD=81=CD=90=CC=82=CC=BE=CC=91=CC=94=CC=8E=CC=94?=
=?UTF-8?q?=CC=93=CC=86=CD=84=CC=95=CD=8A=CC=B9=CC=A8=CD=87=CD=99=CC=A7?=
=?UTF-8?q?=CD=9A=CC=B9=CD=9A=CC=AC=CD=8D=CD=9C=CC=AB=CC=AA=CC=B9=CD=8E?=
=?UTF-8?q?=CC=A6=CC=96=CC=A6=CC=B3=CD=9C=CD=9A=CC=A7=CC=9E=CC=9F=CC=A0?=
=?UTF-8?q?=CD=85=CD=89=CD=85=CC=BB=CC=B1=CC=AF=CC=A7l=CC=B4=CC=80=CD=82?=
=?UTF-8?q?=CC=82=CC=8F=CC=80=CC=91=CD=92=CD=92=CD=82=CC=85=CD=81=CD=9A?=
=?UTF-8?q?=CC=BC=CC=B2=CC=A1=CC=A5=CC=AD=CD=94=CC=BA=CD=93=CC=A8=CC=BA?=
=?UTF-8?q?=CD=94=CC=9C=CD=87=CC=AA=CD=9A=CC=A8=CC=AC=CC=AC=CC=AD=CD=8E?=
=?UTF-8?q?=CC=BB=CC=A5=CC=9C=CC=B1=CC=AB=CC=A1=CD=96=CC=A2=CC=BC=CD=8E?=
=?UTF-8?q?=CD=99=CC=B0=CC=B3=CC=B1=CC=A9=CC=AB=CC=B9=CC=B3=CC=A2=CD=96?=
=?UTF-8?q?=CC=96=CC=9F=CC=A2=CC=9E=CC=A5=CD=88=CC=B1=CC=AE=CC=AF=CC=AA?=
=?UTF-8?q?=CC=B1=CC=97=CC=A7=CC=BC=CC=97=CC=A3=CC=A1=CC=AE=CD=8D=CC=A7?=
=?UTF-8?q?=CC=9C=CC=B1=CC=96=CD=9A=CD=8D=CC=A7=CD=87=CC=A4=CC=A2=CC=A9?=
=?UTF-8?q?=CD=99=CC=A5=CC=B0=CC=AA=CC=A2=CC=A5=CC=AB=CC=BB=CC=A9=CC=A4?=
=?UTF-8?q?=CD=94=CC=A2=CC=B3=CC=A1=CC=A6=CC=A9=CC=A2=CC=9F=CC=A2=CD=85?=
=?UTF-8?q?=CD=95=CC=A5=CD=88=CC=BC=CC=AA=CD=88=CC=BB=CC=9E=CD=89=CC=98?=
=?UTF-8?q?=CC=B9=CC=AF=CD=95=CC=A6=CC=A2=CC=A1=CC=A3=CD=87=CD=85=CC=99?=
=?UTF-8?q?=CC=9C=CD=96=CC=B3=CC=A4=CC=BB=CD=95=CC=AE=CC=A1=CC=A3=CC=96?=
=?UTF-8?q?=CC=A6=CC=AC=CC=96=CC=AA=CC=A9=CC=AD=CC=A6=CD=95=CC=B1=CD=96?=
=?UTF-8?q?=CC=A1=CC=A4=CC=A2=CC=AC=CC=AA=CD=95=CC=B2=CC=9C=CC=BB=CC=AD?=
=?UTF-8?q?=CC=A6=CC=B9=CC=9E=CC=BB=CC=AD=CC=96=CD=9A=CC=AD=CC=9F=CC=BB?=
=?UTF-8?q?=CD=95=CC=A5=CC=A1=CD=87=CC=AE=CC=BC=CC=B9=CC=BB=CC=A8=CC=AE?=
=?UTF-8?q?=CD=88=CD=95=CC=BA=CC=B9=CC=97=CC=A6=CC=AF=CD=96=CC=A9=CC=AC?=
=?UTF-8?q?=CD=85=CC=A5=CC=B2=CD=9C=CC=B2=CD=99=CD=9A=CD=85=CC=9D=CC=98?=
=?UTF-8?q?=CC=9D=CC=A9=CC=BA=CC=BC=CD=87=CD=87=CD=8E=CC=A6=CD=8E=CC=A7?=
=?UTF-8?q?=CC=A8=CD=96=CD=85=CD=99=CC=9E=CC=B0=CC=A2=CD=8E=CD=87=CC=AD?=
=?UTF-8?q?=CC=A4=CD=9C=CC=97=CD=95=CC=9C=CC=B1=CC=AB=CD=96=CD=9A=CC=96?=
=?UTF-8?q?=CC=B9=CC=AB=CC=A6=CD=95=CC=9D=CD=94=CD=8E=CC=A6=CC=97=CC=BA?=
=?UTF-8?q?=CC=96=CD=89=CC=B1=CC=BC=CC=97=CC=A6=CC=A9=CD=94=CC=A2=CC=99?=
=?UTF-8?q?=CC=AE=CD=9C=CC=AF=CD=9A=CD=89=CC=9F=CC=AC=CC=AE=CD=9C=CC=BB?=
=?UTF-8?q?=CC=A3=CC=A8=CC=AC=CC=A8=CC=A2=CC=A9=CC=9E=CC=96=CC=A5=CC=AC?=
=?UTF-8?q?=CC=AA=CC=B9=CC=B9=CC=B3=CC=A6=CC=BA=CC=A0=CC=B2=CC=A8=CC=B3?=
=?UTF-8?q?=CC=96=CC=A1=CC=99=CD=95=CC=B2=CC=A2=CC=B0=CC=9D=CC=B9=CC=99?=
=?UTF-8?q?=CD=88=CD=8D=CD=8E=CD=8E=CC=BC=CD=94=CC=A3=CD=88=CC=A9=CC=97?=
=?UTF-8?q?=CC=A6=CC=97=CD=89=CC=AA=CC=A7e=CC=B4=CC=BF=CC=88=CC=90=CC=8A?=
=?UTF-8?q?=CC=8D=CC=9B=CC=8D=CD=9D=CC=8B=CC=8D=CC=BD=CD=A0=CD=84=CD=8B?=
=?UTF-8?q?=CC=85=CC=89=CD=86=CD=A0=CD=A0=CC=8C=CD=84=CD=8C=CC=9B=CC=80?=
=?UTF-8?q?=CC=90=CC=9A=CD=8C=CD=98=CC=94=CC=9B=CD=82=CC=87=CC=BF=CC=BD?=
=?UTF-8?q?=CD=8B=CC=84=CC=BF=CC=8B=CC=81=CC=8C=CC=8A=CD=86=CC=BF=CC=8D?=
=?UTF-8?q?=CC=86=CD=80=CC=8D=CD=83=CC=93=CD=90=CD=98=CD=81=CD=80=CD=8C?=
=?UTF-8?q?=CC=91=CD=98=CC=89=CC=83=CC=89=CC=8E=CC=85=CC=99=CD=9C=CC=AE?=
=?UTF-8?q?=CC=AC=CC=A0=CD=94=CD=8E=CC=A7=CC=A9=CD=95=CC=AA=CC=BA=CC=98?=
=?UTF-8?q?=CC=AB=CD=87=CC=99=CC=BA=CC=A7=CD=9Aa=CC=B6=CD=8B=CD=80=CC=8B?=
=?UTF-8?q?=CD=8C=CC=86=CC=9A=CD=A0=CD=92=CD=98=CD=80=CC=8A=CD=97=CC=91?=
=?UTF-8?q?=CD=83=CD=82=CC=BF=CC=BF=CC=BE=CC=84=CC=9E=CC=A5=CC=AD=CC=A4?=
=?UTF-8?q?=CC=A3=CC=9D=CC=9E=CC=BA=CD=95=CC=AF=CC=A6=CC=A0=CD=94=CD=89?=
=?UTF-8?q?=CC=BB=CC=A2=CC=B1=CC=9F=CC=AC=CD=95=CC=9F=CC=9E=CC=AF=CC=AE?=
=?UTF-8?q?=CC=A3=CD=94=CD=85=CD=94=CC=AC=CC=A1=CD=9C=CC=9C=CD=89=CC=A1?=
=?UTF-8?q?=CD=93=CC=98=CC=AE=CC=99=CC=A5=CC=BC=CC=AA=CC=96=CD=8D=CC=A9?=
=?UTF-8?q?=CD=89=CD=8E=CC=A3=CC=B9=CC=A6=CC=A6=CC=AF=CD=85=CC=BC=CC=AA?=
=?UTF-8?q?=CC=AF=CC=A2=CC=A7=CC=BB=CC=A1=CC=A9=CD=88=CC=A1=CC=B2=CD=88?=
=?UTF-8?q?=CC=A4=CC=A6=CC=AC=CC=AA=CC=9E=CD=96=CC=AF=CC=AF=CD=9A=CC=A8?=
=?UTF-8?q?=CC=A8=CD=8E=CD=8D=CC=97=CD=96=CC=9E=CD=87=CC=B9=CC=A4=CC=AC?=
=?UTF-8?q?=CC=9F=CC=98=CC=99=CC=99=CC=96=CD=87=CC=A4=CC=B0=CC=AEs=CC=B8?=
=?UTF-8?q?=CD=86=CC=84=CC=BF=CC=8E=CC=8B=CD=9D=CC=9B=CD=99=CC=96=CC=9F?=
=?UTF-8?q?=CC=BA=CC=9F=CC=9E=CC=99=CC=99=CD=94=CC=9F=CD=95=CC=B2=CC=9D?=
=?UTF-8?q?=CC=A8=CD=94=CC=A3=CD=93=CD=96=CC=B3=CC=AD=CC=B1=CC=97=CC=B9?=
=?UTF-8?q?=CC=AF=CC=AC=CC=98=CC=9C=CC=BB=CC=A0=CC=AE=CC=99=CD=96=CC=A9?=
=?UTF-8?q?=CD=96=CD=87=CC=B0=CC=B3=CC=A5=CD=89=CC=A4=CD=99=CC=B1=CC=96?=
=?UTF-8?q?=CD=93=CC=98=CC=B3=CC=A8=CC=9E=CC=A3=CD=8D=CD=89=CD=95=CC=9C?=
=?UTF-8?q?=CC=A2=CC=B2=CC=98=CC=9D=CC=BA=CC=9D=CD=8E=CD=93=CD=9A=CD=99?=
=?UTF-8?q?=CC=A5=CC=9D=CD=93=CC=A3=CC=A5=CD=99=CC=BA=CC=99=CC=AF=CC=A1?=
=?UTF-8?q?=CC=98=CD=87=CC=99=CD=87=CC=9F=CC=BB=CD=9A=CC=9D=CC=A0=CC=B0?=
=?UTF-8?q?=CC=AB=CD=85=CC=B9=CC=96=CC=A8=CD=88=CC=9C=CC=AB=CC=B3=CC=AF?=
=?UTF-8?q?=CC=B0=CC=A5=CC=A3=CD=9A=CC=9E=CC=A2=CC=A1=CD=9A=CD=8D=CD=94?=
=?UTF-8?q?=CC=A1=CD=93=CC=AA=CC=A0=CC=A8=CC=A9=CD=96=CD=88=CC=A5=CD=93?=
=?UTF-8?q?=CD=87=CD=8E=CD=94=CC=A9=CC=9C=CC=A8=CC=98=CC=A8=CD=95=CD=9A?=
=?UTF-8?q?=CC=96=CC=BB=CC=A7=CC=B9=CC=A5=CC=AF=CC=A5=CC=AE=CC=9E=CC=B0?=
=?UTF-8?q?=CC=BB=CC=9F=CC=AB=CC=A3=CC=AD=CC=B3=CC=AA=CD=87=CD=89=CC=B2?=
=?UTF-8?q?=CC=A2=CC=97=CD=85=CC=AF=CD=88=CC=A3=CD=99=CC=96=CD=88=CC=BB?=
=?UTF-8?q?=CC=B1=CC=AB=CC=97=CC=A9=CC=B9=CD=8E=CD=9A=CD=99=CC=96=CC=A4?=
=?UTF-8?q?=CC=AF=CC=B0=CD=89=CC=A6=CC=B1=CC=A0=CC=98=CC=96=CC=A5=CC=BB?=
=?UTF-8?q?=CC=A0=CC=A1=CD=88=CC=9C=CC=BCe=CC=B7=CD=81=CD=91=CD=91=CC=92?=
=?UTF-8?q?=CC=8A=CD=A0=CC=84=CC=88=CD=9D=CC=8F=CD=8B=CD=80=CC=9A=CD=90?=
=?UTF-8?q?=CC=83=CD=8C=CD=86=CC=8F=CD=80=CC=8D=CC=9B=CC=BD=CC=9B=CC=91?=
=?UTF-8?q?=CC=8B=CD=84=CD=84=CD=86=CC=83=CC=93=CC=81=CD=81=CC=8B=CD=81?=
=?UTF-8?q?=CC=80=CC=82=CC=90=CD=8A=CD=90=CD=83=CC=BE=CC=BF=CC=92=CC=88?=
=?UTF-8?q?=CC=8D=CC=89=CC=8B=CD=84=CC=BD=CC=8C=CC=91=CC=93=CC=BD=CD=92?=
=?UTF-8?q?=CD=84=CC=89=CC=93=CD=84=CD=84=CC=8E=CC=8C=CC=93=CC=BD=CC=87?=
=?UTF-8?q?=CC=85=CD=8B=CD=98=CC=91=CC=91=CC=82=CC=86=CD=8C=CC=85=CD=82?=
=?UTF-8?q?=CD=81=CD=80=CD=A0=CC=BF=CD=86=CD=84=CC=80=CD=80=CD=84=CD=A0?=
=?UTF-8?q?=CC=8E=CC=8C=CD=91=CC=95=CC=9B=CC=8A=CD=83=CD=82=CD=8A=CD=A0?=
=?UTF-8?q?=CD=81=CC=BE=CC=93=CC=89=CD=8C=CD=98=CC=91=CD=98=CD=80=CD=84?=
=?UTF-8?q?=CD=83=CD=8C=CC=92=CD=97=CC=87=CD=86=CC=9A=CD=91=CD=9D=CD=84?=
=?UTF-8?q?=CD=9D=CD=84=CC=9B=CD=8C=CD=9D=CC=BF=CD=8A=CC=80=CD=9D=CD=86?=
=?UTF-8?q?=CC=90=CC=89=CC=93=CC=8E=CD=80=CD=81=CD=97=CD=82=CC=8E=CC=95?=
=?UTF-8?q?=CD=9D=CC=95=CC=8C=CC=86=CD=82=CD=8C=CD=9D=CD=8A=CC=89=CD=8A?=
=?UTF-8?q?=CD=90=CD=92=CC=8B=CD=84=CC=8F=CC=91=CD=8C=CD=9B=CC=9A=CC=AB?=
=?UTF-8?q?=CC=AC=CD=8E=CC=B1=CC=A2=CC=9C=CC=AF=CD=88=CD=99=CC=A3=CC=A9?=
=?UTF-8?q?=CC=9F=CC=97=CC=BC=CC=AF=CD=9A=CC=B1=CC=B1=CC=B2=CC=AD=CC=A5?=
=?UTF-8?q?=CD=95=CC=A8=CC=A4=CC=A7=CC=A0=CC=AE=CC=9C=CC=98=CC=B2=CC=98?=
=?UTF-8?q?=CC=A9=CD=89=CC=BB=CD=96=CD=9A=CC=B3=CC=B9=CD=87=CC=A1=CC=A9?=
=?UTF-8?q?=CC=A2=CC=A4=CC=A8=CC=9F=CC=9D=CC=A8=CD=8D=CC=A2=CD=99=CC=99?=
=?UTF-8?q?=CC=97=CC=A7=CC=BA=CC=99=CD=93=CD=9A=CC=B0=CC=AE=CD=9A=CC=97?=
=?UTF-8?q?=CC=99=CC=A1=CC=99=CC=B2=CD=9C=CD=89=CC=A8=CC=9D=CC=A8=CC=AF?=
=?UTF-8?q?=CC=B2=CC=9F=CC=A0=CD=8D=CC=A6=CC=A8=CC=A7=CD=95=CD=9A=CC=96?=
=?UTF-8?q?=CC=B3=CD=9C=CC=A2=CC=BC=CC=B0=CC=98=CC=9D=CC=AF=CD=95=CC=A8?=
=?UTF-8?q?=CC=A6=CC=96=CC=9E=CC=AD=CC=AD=CC=B3=CD=9A=CD=9C=CC=AF=CC=A9?=
=?UTF-8?q?=CD=89=CC=B2=CC=AF=CD=85=CD=89=CC=AA=CD=8E=CC=BB=CD=88=CC=AA?=
=?UTF-8?q?=CD=9A=CC=A5=CD=8E=CC=98=CC=AC=CC=97=CC=A8=CC=A5=CC=B9=CC=B0?=
=?UTF-8?q?=CD=85=CC=A5=CC=A5=CD=8E=CD=9C=CC=AD=CC=B9=CD=9A=CC=A2=CD=96?=
=?UTF-8?q?=CC=9C=CC=A4=CC=99=CC=BA=CD=87=CD=96=CC=B9=CC=A6=CC=A7=CC=99?=
=?UTF-8?q?=CC=B0=CC=AA=CC=98=CC=B9=CC=B2=CC=AA=CC=AA=CC=98=CC=AB=CC=9F?=
=?UTF-8?q?=CC=A7=CC=96=CC=A1=CC=AE=CC=99=CC=AD=CC=A4=CC=98=CD=89=CC=9F?=
=?UTF-8?q?=CC=B0=CC=AC)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
lang/vi.json | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lang/vi.json b/lang/vi.json
index 4b1cf5d6..541fee53 100644
--- a/lang/vi.json
+++ b/lang/vi.json
@@ -549,5 +549,10 @@
"galvanized_steel": "Thép mạ kẽm",
"rice": "Gạo",
"midas_touch": "Bàn tay của Midas",
-"liquid_ozone": "Ozone lỏng"
+"liquid_ozone": "Ozone lỏng",
+"web": "Tơ Nhện",
+"soul": "Linh hồn",
+"spider": "Nhện",
+"ectoplasm": "Ngoại chất",
+"tombstone": "Bia mộ"
}
From 8a09621e39f5916b89b8ccf8c070a963ac2edccc Mon Sep 17 00:00:00 2001
From: Salmonfishyy <160120816+Salmonfishyy@users.noreply.github.com>
Date: Sun, 6 Oct 2024 20:57:53 +0700
Subject: [PATCH 04/12] 1.10.1 France Halloween Update (Lutti Arlequin)
---
lang/fr.json | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lang/fr.json b/lang/fr.json
index 835ae068..c1219216 100644
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -548,5 +548,10 @@
"galvanized_steel": "Acier galvanisé",
"rice": "Le riz",
"midas_touch": "Touche de Midas",
-"liquid_ozone": "Ozone liquide"
+"liquid_ozone": "Ozone liquide",
+"web": "Toile",
+"soul": "Âme",
+"spider": "Araignée",
+"ectoplasm": "Ectoplasme",
+"tombstone": "Pierre tombale"
}
From 5b9f2610224100a5a51c78e0fedf53c4e2f5317d Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Tue, 8 Oct 2024 10:11:02 -0700
Subject: [PATCH 05/12] Color
---
mods/genetics.js | 71 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/mods/genetics.js b/mods/genetics.js
index a6d633cd..dc2d8257 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -9,6 +9,77 @@ elements.organism = {
age: 0
},
tick: function(pixel) {
+ if (pixel.vore === 0) {
+ if (Math.random() > 0.2) {
+ pixel.color = "#997457"
+ }
+ else if (Math.random() > 0.2) {
+ pixel.color = "#c4b270"
+ }
+ else if (Math.random() > 0.2) {
+ pixel.color = "#9c916a"
+ }
+ else if (Math.random() > 0.2) {
+ pixel.color = "#9e8955"
+ }
+ else {
+ pixel.color = "#a89a76"
+ }
+ }
+ else if (pixel.vore === 1) {
+ pixel.color = "#9E6954"
+ }
+ else if (pixel.vore === 2) {
+ pixel.color = "#A25F50"
+ }
+ else if (pixel.vore === 3) {
+ pixel.color = "#A7544D"
+ }
+ else if (pixel.vore === 4) {
+ pixel.color = "#A7544D"
+ }
+ else if (pixel.vore === 5) {
+ pixel.color = "#AC4A4A"
+ }
+ else if (pixel.vore === 6) {
+ pixel.color = "#B03F47"
+ }
+ else if (pixel.vore === 7) {
+ pixel.color = "#B53543"
+ }
+ else if (pixel.vore === 8) {
+ pixel.color = "#B92A40"
+ }
+ else if (pixel.vore > 8) {
+ pixel.color = "#BE203D"
+ }
+ else if (pixel.vore === -1) {
+ pixel.color = "#8B7C4F"
+ }
+ else if (pixel.vore === -2) {
+ pixel.color = "#7D8447"
+ }
+ else if (pixel.vore === -3) {
+ pixel.color = "#6F8C3F"
+ }
+ else if (pixel.vore === -4) {
+ pixel.color = "#619437"
+ }
+ else if (pixel.vore === -5) {
+ pixel.color = "#539C2F"
+ }
+ else if (pixel.vore === -6) {
+ pixel.color = "#46A428"
+ }
+ else if (pixel.vore === -7) {
+ pixel.color = "#38AC20"
+ }
+ else if (pixel.vore === -8) {
+ pixel.color = "#2AB418"
+ }
+ else if (pixel.vore < -8) {
+ pixel.color = "#1CBC10"
+ }
if (pixel.geneticCode < 11) {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
From fe310a09a0e1fb1d6b8b7a3bbd3b2ffced91fb3f Mon Sep 17 00:00:00 2001
From: slweeb <91897291+slweeb@users.noreply.github.com>
Date: Tue, 8 Oct 2024 13:51:29 -0400
Subject: [PATCH 06/12] Update mod-list.html
---
mod-list.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mod-list.html b/mod-list.html
index a32861f9..c36d8f69 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -340,7 +340,7 @@
| Visual Effects |
| acid_and_shapes.js | Weird visual effects. Enable in Settings | Alice |
-| customBackground.js | Set your own background(using and image link) | Jayd |
+| customBackground.js | Set your background to an image link | Jayd |
| heatglow.js | Red glowing effect for hot metals | nousernamefound |
| invisible_dye.js | Adds elements like Dye and Spray Paint that take the color of the background | Alice |
| invisible_wall.js | Adds an element like Wall that takes the color of the background | Alice |
@@ -352,8 +352,8 @@
| shader_by_jayd.js | Adds a glow around light elements | Jayd |
| Shroomboxels.js | A variant of acid_and_shapes.js that uses a different trigonometric function | Alice |
| singleColor.js | Makes all elements pick one color each time they're drawn | stefanblox |
-| texture_pack_by_jayd.js | Gives sandboxels a cool background | Jayd |
-| UwUify.js | Gives sandboxels an "UwU" background | Jayd |
+| texture_pack_by_jayd.js | Adds a cool background | Jayd |
+| UwUify.js | Adds an "UwU" background | Jayd |
| Compilations |
From a2195e66bf9c17940f166385904f30b7ece25371 Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Tue, 8 Oct 2024 11:37:16 -0700
Subject: [PATCH 07/12] color bugfix
---
mods/genetics.js | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/mods/genetics.js b/mods/genetics.js
index dc2d8257..fab89c27 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -4,22 +4,24 @@ elements.organism = {
color: ["#997457","#c4b270","#9c916a","#9e8955","#a89a76"],
properties: {
geneticCode: 0,
+ oldvore: 0,
vore: 0,
food: 0,
age: 0
},
tick: function(pixel) {
+ if (pixel.vore != pixel.oldvore) {
if (pixel.vore === 0) {
- if (Math.random() > 0.2) {
+ if (Math.random() > 0.5) {
pixel.color = "#997457"
}
- else if (Math.random() > 0.2) {
+ else if (Math.random() > 0.5) {
pixel.color = "#c4b270"
}
- else if (Math.random() > 0.2) {
+ else if (Math.random() > 0.5) {
pixel.color = "#9c916a"
}
- else if (Math.random() > 0.2) {
+ else if (Math.random() > 0.5) {
pixel.color = "#9e8955"
}
else {
@@ -80,6 +82,8 @@ elements.organism = {
else if (pixel.vore < -8) {
pixel.color = "#1CBC10"
}
+ pixel.oldvore = pixel.vore
+ }
if (pixel.geneticCode < 11) {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
From 4537cc4d7d1f4c87db348eddfad18c4a103ee70f Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Tue, 8 Oct 2024 11:45:54 -0700
Subject: [PATCH 08/12] Update genetics.js
---
mods/genetics.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mods/genetics.js b/mods/genetics.js
index fab89c27..ae95fc73 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -82,7 +82,6 @@ elements.organism = {
else if (pixel.vore < -8) {
pixel.color = "#1CBC10"
}
- pixel.oldvore = pixel.vore
}
if (pixel.geneticCode < 11) {
if (isEmpty(pixel.x, pixel.y+1)) {
@@ -1101,6 +1100,7 @@ elements.organism = {
}
pixel.age += 1
}
+ pixel.oldvore = pixel.vore
},
tempHigh: 150,
stateHigh: "cooked_meat",
From a63f0de0839e28bc96998da478c069e1070de856 Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Tue, 8 Oct 2024 17:34:14 -0700
Subject: [PATCH 09/12] HUGE GENETICS OVERHAUL
---
mods/genetics.js | 1854 +++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 1737 insertions(+), 117 deletions(-)
diff --git a/mods/genetics.js b/mods/genetics.js
index ae95fc73..55e46e69 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -1,88 +1,176 @@
/* by nekonico, do not steal!!!!!! >:3*/
elements.organism = {
- color: ["#997457","#c4b270","#9c916a","#9e8955","#a89a76"],
+ color: ["#997457","#a89a76"],
properties: {
geneticCode: 0,
oldvore: 0,
vore: 0,
food: 0,
- age: 0
+ age: 0,
+ dead: false
},
tick: function(pixel) {
if (pixel.vore != pixel.oldvore) {
if (pixel.vore === 0) {
if (Math.random() > 0.5) {
- pixel.color = "#997457"
- }
- else if (Math.random() > 0.5) {
- pixel.color = "#c4b270"
- }
- else if (Math.random() > 0.5) {
- pixel.color = "#9c916a"
- }
- else if (Math.random() > 0.5) {
- pixel.color = "#9e8955"
+ pixel.color = "#997457"
}
else {
- pixel.color = "#a89a76"
+ pixel.color = "#a89a76"
}
}
else if (pixel.vore === 1) {
- pixel.color = "#9E6954"
+ if (Math.random() > 0.5) {
+ pixel.color = "#9E6954"
+ }
+ else {
+ pixel.color = "#AB8C6B"
+ }
}
else if (pixel.vore === 2) {
- pixel.color = "#A25F50"
+ if (Math.random() > 0.5) {
+ pixel.color = "#A25F50"
+ }
+ else {
+ pixel.color = "#AF7E61"
+ }
}
else if (pixel.vore === 3) {
- pixel.color = "#A7544D"
+ if (Math.random() > 0.5) {
+ pixel.color = "#A7544D"
+ }
+ else {
+ pixel.color = "#B27056"
+ }
}
else if (pixel.vore === 4) {
- pixel.color = "#A7544D"
+ if (Math.random() > 0.5) {
+ pixel.color = "#A7544D"
+ }
+ else {
+ pixel.color = "#B5624B"
+ }
}
else if (pixel.vore === 5) {
- pixel.color = "#AC4A4A"
+ if (Math.random() > 0.5) {
+ pixel.color = "#AC4A4A"
+ }
+ else {
+ pixel.color = "#B85440"
+ }
}
else if (pixel.vore === 6) {
- pixel.color = "#B03F47"
+ if (Math.random() > 0.5) {
+ pixel.color = "#B03F47"
+ }
+ else {
+ pixel.color = "#BC4636"
+ }
}
else if (pixel.vore === 7) {
- pixel.color = "#B53543"
+ if (Math.random() > 0.5) {
+ pixel.color = "#B53543"
+ }
+ else {
+ pixel.color = "#BF382B"
+ }
}
else if (pixel.vore === 8) {
- pixel.color = "#B92A40"
+ if (Math.random() > 0.5) {
+ pixel.color = "#B92A40"
+ }
+ else {
+ pixel.color = "#C22A20"
+ }
}
else if (pixel.vore > 8) {
- pixel.color = "#BE203D"
+ if (Math.random() > 0.5) {
+ pixel.color = "#BE203D"
+ }
+ else {
+ pixel.color = "#C51C15"
+ }
}
else if (pixel.vore === -1) {
- pixel.color = "#8B7C4F"
+ if (Math.random() > 0.5) {
+ pixel.color = "#8B7C4F"
+ }
+ else {
+ pixel.color = "#9D9A6B"
+ }
}
else if (pixel.vore === -2) {
- pixel.color = "#7D8447"
+ if (Math.random() > 0.5) {
+ pixel.color = "#7D8447"
+ }
+ else {
+ pixel.color = "#939A61"
+ }
}
else if (pixel.vore === -3) {
- pixel.color = "#6F8C3F"
+ if (Math.random() > 0.5) {
+ pixel.color = "#6F8C3F"
+ }
+ else {
+ pixel.color = "#889A56"
+ }
}
else if (pixel.vore === -4) {
- pixel.color = "#619437"
+ if (Math.random() > 0.5) {
+ pixel.color = "#619437"
+ }
+ else {
+ pixel.color = "#7D9A4B"
+ }
}
else if (pixel.vore === -5) {
- pixel.color = "#539C2F"
+ if (Math.random() > 0.5) {
+ pixel.color = "#539C2F"
+ }
+ else {
+ pixel.color = "#739A40"
+ }
}
else if (pixel.vore === -6) {
- pixel.color = "#46A428"
+ if (Math.random() > 0.5) {
+ pixel.color = "#46A428"
+ }
+ else {
+ pixel.color = "#689936"
+ }
}
else if (pixel.vore === -7) {
- pixel.color = "#38AC20"
+ if (Math.random() > 0.5) {
+ pixel.color = "#38AC20"
+ }
+ else {
+ pixel.color = "#5E992B"
+ }
}
else if (pixel.vore === -8) {
- pixel.color = "#2AB418"
+ if (Math.random() > 0.5) {
+ pixel.color = "#2AB418"
+ }
+ else {
+ pixel.color = "#539920"
+ }
}
else if (pixel.vore < -8) {
- pixel.color = "#1CBC10"
+ if (Math.random() > 0.5) {
+ pixel.color = "#1CBC10"
+ }
+ else {
+ pixel.color = "#489915"
+ }
}
}
+ if (pixel.food > 0 && Math.random() > 0.99) {
+ pixel.food -= 1;
+ }
+ else if (pixel.food < 1 && pixel.age > 1000 && Math.random() > 0.99) {
+ pixel.dead = true;
+ }
if (pixel.geneticCode < 11) {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
@@ -135,7 +223,7 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
changePixel(pixel,"sugar");
}
@@ -210,9 +298,17 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
- changePixel(pixel,"meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
else if (Math.random() > 0.5) {
changePixel(pixel,"sugar");
@@ -230,23 +326,23 @@ elements.organism = {
else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -382,9 +478,17 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
- changePixel(pixel,"meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
else if (Math.random() > 0.5) {
changePixel(pixel,"sugar");
@@ -403,6 +507,22 @@ elements.organism = {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -538,12 +658,28 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
- changePixel(pixel,"rotten_meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
else if (Math.random() > 0.5) {
- changePixel(pixel,"meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
}
pixel.age += 1
@@ -559,6 +695,22 @@ elements.organism = {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -607,19 +759,19 @@ elements.organism = {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -675,35 +827,19 @@ elements.organism = {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -774,19 +910,35 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
- changePixel(pixel,"rotten_meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
else if (Math.random() > 0.5) {
- changePixel(pixel,"meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
}
pixel.age += 1
}
- else if (pixel.geneticCode > 50) {
+ else if (pixel.geneticCode > 50 && pixel.geneticCode < 61) {
if (isEmpty(pixel.x, pixel.y+1)) {
- /* by nekonico, do not steal!!!!!! >:3*/ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
@@ -795,6 +947,22 @@ elements.organism = {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -843,19 +1011,19 @@ elements.organism = {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -959,6 +1127,22 @@ elements.organism = {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -975,51 +1159,35 @@ elements.organism = {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "algae") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "algae") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "algae") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "algae") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -1090,22 +1258,1474 @@ elements.organism = {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
}
}
- if (pixel.age > 2000) {
+ if (pixel.age > 10000 || pixel.dead === true) {
if (Math.random() > 0.3) {
- changePixel(pixel,"rotten_meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
else if (Math.random() > 0.5) {
- changePixel(pixel,"meat");
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ }
+ pixel.age += 1
+ }
+ else if (pixel.geneticCode > 60 && pixel.geneticCode < 71) {
+ if (isEmpty(pixel.x, pixel.y+1)) {
+ /* by nekonico, do not steal!!!!!! >:3*/ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
+ }
+ if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore > 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fly") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fly") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fly") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fly") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "ant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "ant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "ant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "ant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "egg") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "egg") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "egg") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "egg") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore < 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "wood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "wood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "wood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "wood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ if (isEmpty(pixel.x, pixel.y-1) && pixel.food > 10) {
+ createPixel("organism", pixel.x, pixel.y-1);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x+1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x+1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x-1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x-1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
+ }
+ }
+ if (pixel.age > 10000 || pixel.dead === true) {
+ if (Math.random() > 0.3) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ else if (Math.random() > 0.5) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ }
+ pixel.age += 1
+ }
+ else if (pixel.geneticCode > 70 && pixel.geneticCode < 81) {
+ if (isEmpty(pixel.x, pixel.y+1)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
+ }
+ if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore > 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fly") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fly") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fly") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fly") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "ant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "ant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "ant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "ant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "egg") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "egg") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "egg") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "egg") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bird") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bird") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bird") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bird") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fish") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fish") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fish") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fish") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore < 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "wood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "wood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "wood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "wood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ if (isEmpty(pixel.x, pixel.y-1) && pixel.food > 10) {
+ createPixel("organism", pixel.x, pixel.y-1);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x+1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x+1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x-1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x-1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
+ }
+ }
+ if (pixel.age > 10000 || pixel.dead === true) {
+ if (Math.random() > 0.3) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ else if (Math.random() > 0.5) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ }
+ pixel.age += 1
+ }
+ else if (pixel.geneticCode > 80) {
+ if (isEmpty(pixel.x, pixel.y+1)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
+ }
+ else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
+ }
+ if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore > 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fly") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fly") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fly") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fly") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "ant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "ant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "ant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "ant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "egg") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "egg") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "egg") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "egg") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bird") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bird") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bird") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bird") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fish") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fish") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fish") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fish") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "head") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "head") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "head") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "head") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "body") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "body") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "body") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "body") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore < 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "wood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "wood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "wood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "wood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "petal") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "petal") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "petal") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "petal") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ if (isEmpty(pixel.x, pixel.y-1) && pixel.food > 10) {
+ createPixel("organism", pixel.x, pixel.y-1);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x+1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x+1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x-1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x-1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
+ }
+ }
+ if (pixel.age > 10000 || pixel.dead === true) {
+ if (Math.random() > 0.3) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ else if (Math.random() > 0.5) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
}
}
pixel.age += 1
}
pixel.oldvore = pixel.vore
},
+ reactions: {
+ "cancer": { "elem1":"cancer", "chance":0.005 },
+ "radiation": { "elem1":["ash","grass","meat","cooked_meat","dead_plant","dna","sugar"], "chance":0.4 },
+ },
+ burn: 10,
+ burnTime: 250,
+ burnInto: ["cooked_meat","dead_plant","dna","sugar"],
tempHigh: 150,
- stateHigh: "cooked_meat",
+ stateHigh: ["cooked_meat","dead_plant","dna","sugar"],
tempLow: -50,
- stateLow: "frozen_meat",
+ stateLow: ["frozen_meat","frozen_plant","dna","sugar"],
+ breakInto: ["rotten_meat","dead_plant","dna","sugar"],
category: "organism",
state: "solid",
density: 1050
From 7c34cd30e6a9e26eda3722bd143359e2a7b5ca9d Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Tue, 8 Oct 2024 20:31:52 -0700
Subject: [PATCH 10/12] Working flashbang mod
Actually makes your screen flash (DO not use if you have epilepsy, mod has proper warnings.)
---
mods/true_flashbang.js | 61 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 mods/true_flashbang.js
diff --git a/mods/true_flashbang.js b/mods/true_flashbang.js
new file mode 100644
index 00000000..d30dff31
--- /dev/null
+++ b/mods/true_flashbang.js
@@ -0,0 +1,61 @@
+// by nekonico
+
+elements.true_flashbang = {
+ color: "#65665c",
+ onSelect: function() {
+ logMessage("Caution: If you have epilepsy or any similar vision issues, do not place this element for your own safety.");
+ },
+ behavior: [
+ "XX|EX:20>flashbang_flash%1|XX",
+ "XX|XX|XX",
+ "M2|M1 AND EX:20>flashbang_flash%1|M2",
+ ],
+ category: "weapons",
+ state: "solid",
+ density: 1300,
+ tempHigh: 1455.5,
+ stateHigh: "molten_steel",
+ excludeRandom: true,
+ cooldown: defaultCooldown
+}
+
+elements.flashbang_flash = {
+ color: "#ffffff",
+ properties: {
+ delay: 100
+ },
+ tick: function(pixel) {
+ settings.bg = pixel.color;
+ let hex = Math.round(255 * pixel.alpha).toString(16);
+ pixel.color = `#${hex}${hex}${hex}` // credits to therazzler in the R74n discord for this code :3
+ var done = true;
+ if (pixel.delay) {
+ var delayR = pixel.delay % 1;
+ var delay = pixel.delay - delayR;
+ if (!(pixelTicks - pixel.start > (pixel.delay||1) && Math.random() < 1-delayR)) {
+ done = false;
+ }
+ }
+ if ((Math.random() < 0.75 && done) || pixel.alpha < 0.05) {
+ deletePixel(pixel.x, pixel.y)
+ settings.bg = "#000000";
+ }
+ if (pixel.delay) {
+ pixel.alpha = Math.max(0,1-(pixelTicks - pixel.start)/pixel.delay)
+ }
+ doHeat(pixel);
+
+ },
+ category: "energy",
+ temp: 40,
+ tempLow: -270,
+ stateLow: ["liquid_light",null],
+ state: "gas",
+ category: "energy",
+ density: 0.00001,
+ ignoreAir: true,
+ insulate: true,
+ hidden: true,
+ noMix: true,
+ excludeRandom: true
+}
\ No newline at end of file
From 5eef4ecf82ae03003478159829c5502aed5f365c Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Wed, 9 Oct 2024 13:42:29 -0700
Subject: [PATCH 11/12] They evolve into humans now
---
mods/genetics.js | 1229 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 1131 insertions(+), 98 deletions(-)
diff --git a/mods/genetics.js b/mods/genetics.js
index 55e46e69..2309d2ab 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -320,10 +320,10 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.95 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.95 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
@@ -500,10 +500,10 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.9 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
@@ -688,10 +688,10 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.9 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
@@ -940,10 +940,10 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.8 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
@@ -1288,10 +1288,10 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
/* by nekonico, do not steal!!!!!! >:3*/ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.8 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
@@ -1700,58 +1700,26 @@ elements.organism = {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && elements[pixelMap[pixel.x][pixel.y+1].element].isFood) {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && elements[pixelMap[pixel.x+1][pixel.y].element].isFood) {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && elements[pixelMap[pixel.x-1][pixel.y].element].isFood) {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -2092,10 +2060,10 @@ elements.organism = {
else {
pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
}
- if (Math.random() < 0.2) {
+ if (Math.random() < 0.05) {
pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
}
else {
@@ -2114,10 +2082,10 @@ elements.organism = {
else {
pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
}
- if (Math.random() < 0.2) {
+ if (Math.random() < 0.05) {
pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
}
else {
@@ -2136,10 +2104,10 @@ elements.organism = {
else {
pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
}
- if (Math.random() < 0.2) {
+ if (Math.random() < 0.05) {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
}
else {
@@ -2172,62 +2140,30 @@ elements.organism = {
}
pixel.age += 1
}
- else if (pixel.geneticCode > 80) {
+ else if (pixel.geneticCode > 80 && pixel.geneticCode < 91) {
if (isEmpty(pixel.x, pixel.y+1)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x-1, pixel.y)) {
+ else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
- else if (Math.random() > 0.99 && isEmpty(pixel.x+1, pixel.y)) {
+ else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
if (pixel.vore === 0) {
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sugar") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && elements[pixelMap[pixel.x][pixel.y+1].element].isFood) {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sugar") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && elements[pixelMap[pixel.x+1][pixel.y].element].isFood) {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sugar") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
- deletePixel(pixel.x-1, pixel.y);
- pixel.food += 1
- }
- if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
- deletePixel(pixel.x, pixel.y-1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
- deletePixel(pixel.x, pixel.y+1);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
- deletePixel(pixel.x+1, pixel.y);
- pixel.food += 1
- }
- else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && elements[pixelMap[pixel.x-1][pixel.y].element].isFood) {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
@@ -2632,10 +2568,10 @@ elements.organism = {
else {
pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
}
- if (Math.random() < 0.2) {
+ if (Math.random() < 0.05) {
pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
}
else {
@@ -2654,10 +2590,10 @@ elements.organism = {
else {
pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
}
- if (Math.random() < 0.2) {
+ if (Math.random() < 0.05) {
pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
}
else {
@@ -2676,10 +2612,1107 @@ elements.organism = {
else {
pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
}
- if (Math.random() > 0.8) {
+ if (Math.random() > 0.95) {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
}
+ if (Math.random() < 0.05) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
+ }
+ }
+ if (pixel.age > 10000 || pixel.dead === true) {
+ if (Math.random() > 0.3) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ else if (Math.random() > 0.5) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ }
+ pixel.age += 1
+ }
+ else if (pixel.geneticCode > 90 && pixel.geneticCode < 101) {
+ if (isEmpty(pixel.x, pixel.y+1)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ }
+ else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
+ }
+ else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
+ }
+ if (pixel.vore === 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && elements[pixelMap[pixel.x][pixel.y+1].element].isFood) {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && elements[pixelMap[pixel.x+1][pixel.y].element].isFood) {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && elements[pixelMap[pixel.x-1][pixel.y].element].isFood) {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore > 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fly") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fly") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fly") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fly") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "ant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "ant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "ant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "ant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "egg") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "egg") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "egg") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "egg") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bird") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bird") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bird") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bird") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fish") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fish") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fish") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fish") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "head") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "head") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "head") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "head") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "body") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "body") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "body") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "body") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bone") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bone") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bone") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bone") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "blood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "blood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "blood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "blood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore < 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "wood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "wood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "wood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "wood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "petal") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "petal") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "petal") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "petal") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sapling") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sapling") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sapling") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sapling") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "pinecone") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "pinecone") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "pinecone") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "pinecone") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ if (isEmpty(pixel.x, pixel.y-1) && pixel.food > 10) {
+ createPixel("organism", pixel.x, pixel.y-1);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode += 1;
+ }
if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x+1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x+1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x-1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x-1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore;
+ }
+ }
+ if (pixel.age > 10000 || pixel.dead === true) {
+ if (Math.random() > 0.3) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"rotten_meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ else if (Math.random() > 0.5) {
+ if (pixel.vore > 0) {
+ changePixel(pixel,"meat");
+ }
+ else if (pixel.vore < 0) {
+ changePixel(pixel,"grass");
+ }
+ else if (pixel.vore === 0) {
+ changePixel(pixel,"sugar");
+ }
+ }
+ }
+ pixel.age += 1
+ }
+ else if (pixel.geneticCode > 100) {
+ if (isEmpty(pixel.x, pixel.y+1)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
+ }
+ else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
+ }
+ else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
+ movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
+ }
+ if (pixel.vore === 0) {
+ changePixel(pixel,"human");
+ }
+ else if (pixel.vore > 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rotten_meat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rotten_meat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fly") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fly") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fly") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fly") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "ant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "ant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "ant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "ant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "egg") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "egg") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "egg") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "egg") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "rat") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "rat") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "rat") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "rat") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bird") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bird") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bird") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bird") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "fish") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "fish") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "fish") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "fish") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "head") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "head") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "head") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "head") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "body") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "body") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "body") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "body") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bone") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bone") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bone") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bone") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "blood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "blood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "blood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "blood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ else if (pixel.vore < 0) {
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "grass") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "grass") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "grass") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "dead_plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "dead_plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "plant") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "plant") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "plant") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "plant") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "tree_branch") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "tree_branch") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "wood") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "wood") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "wood") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "wood") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "bamboo") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "bamboo") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "vine") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "vine") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "vine") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "vine") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "cactus") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "cactus") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "petal") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "petal") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "petal") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "petal") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "pistil") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "pistil") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sapling") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "sapling") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "sapling") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "sapling") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "pinecone") {
+ deletePixel(pixel.x, pixel.y-1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "pinecone") {
+ deletePixel(pixel.x, pixel.y+1);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x+1, pixel.y, true) && pixelMap[pixel.x+1][pixel.y].element == "pinecone") {
+ deletePixel(pixel.x+1, pixel.y);
+ pixel.food += 1
+ }
+ else if (Math.random() < 0.1 && !isEmpty(pixel.x-1, pixel.y, true) && pixelMap[pixel.x-1][pixel.y].element == "pinecone") {
+ deletePixel(pixel.x-1, pixel.y);
+ pixel.food += 1
+ }
+ }
+ if (isEmpty(pixel.x, pixel.y-1) && pixel.food > 10) {
+ createPixel("organism", pixel.x, pixel.y-1);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x][pixel.y-1].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x+1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x+1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore -= 1;
+ }
+ else {
+ pixelMap[pixel.x+1][pixel.y].vore = pixel.vore;
+ }
+ }
+ else if (isEmpty(pixel.x-1, pixel.y) && pixel.food > 10) {
+ createPixel("organism", pixel.x-1, pixel.y);
+ pixel.food -= 5;
+ if (Math.random() > 0.8) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode += 1;
+ }
+ if (Math.random() < 0.2) {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode -= 1;
+ }
+ else {
+ pixelMap[pixel.x-1][pixel.y].geneticCode = pixel.geneticCode;
+ }
+ if (Math.random() > 0.995) {
+ pixelMap[pixel.x-1][pixel.y].vore = pixel.vore += 1;
+ }
+ if (Math.random() < 0.005) {
pixelMap[pixel.x-1][pixel.y].vore = pixel.vore -= 1;
}
else {
From 8d8186bb0bff5a8c967ece058669db08515f6849 Mon Sep 17 00:00:00 2001
From: Nekonico <163950752+DBNekonico@users.noreply.github.com>
Date: Wed, 9 Oct 2024 22:12:04 -0700
Subject: [PATCH 12/12] Pills!
---
mods/genetics.js | 378 +++++++++++++++++++++++++++++++++++++----------
1 file changed, 303 insertions(+), 75 deletions(-)
diff --git a/mods/genetics.js b/mods/genetics.js
index 2309d2ab..be89639c 100644
--- a/mods/genetics.js
+++ b/mods/genetics.js
@@ -1,6 +1,11 @@
/* by nekonico, do not steal!!!!!! >:3*/
elements.organism = {
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "M2%10|M1|M2%10",
+ ],
color: ["#997457","#a89a76"],
properties: {
geneticCode: 0,
@@ -172,15 +177,6 @@ elements.organism = {
pixel.dead = true;
}
if (pixel.geneticCode < 11) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y+1);
- }
- else if (Math.random() > 0.9 && isEmpty(pixel.x+1, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y+1);
- }
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -317,16 +313,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 20 && pixel.geneticCode < 31) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.95 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.95 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.95 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -376,7 +369,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -394,7 +387,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -497,16 +490,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 30 && pixel.geneticCode < 41) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.9 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -556,7 +546,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
/* by nekonico, do not steal!!!!!! >:3*/ if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -574,7 +564,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -685,16 +675,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 40 && pixel.geneticCode < 51) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.9 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.9 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -776,7 +763,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -810,7 +797,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -937,16 +924,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 50 && pixel.geneticCode < 61) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.8 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1028,7 +1012,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1094,7 +1078,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1285,16 +1269,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 60 && pixel.geneticCode < 71) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- /* by nekonico, do not steal!!!!!! >:3*/ movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.8 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.8 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "sugar") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1376,7 +1357,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1474,7 +1455,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1697,16 +1678,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 70 && pixel.geneticCode < 81) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1756,7 +1734,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -1886,7 +1864,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2141,16 +2119,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 80 && pixel.geneticCode < 91) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2200,7 +2175,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2362,7 +2337,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2649,16 +2624,13 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 90 && pixel.geneticCode < 101) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && elements[pixelMap[pixel.x][pixel.y-1].element].isFood) {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2708,7 +2680,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -2902,7 +2874,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -3221,19 +3193,16 @@ elements.organism = {
pixel.age += 1
}
else if (pixel.geneticCode > 100) {
- if (isEmpty(pixel.x, pixel.y+1)) {
- movePixel(pixelMap[pixel.x][pixel.y], pixel.x, pixel.y+1);
- }
- else if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
+ if (Math.random() > 0.75 && isEmpty(pixel.x-1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x-1, pixel.y);
}
else if (Math.random() > 0.75 && isEmpty(pixel.x+1, pixel.y)) {
movePixel(pixelMap[pixel.x][pixel.y], pixel.x+1, pixel.y);
}
- if (pixel.vore === 0) {
+ if (pixel.vore > -3 && pixel.vore < 3) {
changePixel(pixel,"human");
}
- else if (pixel.vore > 0) {
+ else if (pixel.vore > 2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "meat") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -3427,7 +3396,7 @@ elements.organism = {
pixel.food += 1
}
}
- else if (pixel.vore < 0) {
+ else if (pixel.vore < -2) {
if (Math.random() < 0.1 && !isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "grass") {
deletePixel(pixel.x, pixel.y-1);
pixel.food += 1
@@ -3748,8 +3717,18 @@ elements.organism = {
pixel.oldvore = pixel.vore
},
reactions: {
- "cancer": { "elem1":"cancer", "chance":0.005 },
- "radiation": { "elem1":["ash","grass","meat","cooked_meat","dead_plant","dna","sugar"], "chance":0.4 },
+ "cancer": { elem1:"cancer", chance:0.005 },
+ "radiation": { elem1:["ash","grass","meat","cooked_meat","dead_plant","dna","sugar"], chance:0.4, func:function(pixel) {
+ if (pixel1.vore > 2) {
+ changePixel(pixel,"cooked_meat");
+ }
+ else if (pixel1.vore < -2) {
+ changePixel(pixel,"dead_plant");
+ }
+ else if (pixel1.vore > -3 && pixel1.vore < 3) {
+ changePixel(pixel,"ash");
+ }
+ }},
},
burn: 10,
burnTime: 250,
@@ -3762,6 +3741,255 @@ elements.organism = {
category: "organism",
state: "solid",
density: 1050
- }
+}
+
+elements.food_pill = {
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.vore > 2) {
+ pixel2.food += 2
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore < -2) {
+ pixel2.food += 2
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore > -3 && pixel2.vore < 3) {
+ pixel2.food += 5
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#2b1107","#5c3322","#2b1107","#5c3322","#2b1107","#5c3322"],
+ tempHigh: 250,
+ stateHigh: ["sugar","cooked_meat","smoke","smoke","smoke","dead_plant","smoke","smoke","smoke","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["sugar","cooked_meat","smoke","smoke","smoke","dead_plant","smoke","smoke","smoke","stench"],
+ breakInto: ["sugar","cooked_meat","dead_plant","dust","dust","dust","dust","dust","dust","dust","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#2b1107","#5c3322","#5c3322","#5c3322","#5c3322","#5c3322","#5c3322","#5c3322","#41770B","#774C35"],
+ isFood: true
+}
+
+elements.pacifism_pill = {
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.vore > 0) {
+ pixel2.vore -= 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore < 0) {
+ pixel2.vore -= 1
+ pixel2.food += 1
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore === 0) {
+ pixel2.vore -= 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#58AA38","#58AA38","#3D6D4B","#316232","#6CA65A","#58AA38","#3D6D4B","#316232","#58AA38","#58AA38","#3D6D4B","#316232"],
+ tempHigh: 250,
+ stateHigh: ["molten_plastic","dead_plant","smoke","smoke","smoke","dead_plant","smoke","smoke","smoke","stench","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["molten_plastic","dead_plant","smoke","smoke","smoke","dead_plant","smoke","smoke","smoke","stench","stench"],
+ breakInto: ["dead_plant","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#6CA65A","#58AA38","#6CA65A","#6CA65A"],
+ isFood: true
+}
+
+elements.neutrality_pill = {
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.vore > 0) {
+ pixel2.vore -= 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore < 0) {
+ pixel2.vore += 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore === 0) {
+ pixel2.food += 1
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#c5dede","#c5dede","#464196","#2E2B64","#a4b3b3","#c5dede","#464196","#2E2B64","#c5dede","#c5dede","#464196","#2E2B64"],
+ tempHigh: 250,
+ stateHigh: ["molten_plastic","sugar","smoke","smoke","smoke","sugar","smoke","smoke","smoke","stench","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["molten_plastic","sugar","smoke","smoke","smoke","sugar","smoke","smoke","smoke","stench","stench"],
+ breakInto: ["sugar","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#a4b3b3","#c5dede","#a4b3b3","#a4b3b3"],
+ isFood: true
+}
+
+elements.aggression_pill = {
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.vore > 0) {
+ pixel2.vore += 1
+ pixel2.food += 1
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore < 0) {
+ pixel2.vore += 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.vore === 0) {
+ pixel2.vore += 1
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.9) {
+ pixel2.geneticCode += 1
+ };
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#B13E3E","#B13E3E","#8E122A","#870C1C","#A83232","#B13E3E","#8E122A","#870C1C","#B13E3E","#B13E3E","#8E122A","#870C1C"],
+ tempHigh: 250,
+ stateHigh: ["molten_plastic","cooked_meat","smoke","smoke","smoke","cooked_meat","smoke","smoke","smoke","stench","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["molten_plastic","cooked_meat","smoke","smoke","smoke","cooked_meat","smoke","smoke","smoke","stench","stench"],
+ breakInto: ["cooked_meat","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#A83232","#B13E3E","#A83232","#A83232"],
+ isFood: true
+}
+
+elements.growth_pill = {
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.vore > 0) {
+ if (Math.random() > 0.9) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.99) {
+ pixel2.vore += 1
+ };
+ pixel2.geneticCode += 1
+ }
+ else if (pixel2.vore < 0) {
+ if (Math.random() > 0.8) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.99) {
+ pixel2.vore -= 1
+ };
+ pixel2.geneticCode += 1
+ }
+ else if (pixel2.vore === 0) {
+ if (Math.random() > 0.75) {
+ pixel2.food += 1
+ };
+ pixel2.geneticCode += 1
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#ECF4B0","#ECF4B0","#D1D099","#CBCA8C","#D2D9A6","#ECF4B0","#D1D099","#CBCA8C","#ECF4B0","#ECF4B0","#D1D099","#CBCA8C"],
+ tempHigh: 250,
+ stateHigh: ["molten_plastic","sugar","smoke","smoke","smoke","herb","smoke","smoke","smoke","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["molten_plastic","sugar","smoke","smoke","smoke","herb","smoke","smoke","smoke","stench"],
+ breakInto: ["sugar","dust","dust","dust","dust","dust","dust","herb","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#D2D9A6","#ECF4B0","#D2D9A6","#D2D9A6"],
+ isFood: true
+}
+
+elements.antiaging_pill = {
+ name: "anti-aging_pill",
+ behavior: behaviors.POWDER,
+ reactions: {
+ "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) {
+ if (pixel2.age > 99) {
+ pixel2.age -= 100;
+ if (Math.random() > 0.999) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.995) {
+ pixel2.geneticCode += 1
+ };
+ }
+ else if (pixel2.age < 100) {
+ pixel2.age = 100;
+ if (Math.random() > 0.999) {
+ pixel2.food += 1
+ };
+ if (Math.random() > 0.995) {
+ pixel2.geneticCode += 1
+ };
+ }
+ }},
+ },
+ category: "organism",
+ state: "solid",
+ color: ["#B8C5C5","#B8C5C5","#9291A6","#8C8B99","#A8AFAF","#B8C5C5","#9291A6","#8C8B99","#B8C5C5","#B8C5C5","#9291A6","#8C8B99"],
+ tempHigh: 250,
+ stateHigh: ["molten_plastic","magnesium","smoke","smoke","smoke","sugar","smoke","smoke","smoke","stench","stench","stench"],
+ burn: 10,
+ burnTime: 200,
+ burnInto: ["molten_plastic","magnesium","smoke","smoke","smoke","sugar","smoke","smoke","smoke","stench","stench","stench"],
+ breakInto: ["magnesium","dust","dust","dust","dust","dust","dust","sugar","dust","dust","dust","dust","dust","dust"],
+ breakIntoColor: ["#A8AFAF","#B8C5C5","#A8AFAF","#A8AFAF"],
+ isFood: true
+}
/* by nekonico, do not steal!!!!!! >:3*/