From 0f8bf2b1e236468bad3b095963261421be199a08 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Sat, 18 Jan 2025 16:19:52 -0800 Subject: [PATCH] shortening and glass shard damage --- mods/biology.js | 9680 +++++++++-------------------------------------- 1 file changed, 1773 insertions(+), 7907 deletions(-) diff --git a/mods/biology.js b/mods/biology.js index d8a2c8e5..7adf05b4 100644 --- a/mods/biology.js +++ b/mods/biology.js @@ -66,6 +66,16 @@ viewInfo[7] = { // Illness View } } +renderPresets.FLESHBURN = function(pixel,ctx) { + drawDefault(ctx,pixel); + if (!viewInfo[view].colorEffects || !pixel.char || pixel.char < 11) { return } + var max = 25; + var ratio = ((pixel.char/max*100)|0)/100; + if (ratio < 0.5) { return } + if (ratio > 1) { ratio = 1 } + drawSquare(ctx,"#000000",pixel.x,pixel.y,undefined,Math.min(0.8,(ratio-0.5)*0.8)); +}, + behaviorRules.BCF = function() { if (btemp.pixel.clone) { if (isEmpty(btemp.newCoords.x, btemp.newCoords.y)) { @@ -153,152 +163,620 @@ behaviorRules.ADB = function() { } }, +doBioNorm = function(pixel) { +if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100) || Math.random() > 0.5 && Math.random() < (pixel.char / 100)) { + pixel.nutrition-- + pixel.oxygen-- +} +if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { + if (elements[pixel.element].isMultiDie === true) { + if (pixel.temp > 95) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].heatDie); + } + } + else if (pixel.temp < -15) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].coldDie); + } + } + else { + if (Math.random() < 0.999) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].roomDie); + } + } + } + else if (elements[pixel.element].isMultiDie === false) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].otherDie); + } + } +} +if (pixel.nutrition === null || isNaN(pixel.nutrition)) { + pixel.nutrition = 500 +} +if (pixel.oxygen === null || isNaN(pixel.oxygen)) { + pixel.oxygen = 500 +} +if (pixel.speed === null || isNaN(pixel.speed)) { + pixel.speed = 0 +} +if (pixel.immune === true && pixel.poisoned != false) { + pixel.poisoned = false +} +if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt +} +if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +} + +doBioBlood = function(pixel) { +if (Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) && Math.random() < 0.001) { + for (var i = 0; i < squareCoords.length; i++) { + var coords = squareCoords[i]; + var x = pixel.x + coords[0]; + var y = pixel.y + coords[1]; + if (isEmpty(x,y)) { + createPixel("flesh",x,y); + } + } +} +if ((Math.random() > (elements[pixel.element].ageRate) && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.5 && Math.random() < (pixel.burnt / 10) ) { + pixel.nutrition-- + pixel.oxygen-- +} +if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { + changePixel(pixel,elements[pixel.element].bleed); +} +if (pixel.nutrition === null || isNaN(pixel.nutrition)) { + pixel.nutrition = 500 +} +if (pixel.oxygen === null || isNaN(pixel.oxygen)) { + pixel.oxygen = 500 +} +if (pixel.speed === null || isNaN(pixel.speed)) { + pixel.speed = 0 +} +if (pixel.immune === true && pixel.poisoned != false) { + pixel.poisoned = false +} +if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt +} +if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + createPixel(elements[pixel.element].bleed,pixel.x,pixel.y-1) + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + createPixel(elements[pixel.element].bleed,pixel.x,pixel.y+1) + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 2 + pixel.speed -= 2 + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + createPixel(elements[pixel.element].bleed,pixel.x-1,pixel.y) + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + if (pixel.heartAttached === true) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans + 10) + pixel.oxygen -= (elements[pixel.element].oxygTrans + 9) + } + else { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + } + if (hitPixel.nutrition < pixel.nutrition) { + if (pixel.heartAttached === true) { + hitPixel.nutrition += (elements[pixel.element].nutrTrans + 10) + pixel.nutrition -= (elements[pixel.element].nutrTrans + 10) + } + else { + hitPixel.nutrition += (elements[pixel.element].nutrTrans) + pixel.nutrition -= (elements[pixel.element].nutrTrans) + } + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { + hitPixel.heartAttached = true + } + } +} +else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (Math.random() > 0.95) { + createPixel(elements[pixel.element].bleed,pixel.x+1,pixel.y) + } + pixel.oxygen -= 50 + pixel.nutrition -= 50 +} +} + +doBioBone = function(pixel){ +if ((Math.random() > 0.995 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 55 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0) || Math.random() > 0.85 && Math.random() < (pixel.burnt / 100) || Math.random() > 0.5 && Math.random() < (pixel.char / 100)) { + pixel.nutrition-- + pixel.oxygen-- +} +if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { + if (elements[pixel.element].isMultiDie === true) { + if (pixel.temp > 95) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].heatDie); + } + } + else if (pixel.temp < -15) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].coldDie); + } + } + else { + if (Math.random() < 0.999) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].roomDie); + } + } + } + else if (elements[pixel.element].isMultiDie === false) { + if (Math.random() < 0.75) { + changePixel(pixel,elements[pixel.element].normDie); + } + else { + changePixel(pixel,elements[pixel.element].otherDie); + } + } +} +if (pixel.nutrition === null || isNaN(pixel.nutrition)) { + pixel.nutrition = 500 +} +if (pixel.oxygen === null || isNaN(pixel.oxygen)) { + pixel.oxygen = 500 +} +if (pixel.speed === null || isNaN(pixel.speed)) { + pixel.speed = 0 +} +if (pixel.immune === true && pixel.poisoned != false) { + pixel.poisoned = false +} +if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } +} +if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt +} +if (!isEmpty(pixel.x, pixel.y-1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x, pixel.y+1, true)) { + var hitPixel = pixelMap[pixel.x][pixel.y+1] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x-1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x-1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +if (!isEmpty(pixel.x+1, pixel.y, true)) { + var hitPixel = pixelMap[pixel.x+1][pixel.y] + if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { + if (hitPixel.oxygen < pixel.oxygen) { + hitPixel.oxygen += (elements[pixel.element].oxygTrans) + pixel.oxygen -= (elements[pixel.element].oxygTrans) + } + if (hitPixel.nutrition < pixel.nutrition) { + hitPixel.nutrition += elements[pixel.element].nutrTrans + pixel.nutrition -= elements[pixel.element].nutrTrans + } + if (hitPixel.speed < pixel.speed) { + hitPixel.speed += 1 + pixel.speed -= 1 + } + if (hitPixel.poisoned != true && pixel.poisoned == true) { + hitPixel.poisoned = true + } + if (hitPixel.immune != true && pixel.immune == true) { + hitPixel.poisoned = false + hitPixel.immune = true + } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } + } +} +} + elements.flesh = { color: ["#9e4839","#ba6449"], category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); doDefaults(pixel); }, density: 2710, @@ -322,8 +800,10 @@ elements.flesh = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -331,6 +811,13 @@ elements.epidermis = { color: "#f7ead0", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "dust", + roomDie: "meat", + coldDie: "dust", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -354,142 +841,8 @@ elements.epidermis = { if (pixel.temp < 15 && Math.random() < 0.1) { pixel.temp += 1; } + doBioNorm(pixel); doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"dust"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } }, density: 2710, state: "solid", @@ -513,8 +866,10 @@ elements.epidermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -522,6 +877,13 @@ elements.dermis = { color: "#CFA08B", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -541,144 +903,7 @@ elements.dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -702,8 +927,10 @@ elements.dermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -711,6 +938,13 @@ elements.cloak_skin = { color: "#CFD4A5", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "dust", + roomDie: "meat", + coldDie: "dust", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -735,173 +969,7 @@ elements.cloak_skin = { pixel.temp += 1; } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"dust"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -925,8 +993,10 @@ elements.cloak_skin = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -934,6 +1004,13 @@ elements.cloak_dermis = { color: "#BC9F7B", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -953,176 +1030,7 @@ elements.cloak_dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { - if (pixel.color != hitPixel.color) { - pixel.color = hitPixel.color - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -1146,8 +1054,10 @@ elements.cloak_dermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -1163,8 +1073,7 @@ elements.loose_hair = { burnInto:["smoke","smoke","fire","ash","ash","stench"], breakInto: [null,null,null,null,"dust"], state: "solid", - density: 2395, - conduct: 0.05, + density: 935, hidden: true } @@ -1400,6 +1309,13 @@ elements.hairy_skin = { color: "#ECDCC3", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "dust", + roomDie: "meat", + coldDie: "dust", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -1445,141 +1361,7 @@ elements.hairy_skin = { pixel.temp += 1; } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"dust"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -1603,9 +1385,11 @@ elements.hairy_skin = { speed: 0, poisoned: false, immune: false, + }, isHair: true, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -1613,6 +1397,13 @@ elements.hair_dermis = { color: "#C89985", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -1641,144 +1432,7 @@ elements.hair_dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -1802,9 +1456,11 @@ elements.hair_dermis = { speed: 0, poisoned: false, immune: false, + }, isHair: true, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -1812,6 +1468,11 @@ elements.scales = { color: "#6b839a", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: false, + normDie: "dust", + otherDie: "calcium", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -1820,144 +1481,7 @@ elements.scales = { pixel.temp -= 1; } doDefaults(pixel); - if (Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.95) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -1978,8 +1502,10 @@ elements.scales = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -1987,6 +1513,13 @@ elements.scale_dermis = { color: "#CFA08B", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -2006,144 +1539,7 @@ elements.scale_dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -2167,8 +1563,10 @@ elements.scale_dermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -2176,6 +1574,13 @@ elements.bug_dermis = { color: "#C6AD5B", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -2195,144 +1600,7 @@ elements.bug_dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -2356,8 +1624,10 @@ elements.bug_dermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -2365,6 +1635,13 @@ elements.amphib_dermis = { color: "#9DAB6A", category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -2384,144 +1661,7 @@ elements.amphib_dermis = { } } doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -2545,8 +1685,10 @@ elements.amphib_dermis = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -2554,154 +1696,19 @@ elements.acidic_flesh = { color: ["#946231","#976E30"], category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "acid", + coldDie: "acid", + heatDie: "acid", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.5) { - changePixel(pixel,"cooked_meat"); - } - else { - changePixel(pixel,"acid"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.5) { - changePixel(pixel,"frozen_meat"); - } - else { - changePixel(pixel,"acid"); - } - } - else { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"acid"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); + doDefaults(pixel); }, density: 2710, state: "solid", @@ -2724,8 +1731,10 @@ elements.acidic_flesh = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -2733,154 +1742,19 @@ elements.slimey_flesh = { color: ["#8EA714","#96B013"], category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "slime", + coldDie: "slime", + heatDie: "slime", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.5) { - changePixel(pixel,"cooked_meat"); - } - else { - changePixel(pixel,"slime"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.5) { - changePixel(pixel,"frozen_meat"); - } - else { - changePixel(pixel,"slime"); - } - } - else { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"slime"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); + doDefaults(pixel); }, density: 2710, state: "solid", @@ -2903,8 +1777,10 @@ elements.slimey_flesh = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -2913,80 +1789,22 @@ elements.cloak_flesh = { grain: 0, category: "structural", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { + var hitPixel = pixelMap[pixel.x][pixel.y-1] + if (elements[hitPixel.element].movable) { if (pixel.color != hitPixel.color) { pixel.color = hitPixel.color } @@ -2994,31 +1812,7 @@ elements.cloak_flesh = { } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { + if (elements[hitPixel.element].movable) { if (pixel.color != hitPixel.color) { pixel.color = hitPixel.color } @@ -3026,31 +1820,7 @@ elements.cloak_flesh = { } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { + if (elements[hitPixel.element].movable) { if (pixel.color != hitPixel.color) { pixel.color = hitPixel.color } @@ -3058,31 +1828,7 @@ elements.cloak_flesh = { } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (pixel.color != hitPixel.color) { - hitPixel.color = pixel.color - } - } - else if (elements[hitPixel.element].movable) { + if (elements[hitPixel.element].movable) { if (pixel.color != hitPixel.color) { pixel.color = hitPixel.color } @@ -3111,8 +1857,10 @@ elements.cloak_flesh = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -3120,147 +1868,19 @@ elements.adipose = { color: ["#C3A375","#B9945A"], category: "nutrition", behavior: behaviors.WALL, + nutrTrans: 5, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "grease", + coldDie: "fat", + heatDie: "grease", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if (Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0 || pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"grease"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"fat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"grease"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 1000 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 15 - pixel.oxygen -= 15 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 5 - pixel.nutrition -= 5 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 15 - pixel.oxygen -= 15 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 5 - pixel.nutrition -= 5 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 15 - pixel.oxygen -= 15 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 5 - pixel.nutrition -= 5 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 15 - pixel.oxygen -= 15 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 5 - pixel.nutrition -= 5 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -3282,6 +1902,7 @@ elements.adipose = { nutrition: 1005, }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -3292,191 +1913,38 @@ elements.acid_vessel = { "SW:acid_vessel%1|XX|SW:acid_vessel%1", "XX|SW:acid_vessel%1|XX", ], + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: false, + normDie: "acid", + otherDie: "acid", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if (Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0 || pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - changePixel(pixel,"acid"); - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75) { + doBioNorm(pixel); + if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75) { if (Math.random() > 0.95) { createPixel("acid",pixel.x,pixel.y-1) } pixel.oxygen -= 50 pixel.nutrition -= 50 } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75) { + if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75) { if (Math.random() > 0.95) { createPixel("acid",pixel.x,pixel.y+1) } pixel.oxygen -= 50 pixel.nutrition -= 50 } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75) { + if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75) { if (Math.random() > 0.95) { createPixel("acid",pixel.x-1,pixel.y) } pixel.oxygen -= 50 pixel.nutrition -= 50 } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75) { + if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75) { if (Math.random() > 0.95) { createPixel("acid",pixel.x+1,pixel.y) } @@ -3490,6 +1958,7 @@ elements.acid_vessel = { speed: 0, poisoned: false, immune: false, + }, tempHigh: 175, stateHigh: ["acid_gas","acid_gas","acid_gas","cooked_meat","cooked_meat"], @@ -3505,6 +1974,7 @@ elements.acid_vessel = { conduct: .001, movable: false, isBio: true, + renderer: renderPresets.FLESHBURN, } elements.heart = { @@ -3514,77 +1984,22 @@ elements.heart = { "XX|XX|XX", "XX|XX|XX", ], + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: true, + normDie: "blood", + roomDie: "meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"blood"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"blood"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"blood"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { + hitPixel.heartAttached = true } } else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75) { @@ -3596,29 +2011,8 @@ elements.heart = { } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { + hitPixel.heartAttached = true } } else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75) { @@ -3630,29 +2024,8 @@ elements.heart = { } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { + hitPixel.heartAttached = true } } else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75) { @@ -3664,29 +2037,8 @@ elements.heart = { } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { + hitPixel.heartAttached = true } } else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75) { @@ -3703,6 +2055,7 @@ elements.heart = { speed: 0, poisoned: false, immune: false, + }, tempHigh: 175, stateHigh: "meat", @@ -3718,91 +2071,29 @@ elements.heart = { conduct: .001, movable: false, isBio: true, + renderer: renderPresets.FLESHBURN, } elements.kidney = { color: ["#AB1354","#89212E","#74272E"], - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|XX|XX", - ], + behavior: behaviors.WALL, + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: true, + normDie: "urine", + roomDie: "meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() > 0.9 && pixel.pee > 0) { - changePixel(pixel,"urine"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() > 0.9 && pixel.pee > 0) { - changePixel(pixel,"urine"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() > 0.9 && pixel.pee > 0) { - changePixel(pixel,"urine"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.pee < pixel.pee && elements[hitPixel.element].isKidney === true) { - hitPixel.pee += 1 - pixel.pee -= 1 - } - if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - hitPixel.speed++ - pixel.pee += 1 - } + if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + hitPixel.speed++ + pixel.pee += 1 } } else if (pixel.pee > 4 && Math.random() > 0.95) { @@ -3813,34 +2104,9 @@ elements.kidney = { } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.pee < pixel.pee && elements[hitPixel.element].isKidney === true) { - hitPixel.pee += 1 - pixel.pee -= 1 - } - if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - hitPixel.speed++ - pixel.pee += 1 - } + if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + hitPixel.speed++ + pixel.pee += 1 } } else if (pixel.pee > 4 && Math.random() > 0.95) { @@ -3851,34 +2117,9 @@ elements.kidney = { } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.pee < pixel.pee && elements[hitPixel.element].isKidney === true) { - hitPixel.pee += 1 - pixel.pee -= 1 - } - if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - hitPixel.speed++ - pixel.pee += 1 - } + if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + hitPixel.speed++ + pixel.pee += 1 } } else if (pixel.pee > 4 && Math.random() > 0.95) { @@ -3889,34 +2130,9 @@ elements.kidney = { } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.pee < pixel.pee && elements[hitPixel.element].isKidney === true) { - hitPixel.pee += 1 - pixel.pee -= 1 - } - if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - hitPixel.speed++ - pixel.pee += 1 - } + if (elements[hitPixel.element].isBlood === true && Math.random() < 0.025 && (hitPixel.speed < 1 || Math.random() < 0.00025) && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + hitPixel.speed++ + pixel.pee += 1 } } else if (pixel.pee > 4 && Math.random() > 0.95) { @@ -3940,6 +2156,12 @@ elements.kidney = { if (pixel.pee > 0) { drawSquare(ctx,"#E9BE3C",pixel.x,pixel.y,undefined,Math.min(0.8,pixel.pee/10)); } + if (!viewInfo[view].colorEffects || !pixel.char || pixel.char < 11) { return } + var max = 25; + var ratio = ((pixel.char/max*100)|0)/100; + if (ratio < 0.5) { return } + if (ratio > 1) { ratio = 1 } + drawSquare(ctx,"#000000",pixel.x,pixel.y,undefined,Math.min(0.8,(ratio-0.5)*0.8)); }, tempHigh: 175, stateHigh: "meat", @@ -3960,156 +2182,22 @@ elements.kidney = { elements.liver = { color: ["#6c2e1f","#7B2827","#702B27"], - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|XX|XX", - ], + behavior: behaviors.WALL, + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: true, + normDie: "rotten_meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.90) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (pixel.speed < -1 && Math.random() < (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { pixel.speed += 1 } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } }, properties: { oxygen: 1000, @@ -4132,6 +2220,7 @@ elements.liver = { conduct: .001, movable: false, isBio: true, + renderer: renderPresets.FLESHBURN, } elements.blood_vessel = { @@ -4141,216 +2230,16 @@ elements.blood_vessel = { "SW:blood_vessel%1|XX|SW:blood_vessel%1", "XX|SW:blood_vessel%1|XX", ], + ageRate: 0.975, + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: true, + bleed: "blood", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if (Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) && Math.random() < 0.001) { - for (var i = 0; i < squareCoords.length; i++) { - var coords = squareCoords[i]; - var x = pixel.x + coords[0]; - var y = pixel.y + coords[1]; - if (isEmpty(x,y)) { - createPixel("flesh",x,y); - } - } - } - if (Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0 || pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen-- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - changePixel(pixel,"blood"); - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 34 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 29 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("blood",pixel.x,pixel.y-1) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 35 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 30 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("blood",pixel.x,pixel.y+1) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 35 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 30 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 2 - pixel.speed -= 2 - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("blood",pixel.x-1,pixel.y) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 35 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 30 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("blood",pixel.x+1,pixel.y) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } + doBioBlood(pixel); }, properties: { oxygen: 1000, @@ -4360,6 +2249,33 @@ elements.blood_vessel = { immune: false, heartAttached: false, }, + reactions: { + "dirt": { elem2: "infected_vessel", chance:0.005 }, + "dust": { elem1: null, elem2: "infected_vessel", chance:0.005 }, + "ash": { elem1: null, elem2: "infected_vessel", chance:0.005 }, + "mud": { elem2: "infected_vessel", chance:0.005 }, + "sand": { elem2: "infected_vessel", chance:0.005 }, + "gravel": { elem2: "infected_vessel", chance:0.005 }, + "brick_rubble": { elem2: "infected_vessel", chance:0.005 }, + "glitter": { elem1: null, elem2: "infected_vessel", chance:0.001 }, + "sulfur": { elem2: "infected_vessel", chance:0.005 }, + "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","blood","blood"], chance:0.005 }, + "mercury": { elem2: null, elem1: "infected_vessel", func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { + pixel1.poisoned = true; + } }, chance:0.005 }, + "vaccine": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { + pixel1.immune = true; + } }, chance:0.01 }, + "antidote": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.immune != true) { + pixel1.immune = true; + } }, chance:0.02 }, + "poison": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { + pixel1.poisoned = true; + } }, chance:0.02 }, + "cyanide": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) { + pixel1.poisoned = true; + } }, chance:0.01 }, + }, tempHigh: 175, stateHigh: "meat", tempLow: -50, @@ -4373,7 +2289,9 @@ elements.blood_vessel = { density: 1250, conduct: .001, movable: false, + extinguish: true, isBio: true, + renderer: renderPresets.FLESHBURN, isBlood: true, } @@ -4384,219 +2302,16 @@ elements.infected_vessel = { "SW:blood_vessel%1|XX|SW:blood_vessel%1", "XX|SW:blood_vessel%1|XX", ], + ageRate: 0.5, + nutrTrans: 5, + oxygTrans: 10, + isMultiDie: true, + bleed: "infection", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if (Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) && Math.random() < 0.001) { - for (var i = 0; i < squareCoords.length; i++) { - var coords = squareCoords[i]; - var x = pixel.x + coords[0]; - var y = pixel.y + coords[1]; - if (isEmpty(x,y)) { - createPixel("flesh",x,y); - } - } - } - if (Math.random() > 0.5 && pixel.nutrition > 0 && pixel.oxygen > 0 || pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition -= 5 - pixel.oxygen -= 5 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - changePixel(pixel,"infection"); - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 40 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 30 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 35 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 25 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 2 - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { - if (Math.random() > 0.95) { - hitPixel.element = "infected_vessel" - hitPixel.color = elements.infected_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("infection",pixel.x,pixel.y-1) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 40 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 30 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 35 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 25 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 2 - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { - if (Math.random() > 0.95) { - hitPixel.element = "infected_vessel" - hitPixel.color = elements.infected_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("infection",pixel.x,pixel.y+1) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 40 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 30 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 35 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 25 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 2 - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { - if (Math.random() > 0.95) { - hitPixel.element = "infected_vessel" - hitPixel.color = elements.infected_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("infection",pixel.x-1,pixel.y) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - if (pixel.heartAttached === true) { - hitPixel.oxygen += 35 - pixel.oxygen -= 40 - } - else { - hitPixel.oxygen += 25 - pixel.oxygen -= 30 - } - } - if (hitPixel.nutrition < pixel.nutrition) { - if (pixel.heartAttached === true) { - hitPixel.nutrition += 30 - pixel.nutrition -= 35 - } - else { - hitPixel.nutrition += 20 - pixel.nutrition -= 25 - } - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 2 - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.5) { - if (Math.random() > 0.95) { - hitPixel.element = "infected_vessel" - hitPixel.color = elements.infected_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true - } - } - } - else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.75 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { - if (Math.random() > 0.95) { - createPixel("infection",pixel.x+1,pixel.y) - } - pixel.oxygen -= 50 - pixel.nutrition -= 50 - } + doBioBlood(pixel); }, properties: { oxygen: 1000, @@ -4604,6 +2319,7 @@ elements.infected_vessel = { speed: 0, poisoned: false, immune: false, + heartAttached: false, }, reactions: { @@ -4622,7 +2338,9 @@ elements.infected_vessel = { density: 1250, conduct: .001, movable: false, + extinguish: true, isBio: true, + renderer: renderPresets.FLESHBURN, isBlood: true, } @@ -4633,206 +2351,53 @@ elements.white_blood_cell = { "SW:blood_vessel%1|XX|SW:blood_vessel%1", "XX|SW:blood_vessel%1|XX", ], + ageRate: 0.995, + nutrTrans: 20, + oxygTrans: 25, + isMultiDie: true, + bleed: "blood", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if (Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - changePixel(pixel,"blood"); - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioBlood(pixel); if (Math.random() > 0.995 && Math.random() < (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050)) || Math.random() > 0.9995) { - hitPixel.element = "blood_vessel" - hitPixel.color = elements.blood_vessel.color + pixel.element = "blood_vessel" + pixel.color = elements.blood_vessel.color } if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { - if (elements[hitPixel.element].id === elements.infected_vessel.id) { - hitPixel.element = "blood_vessel" - hitPixel.color = elements.blood_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { + if (elements[hitPixel.element].id === elements.infected_vessel.id) { + hitPixel.element = "blood_vessel" + hitPixel.color = elements.blood_vessel.color } } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { - if (elements[hitPixel.element].id === elements.infected_vessel.id) { - hitPixel.element = "blood_vessel" - hitPixel.color = elements.blood_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { + if (elements[hitPixel.element].id === elements.infected_vessel.id) { + hitPixel.element = "blood_vessel" + hitPixel.color = elements.blood_vessel.color } } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { - if (elements[hitPixel.element].id === elements.infected_vessel.id) { - hitPixel.element = "blood_vessel" - hitPixel.color = elements.blood_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { + if (elements[hitPixel.element].id === elements.infected_vessel.id) { + hitPixel.element = "blood_vessel" + hitPixel.color = elements.blood_vessel.color } } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 25 - pixel.oxygen -= 25 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { - if (elements[hitPixel.element].id === elements.infected_vessel.id) { - hitPixel.element = "blood_vessel" - hitPixel.color = elements.blood_vessel.color - } - } - if (elements[hitPixel.element].isBlood === true && pixel.heartAttached === true && hitPixel.heartAttached === false && Math.random() > 0.5) { - hitPixel.heartAttached = true + if (elements[hitPixel.element].isBlood === true && Math.random() > 0.25) { + if (elements[hitPixel.element].id === elements.infected_vessel.id) { + hitPixel.element = "blood_vessel" + hitPixel.color = elements.blood_vessel.color } } } @@ -4843,6 +2408,7 @@ elements.white_blood_cell = { speed: 0, poisoned: false, immune: false, + heartAttached: false, }, reactions: { @@ -4864,13 +2430,20 @@ elements.white_blood_cell = { density: 1250, conduct: .001, movable: false, + extinguish: true, isBio: true, + renderer: renderPresets.FLESHBURN, isBlood: true, } elements.eye = { color: "#451800", category: "nervous system", + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: false, + normDie: "meat", + otherDie: "salt_water", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -4878,30 +2451,7 @@ elements.eye = { doHeat(pixel); doBurning(pixel); doElectricity(pixel); - if ((Math.random() > 0.895 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"salt_water"); - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] doElectricity(hitPixel); @@ -4917,27 +2467,6 @@ elements.eye = { } pixel.saw = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] @@ -4954,27 +2483,6 @@ elements.eye = { } pixel.saw = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] @@ -4991,27 +2499,6 @@ elements.eye = { } pixel.saw = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] @@ -5028,27 +2515,6 @@ elements.eye = { } pixel.saw = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (pixel.saw === true && Math.random() > 0.8) { pixel.saw = false @@ -5076,12 +2542,18 @@ elements.eye = { saw: false, }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } elements.olfactory_bulb = { color: "#8A7650", category: "nervous system", + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: false, + normDie: "meat", + otherDie: "rotten_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -5089,30 +2561,7 @@ elements.olfactory_bulb = { doHeat(pixel); doBurning(pixel); doElectricity(pixel); - if ((Math.random() > 0.895 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (Math.random() < 0.85) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] doElectricity(hitPixel); @@ -5135,16 +2584,6 @@ elements.olfactory_bulb = { } pixel.smell = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] @@ -5168,16 +2607,6 @@ elements.olfactory_bulb = { } pixel.smell = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] @@ -5201,16 +2630,6 @@ elements.olfactory_bulb = { } pixel.smell = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] @@ -5234,16 +2653,6 @@ elements.olfactory_bulb = { } pixel.smell = false } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } } if (pixel.smell === true && Math.random() > 0.8) { pixel.smell = false @@ -5271,12 +2680,18 @@ elements.olfactory_bulb = { smell: false, }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } elements.taste_bud = { color: "#DB6767", category: "nervous system", + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: false, + normDie: "meat", + otherDie: "rotten_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -5284,67 +2699,34 @@ elements.taste_bud = { doHeat(pixel); doBurning(pixel); doElectricity(pixel); - if ((Math.random() > 0.895 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen-- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] doElectricity(hitPixel); if (( elements[hitPixel.element].id === elements.sugar.id || elements[hitPixel.element].id === elements.salt.id || elements[hitPixel.element].id === elements.grease.id || elements[hitPixel.element].id === elements.cooked_meat.id || elements[hitPixel.element].id === elements.chocolate.id || elements[hitPixel.element].id === elements.chocolate_powder.id || elements[hitPixel.element].id === elements.cheese.id || elements[hitPixel.element].id === elements.cheese_powder.id || elements[hitPixel.element].id === elements.pickle.id || elements[hitPixel.element].id === elements.herb.id || elements[hitPixel.element].id === elements.juice.id || elements[hitPixel.element].id === elements.gingerbread.id || elements[hitPixel.element].id === elements.ketchup.id || elements[hitPixel.element].id === elements.mayo.id || elements[hitPixel.element].id === elements.sauce.id || elements[hitPixel.element].id === elements.chocolate_milk.id || elements[hitPixel.element].id === elements.grape.id || elements[hitPixel.element].id === elements.pilk.id || elements[hitPixel.element].id === elements.fruit_milk.id || elements[hitPixel.element].id === elements.nut_milk.id || elements[hitPixel.element].id === elements.soda.id || elements[hitPixel.element].id === elements.sugar_water.id ) && Math.random() > 0.5 && hitPixel.tasted != true) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } } else if ((elements[hitPixel.element].id === elements.alcohol.id || elements[hitPixel.element].id === elements.rotten_cheese.id || elements[hitPixel.element].id === elements.rotten_meat.id || elements[hitPixel.element].id === elements.pool_water.id || elements[hitPixel.element].id === elements.poison.id || elements[hitPixel.element].id === elements.bleach.id || elements[hitPixel.element].id === elements.cyanide.id || elements[hitPixel.element].id === elements.infection.id) && Math.random() > 0.5) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } pixel.oxygen-- pixel.nutrition-- } - else if (pixel.taste === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + else if (pixel.tasted === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (!hitPixel.charge) { hitPixel.charge = 0.1 } else if (hitPixel.charge) { hitPixel.charge += 0.1 } - pixel.taste = false - } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } + pixel.tasted = false } } if (!isEmpty(pixel.x, pixel.y+1, true)) { @@ -5353,37 +2735,27 @@ elements.taste_bud = { if (( elements[hitPixel.element].id === elements.sugar.id || elements[hitPixel.element].id === elements.salt.id || elements[hitPixel.element].id === elements.grease.id || elements[hitPixel.element].id === elements.cooked_meat.id || elements[hitPixel.element].id === elements.chocolate.id || elements[hitPixel.element].id === elements.chocolate_powder.id || elements[hitPixel.element].id === elements.cheese.id || elements[hitPixel.element].id === elements.cheese_powder.id || elements[hitPixel.element].id === elements.pickle.id || elements[hitPixel.element].id === elements.herb.id || elements[hitPixel.element].id === elements.juice.id || elements[hitPixel.element].id === elements.gingerbread.id || elements[hitPixel.element].id === elements.ketchup.id || elements[hitPixel.element].id === elements.mayo.id || elements[hitPixel.element].id === elements.sauce.id || elements[hitPixel.element].id === elements.chocolate_milk.id || elements[hitPixel.element].id === elements.grape.id || elements[hitPixel.element].id === elements.pilk.id || elements[hitPixel.element].id === elements.fruit_milk.id || elements[hitPixel.element].id === elements.nut_milk.id || elements[hitPixel.element].id === elements.soda.id || elements[hitPixel.element].id === elements.sugar_water.id ) && Math.random() > 0.5 && hitPixel.tasted != true) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } } else if ((elements[hitPixel.element].id === elements.alcohol.id || elements[hitPixel.element].id === elements.rotten_cheese.id || elements[hitPixel.element].id === elements.rotten_meat.id || elements[hitPixel.element].id === elements.pool_water.id || elements[hitPixel.element].id === elements.poison.id || elements[hitPixel.element].id === elements.bleach.id || elements[hitPixel.element].id === elements.cyanide.id || elements[hitPixel.element].id === elements.infection.id) && Math.random() > 0.5) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } pixel.oxygen-- pixel.nutrition-- } - else if (pixel.taste === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + else if (pixel.tasted === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (!hitPixel.charge) { hitPixel.charge = 0.1 } else if (hitPixel.charge) { hitPixel.charge += 0.1 } - pixel.taste = false - } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } + pixel.tasted = false } } if (!isEmpty(pixel.x-1, pixel.y, true)) { @@ -5392,37 +2764,27 @@ elements.taste_bud = { if (( elements[hitPixel.element].id === elements.sugar.id || elements[hitPixel.element].id === elements.salt.id || elements[hitPixel.element].id === elements.grease.id || elements[hitPixel.element].id === elements.cooked_meat.id || elements[hitPixel.element].id === elements.chocolate.id || elements[hitPixel.element].id === elements.chocolate_powder.id || elements[hitPixel.element].id === elements.cheese.id || elements[hitPixel.element].id === elements.cheese_powder.id || elements[hitPixel.element].id === elements.pickle.id || elements[hitPixel.element].id === elements.herb.id || elements[hitPixel.element].id === elements.juice.id || elements[hitPixel.element].id === elements.gingerbread.id || elements[hitPixel.element].id === elements.ketchup.id || elements[hitPixel.element].id === elements.mayo.id || elements[hitPixel.element].id === elements.sauce.id || elements[hitPixel.element].id === elements.chocolate_milk.id || elements[hitPixel.element].id === elements.grape.id || elements[hitPixel.element].id === elements.pilk.id || elements[hitPixel.element].id === elements.fruit_milk.id || elements[hitPixel.element].id === elements.nut_milk.id || elements[hitPixel.element].id === elements.soda.id || elements[hitPixel.element].id === elements.sugar_water.id ) && Math.random() > 0.5 && hitPixel.tasted != true) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } } else if ((elements[hitPixel.element].id === elements.alcohol.id || elements[hitPixel.element].id === elements.rotten_cheese.id || elements[hitPixel.element].id === elements.rotten_meat.id || elements[hitPixel.element].id === elements.pool_water.id || elements[hitPixel.element].id === elements.poison.id || elements[hitPixel.element].id === elements.bleach.id || elements[hitPixel.element].id === elements.cyanide.id || elements[hitPixel.element].id === elements.infection.id) && Math.random() > 0.5) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } pixel.oxygen-- pixel.nutrition-- } - else if (pixel.taste === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + else if (pixel.tasted === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (!hitPixel.charge) { hitPixel.charge = 0.1 } else if (hitPixel.charge) { hitPixel.charge += 0.1 } - pixel.taste = false - } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } + pixel.tasted = false } } if (!isEmpty(pixel.x+1, pixel.y, true)) { @@ -5431,41 +2793,31 @@ elements.taste_bud = { if (( elements[hitPixel.element].id === elements.sugar.id || elements[hitPixel.element].id === elements.salt.id || elements[hitPixel.element].id === elements.grease.id || elements[hitPixel.element].id === elements.cooked_meat.id || elements[hitPixel.element].id === elements.chocolate.id || elements[hitPixel.element].id === elements.chocolate_powder.id || elements[hitPixel.element].id === elements.cheese.id || elements[hitPixel.element].id === elements.cheese_powder.id || elements[hitPixel.element].id === elements.pickle.id || elements[hitPixel.element].id === elements.herb.id || elements[hitPixel.element].id === elements.juice.id || elements[hitPixel.element].id === elements.gingerbread.id || elements[hitPixel.element].id === elements.ketchup.id || elements[hitPixel.element].id === elements.mayo.id || elements[hitPixel.element].id === elements.sauce.id || elements[hitPixel.element].id === elements.chocolate_milk.id || elements[hitPixel.element].id === elements.grape.id || elements[hitPixel.element].id === elements.pilk.id || elements[hitPixel.element].id === elements.fruit_milk.id || elements[hitPixel.element].id === elements.nut_milk.id || elements[hitPixel.element].id === elements.soda.id || elements[hitPixel.element].id === elements.sugar_water.id ) && Math.random() > 0.5 && hitPixel.tasted != true) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } } else if ((elements[hitPixel.element].id === elements.alcohol.id || elements[hitPixel.element].id === elements.rotten_cheese.id || elements[hitPixel.element].id === elements.rotten_meat.id || elements[hitPixel.element].id === elements.pool_water.id || elements[hitPixel.element].id === elements.poison.id || elements[hitPixel.element].id === elements.bleach.id || elements[hitPixel.element].id === elements.cyanide.id || elements[hitPixel.element].id === elements.infection.id) && Math.random() > 0.5) { - pixel.taste = true + pixel.tasted = true if (Math.random() > 0.5) { hitPixel.tasted = false } pixel.oxygen-- pixel.nutrition-- } - else if (pixel.taste === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + else if (pixel.tasted === true && elements[hitPixel.element].id === elements.nerve.id && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (!hitPixel.charge) { hitPixel.charge = 0.1 } else if (hitPixel.charge) { hitPixel.charge += 0.1 } - pixel.taste = false - } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } + pixel.tasted = false } } - if (pixel.taste === true && Math.random() > 0.8) { - pixel.taste = false + if (pixel.tasted === true && Math.random() > 0.8) { + pixel.tasted = false } }, density: 2710, @@ -5490,61 +2842,26 @@ elements.taste_bud = { taste: false, }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } elements.brain = { color: ["#fce3e3","#deb6c5","#f5ced5","#e87b8f"], category: "nervous system", + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - doHeat(pixel); - doBurning(pixel); - doElectricity(pixel); - if ((Math.random() > 0.85 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] doElectricity(hitPixel); @@ -5552,27 +2869,6 @@ elements.brain = { pixel.chargeCD = 16 hitPixel.charge = 0.5 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] @@ -5581,27 +2877,6 @@ elements.brain = { pixel.chargeCD = 16 hitPixel.charge = 0.5 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] @@ -5610,27 +2885,6 @@ elements.brain = { pixel.chargeCD = 16 hitPixel.charge = 0.5 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] @@ -5639,27 +2893,6 @@ elements.brain = { pixel.chargeCD = 16 hitPixel.charge = 0.5 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (pixel.charge) { pixel.charge = 0; @@ -5688,8 +2921,10 @@ elements.brain = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -5698,151 +2933,19 @@ elements.amygdala = { // please please please ignore that i callled it the amygd category: "nervous system", name:"hypothalamus", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - doHeat(pixel); - doBurning(pixel); - doElectricity(pixel); - if (Math.random() > 0.895 && pixel.nutrition > 0 && pixel.oxygen > 0 || pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen-- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); if (pixel.temp > 25) { pixel.temp -= 10; } else if (pixel.temp < 15) { pixel.temp += 10; } if (pixel.charge) { @@ -5872,8 +2975,10 @@ elements.amygdala = { // please please please ignore that i callled it the amygd speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -5881,149 +2986,19 @@ elements.nerve = { color: "#B33E93", category: "nervous system", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { doDefaults(pixel); - if ((Math.random() > 0.895 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -6047,8 +3022,10 @@ elements.nerve = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -6060,148 +3037,19 @@ elements.throat_lining = { "DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5|XX|DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5", "XX|DL:stomach_acid,explosive_acid,decomposer_acid,carni_acid,herbi_acid%5|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -6227,6 +3075,7 @@ elements.throat_lining = { immune: false, }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -6234,52 +3083,19 @@ elements.intestines = { color: "#bc6157", category: "nutrition", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.99) { @@ -6315,27 +3131,6 @@ elements.intestines = { pixel.immune = true }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] @@ -6372,27 +3167,6 @@ elements.intestines = { pixel.immune = true }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] @@ -6427,27 +3201,6 @@ elements.intestines = { pixel.immune = true }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] @@ -6484,27 +3237,6 @@ elements.intestines = { pixel.immune = true }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } } }, density: 2710, @@ -6529,195 +3261,177 @@ elements.intestines = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.appendix = { color: "#B45942", category: "nutrition", - behavior: behaviors.WALL, + behavior: [ + "XX|CR:intestine_bacteria%0.005|XX", + "CR:intestine_bacteria%0.005|XX|CR:intestine_bacteria%0.005", + "XX|CR:intestine_bacteria%0.005|XX", + ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "stomach_acid", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - if (Math.random() > 0.999 && (pixel.nutrition < 750 || pixel.oxygen < 500)) { - changePixel(pixel,"stomach_acid"); - } - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"cooked_meat"); - } - else { - changePixel(pixel,"stomach_acid"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"frozen_meat"); - } - else { - changePixel(pixel,"stomach_acid"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"rotten_meat"); - } - else { - changePixel(pixel,"stomach_acid"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false + if (Math.random() < 0.0001 && (pixel.nutrition < 750 || pixel.oxygen < 500)) { + changePixel(pixel,"stomach_acid"); } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.999) { - changePixel(hitPixel,"poop"); - pixel.nutrition += hitPixel.nutrition - if (Math.random() > 0.99) { - changePixel(pixel,"stomach_acid"); - } + if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.99) { + if (Math.random() > 0.5) { + changePixel(hitPixel,"poop"); + } + else { + changePixel(hitPixel,"stench"); + } + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } + else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { + changePixel(hitPixel,"stench"); + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.999) { - changePixel(hitPixel,"poop"); - pixel.nutrition += hitPixel.nutrition - if (Math.random() > 0.99) { - changePixel(pixel,"stomach_acid"); - } + if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.99) { + if (Math.random() > 0.5) { + changePixel(hitPixel,"poop"); + } + else { + changePixel(hitPixel,"stench"); + } + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } + else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { + changePixel(hitPixel,"stench"); + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.999) { - changePixel(hitPixel,"poop"); - pixel.nutrition += hitPixel.nutrition - if (Math.random() > 0.99) { - changePixel(pixel,"stomach_acid"); - } + if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.99) { + if (Math.random() > 0.5) { + changePixel(hitPixel,"poop"); + } + else { + changePixel(hitPixel,"stench"); + } + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } + else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { + changePixel(hitPixel,"stench"); + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.999) { - changePixel(hitPixel,"poop"); - pixel.nutrition += hitPixel.nutrition - if (Math.random() > 0.90) { - changePixel(pixel,"stomach_acid"); - } + if (elements[hitPixel.element].id === elements.digested_material.id && Math.random() > 0.99) { + if (Math.random() > 0.5) { + changePixel(hitPixel,"poop"); + } + else { + changePixel(hitPixel,"stench"); + } + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.25) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } + else if (elements[hitPixel.element].id === elements.gaseous_material.id && Math.random() > 0.99) { + changePixel(hitPixel,"stench"); + pixel.nutrition += hitPixel.nutrition; + hitPixel.nutrition = 0; + pixel.speed += hitPixel.speed; + hitPixel.speed = 0; + if (hitPixel.poisoned === true && Math.random() > 0.9) { + pixel.poisoned = true + }; + if (hitPixel.immune === true && Math.random() > 0.5) { + pixel.poisoned = false + pixel.immune = true + }; } } }, @@ -6743,15 +3457,24 @@ elements.appendix = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.simple_lung = { color: "#EB85D9", category: "oxygen", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -6762,167 +3485,44 @@ elements.simple_lung = { if (isEmpty(x,y)) { if (Math.random() < 0.01) { pixel.oxygen += 100 } break - } } - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + } + } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true + if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true + if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true + if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true + if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } }, @@ -6948,203 +3548,88 @@ elements.simple_lung = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.lungs = { color: "#d4aaab", category: "oxygen", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } }, @@ -7170,9 +3655,11 @@ elements.lungs = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.amphib_skin = { @@ -7183,6 +3670,13 @@ elements.amphib_skin = { "CR:slime%0.001|XX|CR:slime%0.001", "XX|CR:slime%0.001|XX", ], + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -7209,190 +3703,65 @@ elements.amphib_skin = { pixel.temp += 1; } doDefaults(pixel); - if (Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } }, @@ -7415,8 +3784,10 @@ elements.amphib_skin = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, burn:5, burnTime: 100, @@ -7427,6 +3798,11 @@ elements.exoskeleton = { color: ["#453a2e","#241d15","#242e23"], category: "oxygen", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: false, + normDie: "dust", + otherDie: "calcium", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -7435,190 +3811,65 @@ elements.exoskeleton = { pixel.temp -= 1; } doDefaults(pixel); - if (Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.95) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"dust"); - } - else { - changePixel(pixel,"calcium"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.95) { + if (elements[hitPixel.element].id === elements.oxygen.id && Math.random() > 0.9) { if (Math.random() > 0.75) { changePixel(hitPixel,"carbon_dioxide"); } pixel.oxygen += 100 } - else if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } else if ((elements[hitPixel.element].id === elements.chlorine.id || elements[hitPixel.element].id === elements.poison_gas.id || elements[hitPixel.element].id === elements.acid_gas.id || elements[hitPixel.element].id === elements.cyanide_gas.id || elements[hitPixel.element].id === elements.dioxin.id) && Math.random() > 0.5) { - pixel.smell = true deletePixel(hitPixel.x,hitPixel.y) - pixel.oxygen -= 50 - pixel.nutrition -= 50 + pixel.oxygen -= 250 + pixel.nutrition -= 250 + pixel.speed -= 25 } } }, @@ -7641,8 +3892,10 @@ elements.exoskeleton = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, burn:5, burnTime: 100, @@ -7652,76 +3905,22 @@ elements.exoskeleton = { elements.gills = { color: "#5EBAE3", category: "oxygen", + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { + if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { if (!tryMove(hitPixel,pixel.x,pixel.y+1)) { if (elements[pixelMap[pixel.x][pixel.y+1].element].state === "liquid") { swapPixels(hitPixel,pixelMap[pixel.x][pixel.y+1]) @@ -7751,54 +3950,9 @@ elements.gills = { } } } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { + if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { if (isEmpty(pixel.x+1, pixel.y)) { tryMove(hitPixel,pixel.x+1,pixel.y); } @@ -7822,30 +3976,6 @@ elements.gills = { } } } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } }, density: 2710, state: "solid", @@ -7869,84 +3999,32 @@ elements.gills = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.simple_gill = { color: "#75C0E2", category: "oxygen", + nutrTrans: 10, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { + if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { if (!tryMove(hitPixel,pixel.x,pixel.y+1)) { if (elements[pixelMap[pixel.x][pixel.y+1].element].state === "liquid") { swapPixels(hitPixel,pixelMap[pixel.x][pixel.y+1]) @@ -7954,7 +4032,7 @@ elements.simple_gill = { } } else if (elements[hitPixel.element].id === elements.water.id && Math.random() > 0.75) { - pixel.oxygen += 50 + pixel.oxygen += 75 if (!tryMove(hitPixel,pixel.x,pixel.y+1)) { if (elements[pixelMap[pixel.x][pixel.y+1].element].state === "liquid") { swapPixels(hitPixel,pixelMap[pixel.x][pixel.y+1]) @@ -7962,7 +4040,7 @@ elements.simple_gill = { } } else if (elements[hitPixel.element].id === elements.salt_water.id && Math.random() > 0.75) { - pixel.oxygen += 50 + pixel.oxygen += 75 if (!tryMove(hitPixel,pixel.x,pixel.y+1)) { if (elements[pixelMap[pixel.x][pixel.y+1].element].state === "liquid") { swapPixels(hitPixel,pixelMap[pixel.x][pixel.y+1]) @@ -7970,54 +4048,9 @@ elements.simple_gill = { } } } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { + if (elements[hitPixel.element].id === elements.deoxygenated_water.id && Math.random() > 0.75) { if (isEmpty(pixel.x+1, pixel.y)) { tryMove(hitPixel,pixel.x+1,pixel.y); } @@ -8035,30 +4068,6 @@ elements.simple_gill = { } } } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } }, density: 2710, state: "solid", @@ -8082,9 +4091,11 @@ elements.simple_gill = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.stomach_lining = { @@ -8095,148 +4106,19 @@ elements.stomach_lining = { "CR:stomach_acid%1|XX|CR:stomach_acid%1", "XX|CR:stomach_acid%1|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -8260,9 +4142,11 @@ elements.stomach_lining = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.decomposer_stomach = { @@ -8273,148 +4157,19 @@ elements.decomposer_stomach = { "CR:decomposer_acid%5|XX|CR:decomposer_acid%5", "XX|CR:decomposer_acid%5|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -8438,9 +4193,11 @@ elements.decomposer_stomach = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.herbi_stomach = { @@ -8451,148 +4208,19 @@ elements.herbi_stomach = { "CR:herbi_acid%5|XX|CR:herbi_acid%5", "XX|CR:herbi_acid%5|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -8616,9 +4244,11 @@ elements.herbi_stomach = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.carni_stomach = { @@ -8629,149 +4259,19 @@ elements.carni_stomach = { "CR:carni_acid%5|XX|CR:carni_acid%5", "XX|CR:carni_acid%5|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -8795,9 +4295,11 @@ elements.carni_stomach = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.explosive_stomach = { @@ -8808,149 +4310,19 @@ elements.explosive_stomach = { "CR:explosive_acid%5|XX|CR:explosive_acid%5", "XX|CR:explosive_acid%5|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.85) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"pop"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"pop"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } doDefaults(pixel); + doBioNorm(pixel); }, density: 2710, state: "solid", @@ -8974,167 +4346,38 @@ elements.explosive_stomach = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.stomach_valve = { color: "#c8846f", category: "nutrition", - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "XX|CR:intestine_bacteria%0.001|XX", - ], + behavior: behaviors.WALL, hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.digested_material.id || elements[hitPixel.element].id === elements.gaseous_material.id) && Math.random() > 0.75) { + if (elements[hitPixel.element].isAcid != true && Math.random() > 0.75) { if (isEmpty(pixel.x, pixel.y+1)) { tryMove(hitPixel,pixel.x,pixel.y+1); } } } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - doDefaults(pixel); }, density: 2710, state: "solid", @@ -9158,84 +4401,32 @@ elements.stomach_valve = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.sphincter = { color: "#c8846f", category: "nutrition", + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.9 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - else if ((elements[hitPixel.element].id === elements.excreted_poop.id || elements[hitPixel.element].id === elements.poop.id || elements[hitPixel.element].id === elements.stench.id || elements[hitPixel.element].id === elements.dirty_water.id) && Math.random() > 0.75) { + if ((elements[hitPixel.element].id === elements.excreted_poop.id || elements[hitPixel.element].id === elements.poop.id || elements[hitPixel.element].id === elements.stench.id || elements[hitPixel.element].id === elements.dirty_water.id) && Math.random() > 0.75) { if (elements[hitPixel.element].id === elements.poop.id) { changePixel(hitPixel,"excreted_poop"); } @@ -9244,79 +4435,6 @@ elements.sphincter = { } } } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - doDefaults(pixel); }, density: 2710, state: "solid", @@ -9340,9 +4458,11 @@ elements.sphincter = { speed: 0, poisoned: false, immune: false, + }, movable: false, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.real_udder = { @@ -9352,66 +4472,20 @@ elements.real_udder = { "XX|XX|XX", "XX|XX|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen-- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.9999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"milk"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - } - else if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + doDefaults(pixel); + doBioNorm(pixel); + if (isEmpty(pixel.x, pixel.y-1) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (Math.random() > 0.95) { if (Math.random() > 0.95) { pixel.nutrition -= 25 @@ -9419,20 +4493,7 @@ elements.real_udder = { createPixel("milk",pixel.x,pixel.y-1) } } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - } - else if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (isEmpty(pixel.x, pixel.y+1) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (Math.random() > 0.95) { if (Math.random() > 0.95) { pixel.nutrition -= 25 @@ -9440,20 +4501,7 @@ elements.real_udder = { createPixel("milk",pixel.x,pixel.y+1) } } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - } - else if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (isEmpty(pixel.x-1, pixel.y) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (Math.random() > 0.95) { if (Math.random() > 0.95) { pixel.nutrition -= 20 @@ -9461,20 +4509,7 @@ elements.real_udder = { createPixel("milk",pixel.x-1,pixel.y) } } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - } - } - else if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { + if (isEmpty(pixel.x+1, pixel.y) && Math.random() > 0.95 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2050))) { if (Math.random() > 0.95) { if (Math.random() > 0.95) { pixel.nutrition -= 20 @@ -9482,7 +4517,6 @@ elements.real_udder = { createPixel("milk",pixel.x+1,pixel.y) } } - doDefaults(pixel); }, properties: { oxygen: 1000, @@ -9490,6 +4524,7 @@ elements.real_udder = { speed: 0, poisoned: false, immune: false, + }, tempHigh: 175, stateHigh: "meat", @@ -9505,6 +4540,7 @@ elements.real_udder = { conduct: .001, movable: false, isBio: true, + renderer: renderPresets.FLESHBURN, } elements.biotorch = { @@ -9514,73 +4550,29 @@ elements.biotorch = { "XX|XX|XX", "XX|XX|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "cooked_meat", + roomDie: "cooked_meat", + coldDie: "meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.975 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 550 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -5 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.55) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"ash"); - } - } - else { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doDefaults(pixel); + doBioNorm(pixel); if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 + if (elements[hitPixel.element].isBio != true && Math.random() > 0.5) { + if (hitPixel.temp < pixel.temp) { + hitPixel.temp++ + pixel.temp-- } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true + if (hitPixel.temp > pixel.temp) { + hitPixel.temp-- + pixel.temp++ } } } @@ -9592,27 +4584,6 @@ elements.biotorch = { } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } if (elements[hitPixel.element].isBio != true && Math.random() > 0.5) { if (hitPixel.temp < pixel.temp) { hitPixel.temp++ @@ -9634,27 +4605,6 @@ elements.biotorch = { } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } if (elements[hitPixel.element].isBio != true && Math.random() > 0.5) { if (hitPixel.temp < pixel.temp) { hitPixel.temp++ @@ -9676,27 +4626,6 @@ elements.biotorch = { } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 20 - pixel.oxygen -= 20 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 20 - pixel.nutrition -= 20 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } if (elements[hitPixel.element].isBio != true && Math.random() > 0.5) { if (hitPixel.temp < pixel.temp) { hitPixel.temp++ @@ -9912,7 +4841,7 @@ elements.stomach_acid = { "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":45}, chance:0.02 }, "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-10, "speed":-10}, chance:0.02 }, - "immune_meat": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, + "cured_meat": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "lettuce": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, @@ -9999,7 +4928,8 @@ elements.stomach_acid = { burnTime: 1, state: "liquid", density: 1050, - stain: -0.1 + stain: -0.1, + isAcid: true, } elements.herbi_acid = { @@ -10025,7 +4955,7 @@ elements.herbi_acid = { "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":1}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":-25, "speed":-20}, chance:0.02 }, - "immune_meat": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, + "cured_meat": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-1}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "vine": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, @@ -10116,7 +5046,8 @@ elements.herbi_acid = { burnTime: 1, state: "liquid", density: 1050, - stain: -0.1 + stain: -0.1, + isAcid: true, } elements.carni_acid = { @@ -10142,7 +5073,7 @@ elements.carni_acid = { "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":60, "speed":4}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":50, "speed":6}, chance:0.02 }, "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":5, "speed":-5}, chance:0.02 }, - "immune_meat": { elem2:"digested_material", attr2:{"nutrition":50, "speed":-1}, chance:0.02 }, + "cured_meat": { elem2:"digested_material", attr2:{"nutrition":50, "speed":-1}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":35, "speed":-1}, chance:0.02 }, "cheese_powder": { elem2:"digested_material", attr2:{"nutrition":35, "speed":-1}, chance:0.02 }, "lettuce": { elem2:"digested_material", attr2:{"nutrition":20}, chance:0.02 }, @@ -10233,7 +5164,8 @@ elements.carni_acid = { burnTime: 1, state: "liquid", density: 1050, - stain: -0.1 + stain: -0.1, + isAcid: true, } elements.explosive_acid = { @@ -10259,7 +5191,7 @@ elements.explosive_acid = { "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":60}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":55}, chance:0.02 }, "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":30}, chance:0.02 }, - "immune_meat": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, + "cured_meat": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, "lettuce": { elem2:"digested_material", attr2:{"nutrition":40}, chance:0.02 }, "herb": { elem2:"digested_material", attr2:{"nutrition":35}, chance:0.02 }, @@ -10348,6 +5280,7 @@ elements.explosive_acid = { tempLow: -58.88, state: "liquid", density: 1050, + isAcid: true, } elements.decomposer_acid = { @@ -10373,7 +5306,7 @@ elements.decomposer_acid = { "cooked_meat": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, "broth": { elem1:null, elem2:"digested_material", attr2:{"nutrition":25}, chance:0.02 }, "rotten_meat": { elem2:["digested_material","ammonia",null,null,null], attr2:{"nutrition":55, "speed":5}, chance:0.02 }, - "immune_meat": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, + "cured_meat": { elem2:"digested_material", attr2:{"nutrition":-5}, chance:0.02 }, "cheese": { elem2:"digested_material", attr2:{"nutrition":50}, chance:0.02 }, "vine": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, "grass": { elem2:"digested_material", attr2:{"nutrition":30}, chance:0.02 }, @@ -10459,7 +5392,8 @@ elements.decomposer_acid = { burnTime: 1, state: "liquid", density: 1050, - stain: -0.1 + stain: -0.1, + isAcid: true, } elements.deoxygenated_water = { @@ -10504,7 +5438,7 @@ elements.deoxygenated_water = { "firefly": { elem2:"dead_bug", chance:0.1, oneway:true }, "bee": { elem2:"dead_bug", chance:0.05, oneway:true }, "stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true }, - "immune_meat": { elem1:"salt_water", elem2:"meat" }, + "cured_meat": { elem1:"salt_water", elem2:"meat" }, "water": { elem1:"water", chance:0.005 }, "salt_water": { elem1:"water", chance:0.005 }, "deoxygenated_water": { elem2:"bubble", attr2:{"clone":"water"}, chance:0.001, tempMin:85 }, @@ -10525,133 +5459,17 @@ elements.real_bone = { "sugar_water": { elem2:"broth", tempMin:70 }, "seltzer": { elem2:"broth", tempMin:70 }, }, + nutrTrans: 5, + oxygTrans: 5, + isMultiDie: false, + normDie: "bone", + otherDie: "bone", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.99 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - changePixel(pixel,"bone"); - } - else if (pixel.temp < -15) { - changePixel(pixel,"bone"); - } - else { - changePixel(pixel,"bone"); - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioBone(pixel); + doDefaults(pixel); }, category:"structural", tempHigh: 260, @@ -10668,7 +5486,7 @@ elements.real_bone = { poisoned: false, immune: false, }, - breakInto: ["quicklime","quicklime","quicklime","blood","bone","bone","bone","bone","bone","bone"], + breakInto: ["real_bone_marrow","real_bone_marrow","blood","bone","bone","bone","bone","bone","bone","bone","bone","bone","bone","bone","bone"], movable: false, isBio: true, burn: 1, @@ -10680,6 +5498,13 @@ elements.real_bone_marrow = { color: "#D3A491", category: "structural", behavior: behaviors.WALL, + nutrTrans: 15, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -10694,166 +5519,41 @@ elements.real_bone_marrow = { } } } + doBioNorm(pixel); doDefaults(pixel); - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"blood"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"blood"); - } - } - else { - if (Math.random() < 0.95) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"blood"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true) { - if (Math.random() > 0.999 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { - hitPixel.element = "white_blood_cell"; - hitPixel.color = elements.white_blood_cell.color; - } + if (elements[hitPixel.element].isBlood === true) { + if (Math.random() > 0.9995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { + hitPixel.element = "white_blood_cell"; + hitPixel.color = elements.white_blood_cell.color; } } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true) { - if (Math.random() > 0.999 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { - hitPixel.element = "white_blood_cell"; - hitPixel.color = elements.white_blood_cell.color; - } + if (elements[hitPixel.element].isBlood === true) { + if (Math.random() > 0.9995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { + hitPixel.element = "white_blood_cell"; + hitPixel.color = elements.white_blood_cell.color; } } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true) { - if (Math.random() > 0.999 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { - hitPixel.element = "white_blood_cell"; - hitPixel.color = elements.white_blood_cell.color; - } + if (elements[hitPixel.element].isBlood === true) { + if (Math.random() > 0.9995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { + hitPixel.element = "white_blood_cell"; + hitPixel.color = elements.white_blood_cell.color; } } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - if (elements[hitPixel.element].isBlood === true) { - if (Math.random() > 0.999 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { - hitPixel.element = "white_blood_cell"; - hitPixel.color = elements.white_blood_cell.color; - } + if (elements[hitPixel.element].isBlood === true) { + if (Math.random() > 0.9995 && Math.random() > (1 - ((pixel.nutrition + pixel.oxygen + pixel.speed) / 2020))) { + hitPixel.element = "white_blood_cell"; + hitPixel.color = elements.white_blood_cell.color; } } } @@ -10881,174 +5581,28 @@ elements.real_bone_marrow = { speed: 0, poisoned: false, immune: false, + }, + extinguish: true, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } elements.cartilage = { color: "#DBDBDB", behavior: behaviors.WALL, + nutrTrans: 5, + oxygTrans: 5, + isMultiDie: false, + normDie: "quicklime", + otherDie: "water", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.99 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.9) { - changePixel(pixel,"water"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"calcium"); - } - else { - changePixel(pixel,"glue"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.9) { - changePixel(pixel,"water"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"quicklime"); - } - else { - changePixel(pixel,"calcium"); - } - } - else { - if (Math.random() < 0.9) { - changePixel(pixel,"water"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else if (Math.random() < 0.75) { - changePixel(pixel,"quicklime"); - } - else { - changePixel(pixel,"calcium"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioBone(pixel); + doDefaults(pixel); }, category:"structural", tempHigh: 200, @@ -11064,10 +5618,12 @@ elements.cartilage = { speed: 0, poisoned: false, immune: false, + }, breakInto: ["quicklime","calcium","meat","meat","water","water",null], movable: false, isBio: true, + renderer: renderPresets.FLESHBURN, burn: 1, burnTime: 100, burnInto: ["bone","bone","bone","bone","quicklime"], @@ -11089,12 +5645,19 @@ elements.cerebrospinal_fluid = { if (pixel.immune === true && pixel.poisoned != false) { pixel.poisoned = false } + if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } + if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt + } if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 + hitPixel.oxygen += 15 + pixel.oxygen -= 15 } if (hitPixel.nutrition < pixel.nutrition) { hitPixel.nutrition += 10 @@ -11111,14 +5674,20 @@ elements.cerebrospinal_fluid = { hitPixel.poisoned = false hitPixel.immune = true } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } } } if (!isEmpty(pixel.x, pixel.y+1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y+1] if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 + hitPixel.oxygen += 15 + pixel.oxygen -= 15 } if (hitPixel.nutrition < pixel.nutrition) { hitPixel.nutrition += 10 @@ -11135,14 +5704,20 @@ elements.cerebrospinal_fluid = { hitPixel.poisoned = false hitPixel.immune = true } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } } } if (!isEmpty(pixel.x-1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x-1][pixel.y] if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 + hitPixel.oxygen += 15 + pixel.oxygen -= 15 } if (hitPixel.nutrition < pixel.nutrition) { hitPixel.nutrition += 10 @@ -11159,14 +5734,20 @@ elements.cerebrospinal_fluid = { hitPixel.poisoned = false hitPixel.immune = true } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } } } if (!isEmpty(pixel.x+1, pixel.y, true)) { var hitPixel = pixelMap[pixel.x+1][pixel.y] if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 + hitPixel.oxygen += 15 + pixel.oxygen -= 15 } if (hitPixel.nutrition < pixel.nutrition) { hitPixel.nutrition += 10 @@ -11183,6 +5764,12 @@ elements.cerebrospinal_fluid = { hitPixel.poisoned = false hitPixel.immune = true } + if (hitPixel.burnt > 0 && (!pixel.burnt || pixel.burnt < hitPixel.burnt && pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burnt-- + } + if (hitPixel.burning && (!pixel.burnt || pixel.burnt < 51) && hitPixel.burnt < 56 && Math.random() > 0.8) { + hitPixel.burning = false + } } } }, @@ -11239,9 +5826,11 @@ elements.cerebrospinal_fluid = { speed: 0, poisoned: false, immune: false, + }, extinguish: true, - isBio: true + isBio: true, + renderer: renderPresets.FLESHBURN, } elements.urine = { @@ -11357,6 +5946,13 @@ elements.brain_jar_juice = { if (pixel.immune === true && pixel.poisoned != false) { pixel.poisoned = false } + if ((pixel.temp > 66 || pixel.burning) && Math.random() > 0.95) { + if (!pixel.burnt) { pixel.burnt = 1 } + else { pixel.burnt ++ } + } + if (pixel.char != pixel.burnt && pixel.burnt > pixel.char || !pixel.char) { + pixel.char = pixel.burnt + } if (!isEmpty(pixel.x, pixel.y-1, true)) { var hitPixel = pixelMap[pixel.x][pixel.y-1] if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { @@ -11444,6 +6040,7 @@ elements.brain_jar_juice = { speed: 0, poisoned: false, immune: false, + }, extinguish: true } @@ -11469,7 +6066,7 @@ elements.bacteria = { "rotten_cheese": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL }, "cheese": { elem2:"rotten_cheese", chance:0.5, func:behaviors.FEEDPIXEL }, "meat": { elem2:"rotten_meat", chance:0.5, func:behaviors.FEEDPIXEL }, - "immune_meat": { elem1:[null,null,null,null,null,null,null,null,null,"dna"], chance:0.01 }, + "cured_meat": { elem1:[null,null,null,null,null,null,null,null,null,"dna"], chance:0.01 }, "dead_plant": { elem2:"dirt", chance:0.05, func:behaviors.FEEDPIXEL }, "dead_bug": { elem2:null, chance:0.02, func:behaviors.FEEDPIXEL }, "mercury": { elem1:[null,null,null,null,null,null,null,null,null,"dna"], chance:0.1 }, @@ -11508,148 +6105,19 @@ elements.tract = { onSelect: function() { logMessage("Draw a pipe, wait for walls to appear, then erase the exit hole."); }, + nutrTrans: 15, + oxygTrans: 15, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); + doDefaults(pixel); if (!pixel.stage && pixelTicks-pixel.start > 60) { for (var i = 0; i < squareCoords.length; i++) { var coord = squareCoords[i]; @@ -11756,7 +6224,6 @@ elements.tract = { } } } - doDefaults(pixel); }, category: "structural", movable: false, @@ -11783,14 +6250,23 @@ elements.tract = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, } elements.biosensor = { color: ["#AD6770","#B0707D"], category: "nervous system", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -11807,144 +6283,7 @@ elements.biosensor = { } } } - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); doDefaults(pixel); }, ignore: ["flash"], @@ -11969,8 +6308,10 @@ elements.biosensor = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -11978,6 +6319,13 @@ elements.bioplate = { color: ["#AD6770","#B0707D"], category: "nervous system", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, @@ -12006,144 +6354,7 @@ elements.bioplate = { else if (pixel.on) { pixel.on = false; } - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); doDefaults(pixel); }, ignore: ["flash"], @@ -12168,8 +6379,10 @@ elements.bioplate = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -12182,149 +6395,19 @@ elements.biocloner = { "BCF|XX|BCF", "XX|BCF|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -- - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - doDefaults(pixel) + doBioNorm(pixel); + doDefaults(pixel); if (pixel.clone) { return } for (var i = 0; i < adjacentCoords.length; i++) { var coords = adjacentCoords[i]; @@ -12363,8 +6446,10 @@ elements.biocloner = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -12377,52 +6462,19 @@ elements.valve = { "DL:valve_extension|XX|DL:valve_extension", "XX|DL:valve_extension|XX", ], + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition-- - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } + doBioNorm(pixel); + doDefaults(pixel); if (pixel.charge || !pixel.open) { pixel.openAge = 0 pixel.open = true @@ -12442,103 +6494,6 @@ elements.valve = { } } } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - doDefaults(pixel); }, density: 2710, state: "solid", @@ -12561,8 +6516,10 @@ elements.valve = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, } @@ -12571,148 +6528,18 @@ elements.valve_extension = { color: ["#9e4839","#ba6449"], category: "nervous system", behavior: behaviors.WALL, + nutrTrans: 10, + oxygTrans: 10, + isMultiDie: true, + normDie: "meat", + roomDie: "rotten_meat", + coldDie: "frozen_meat", + heatDie: "cooked_meat", hoverStat: function(pixel) { return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen }, tick: function(pixel) { - if ((Math.random() > 0.92 && pixel.nutrition > 0 && pixel.oxygen > 0) || (Math.random() > 0.5 && pixel.poisoned === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.burning === true && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp > 43 && pixel.nutrition > 0 && pixel.oxygen > 0) || (pixel.temp < -10 && pixel.nutrition > 0 && pixel.oxygen > 0)) { - pixel.nutrition -= 2 - pixel.oxygen -= 2 - } - if (Math.random() > 0.5 && (pixel.nutrition < 1 || pixel.oxygen < 1 || pixel.speed < -100)) { - if (pixel.temp > 95) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"cooked_meat"); - } - } - else if (pixel.temp < -15) { - if (Math.random() < 0.75) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"frozen_meat"); - } - } - else { - if (Math.random() < 0.999) { - changePixel(pixel,"meat"); - } - else { - changePixel(pixel,"rotten_meat"); - } - } - } - if (pixel.nutrition === null || isNaN(pixel.nutrition)) { - pixel.nutrition = 500 - } - if (pixel.oxygen === null || isNaN(pixel.oxygen)) { - pixel.oxygen = 500 - } - if (pixel.speed === null || isNaN(pixel.speed)) { - pixel.speed = 0 - } - if (pixel.immune === true && pixel.poisoned != false) { - pixel.poisoned = false - } - if (!isEmpty(pixel.x, pixel.y-1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y-1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x, pixel.y+1, true)) { - var hitPixel = pixelMap[pixel.x][pixel.y+1] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x-1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x-1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } - if (!isEmpty(pixel.x+1, pixel.y, true)) { - var hitPixel = pixelMap[pixel.x+1][pixel.y] - if (elements[hitPixel.element].isBio === true && Math.random() > 0.5) { - if (hitPixel.oxygen < pixel.oxygen) { - hitPixel.oxygen += 10 - pixel.oxygen -= 10 - } - if (hitPixel.nutrition < pixel.nutrition) { - hitPixel.nutrition += 10 - pixel.nutrition -= 10 - } - if (hitPixel.speed < pixel.speed) { - hitPixel.speed += 1 - pixel.speed -= 1 - } - if (hitPixel.poisoned != true && pixel.poisoned == true) { - hitPixel.poisoned = true - } - if (hitPixel.immune != true && pixel.immune == true) { - hitPixel.poisoned = false - hitPixel.immune = true - } - } - } + doBioNorm(pixel); doDefaults(pixel); }, density: 2710, @@ -12735,8 +6562,10 @@ elements.valve_extension = { speed: 0, poisoned: false, immune: false, + }, isBio: true, + renderer: renderPresets.FLESHBURN, movable: false, hidden: true, } @@ -12842,186 +6671,186 @@ elements.toilet = { } if (!elements.cancer.reactions) { elements.cancer.reactions = {} } -elements.cancer.reactions.attached_hair = { "elem2": "loose_hair", chance:0.4 }; -elements.cancer.reactions.hair_end = { "elem2": "loose_hair", chance:0.4 }; -elements.cancer.reactions.flesh = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.slimey_flesh = { "elem2": ["slime","cancer"], chance:0.004 }; -elements.cancer.reactions.acidic_flesh = { "elem2": ["acid","cancer"], chance:0.004 }; -elements.cancer.reactions.cloak_flesh = { "elem2": "cancer", chance:0.004 }; -elements.cancer.reactions.adipose = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.blood_vessel = { "elem2": ["cancer","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.05 }; -elements.cancer.reactions.white_blood_cell = { "elem2": ["cancer","blood","blood_vessel","blood_vessel","infected_vessel"], chance:0.005 }; -elements.cancer.reactions.heart = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.kidney = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.liver = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.dermis = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.amphib_dermis = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.scale_dermis = { "elem2": "cancer", chance:0.004 }; -elements.cancer.reactions.epidermis = { "elem2": "cancer", chance:0.0002 }; -elements.cancer.reactions.amphib_skin = { "elem2": "cancer", chance:0.0003 }; -elements.cancer.reactions.hairy_skin = { "elem2": "cancer", chance:0.0003 }; -elements.cancer.reactions.hair_dermis = { "elem2": "cancer", chance:0.0003 }; -elements.cancer.reactions.scales = { "elem2": "cancer", chance:0.0001 }; -elements.cancer.reactions.real_bone = { "elem2": ["bone","bone","cancer"], chance:0.0001 }; -elements.cancer.reactions.real_bone_marrow = { "elem2": ["bone","cancer","cancer","cancer","cancer","cancer","cancer"], chance:0.0001 }; -elements.cancer.reactions.lungs = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.simple_lung = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.gills = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.brain = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.nerve = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.olfactory_bulb = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.eye = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.sphincter = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.digested_material = { "elem2": "cancer", chance:0.001 }; -elements.cancer.reactions.intestines = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.stomach_valve = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.stomach_lining = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.decomposer_stomach = { "elem2": "cancer", chance:0.004 }; -elements.cancer.reactions.herbi_stomach = { "elem2": "cancer", chance:0.004 }; -elements.cancer.reactions.carni_stomach = { "elem2": "cancer", chance:0.004 }; -elements.cancer.reactions.explosive_stomach = { "elem2": ["pop","cancer","cancer","cancer"], chance:0.003 }; -elements.cancer.reactions.biotorch = { "elem2": ["cooked_meat","cancer","cancer","cancer"], chance:0.003 }; -elements.cancer.reactions.biosensor = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.valve = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.valve_extension = { "elem2": "cancer", chance:0.005 }; -elements.cancer.reactions.throat_lining = { "elem2": "cancer", chance:0.005 }; +elements.cancer.reactions.attached_hair = { elem2: "loose_hair", chance:0.4 }; +elements.cancer.reactions.hair_end = { elem2: "loose_hair", chance:0.4 }; +elements.cancer.reactions.flesh = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.slimey_flesh = { elem2: ["slime","cancer"], chance:0.004 }; +elements.cancer.reactions.acidic_flesh = { elem2: ["acid","cancer"], chance:0.004 }; +elements.cancer.reactions.cloak_flesh = { elem2: "cancer", chance:0.004 }; +elements.cancer.reactions.adipose = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.blood_vessel = { elem2: ["cancer","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.05 }; +elements.cancer.reactions.white_blood_cell = { elem2: ["cancer","blood","blood_vessel","blood_vessel","infected_vessel"], chance:0.005 }; +elements.cancer.reactions.heart = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.kidney = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.liver = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.dermis = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.amphib_dermis = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.scale_dermis = { elem2: "cancer", chance:0.004 }; +elements.cancer.reactions.epidermis = { elem2: "cancer", chance:0.0002 }; +elements.cancer.reactions.amphib_skin = { elem2: "cancer", chance:0.0003 }; +elements.cancer.reactions.hairy_skin = { elem2: "cancer", chance:0.0003 }; +elements.cancer.reactions.hair_dermis = { elem2: "cancer", chance:0.0003 }; +elements.cancer.reactions.scales = { elem2: "cancer", chance:0.0001 }; +elements.cancer.reactions.real_bone = { elem2: ["bone","bone","cancer"], chance:0.0001 }; +elements.cancer.reactions.real_bone_marrow = { elem2: ["bone","cancer","cancer","cancer","cancer","cancer","cancer"], chance:0.0001 }; +elements.cancer.reactions.lungs = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.simple_lung = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.gills = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.brain = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.nerve = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.olfactory_bulb = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.eye = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.sphincter = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.digested_material = { elem2: "cancer", chance:0.001 }; +elements.cancer.reactions.intestines = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.stomach_valve = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.stomach_lining = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.decomposer_stomach = { elem2: "cancer", chance:0.004 }; +elements.cancer.reactions.herbi_stomach = { elem2: "cancer", chance:0.004 }; +elements.cancer.reactions.carni_stomach = { elem2: "cancer", chance:0.004 }; +elements.cancer.reactions.explosive_stomach = { elem2: ["pop","cancer","cancer","cancer"], chance:0.003 }; +elements.cancer.reactions.biotorch = { elem2: ["cooked_meat","cancer","cancer","cancer"], chance:0.003 }; +elements.cancer.reactions.biosensor = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.valve = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.valve_extension = { elem2: "cancer", chance:0.005 }; +elements.cancer.reactions.throat_lining = { elem2: "cancer", chance:0.005 }; if (!elements.uranium.reactions) { elements.uranium.reactions = {} } -elements.uranium.reactions.attached_hair = { "elem2": "loose_hair", chance:0.4 }; -elements.uranium.reactions.hair_end = { "elem2": "loose_hair", chance:0.4 }; -elements.uranium.reactions.flesh = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.slimey_flesh = { "elem2": ["ash","slime","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.uranium.reactions.acidic_flesh = { "elem2": ["ash","acid","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.uranium.reactions.cloak_flesh = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.uranium.reactions.adipose = { "elem2": ["ash","blood","fat","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.blood_vessel = { "elem2": ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.heart = { "elem2": ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.kidney = { "elem2": ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.liver = { "elem2": ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; -elements.uranium.reactions.amphib_dermis = { "elem2": ["ash","blood","slime","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; -elements.uranium.reactions.scale_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; -elements.uranium.reactions.bug_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; -elements.uranium.reactions.epidermis = { "elem2": ["cooked_meat","cancer","ash","skin"], chance:0.1 }; -elements.uranium.reactions.hairy_skin = { "elem2": ["cooked_meat","cancer","ash","skin","hair"], chance:0.1 }; -elements.uranium.reactions.hair_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; -elements.uranium.reactions.amphib_skin = { "elem2": ["cooked_meat","cancer","ash","skin","slime"], chance:0.4 }; -elements.uranium.reactions.scales = { "elem2": ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; -elements.uranium.reactions.exoskeleton = { "elem2": ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; -elements.uranium.reactions.real_bone = { "elem2": ["bone","bone","radiation"], chance:0.01 }; -elements.uranium.reactions.gills = { "elem2": ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.lungs = { "elem2": ["ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.simple_lung = { "elem2": ["ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.brain = { "elem2": ["ash","steam","salt","meat","rotten_meat","cooked_meat","flesh","cerebrospinal_fluid"], chance:0.5 }; -elements.uranium.reactions.amygdala = { "elem2": ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.nerve = { "elem2": ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.olfactory_bulb = { "elem2": ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.eye = { "elem2": ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.sphincter = { "elem2": ["ash","steam","poop","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.intestines = { "elem2": ["ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","poop"], chance:0.5 }; -elements.uranium.reactions.stomach_valve = { "elem2": ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.stomach_lining = { "elem2": ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.decomposer_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.herbi_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.carni_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.explosive_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.4 }; -elements.uranium.reactions.throat_lining = { "elem2": ["ash","slime","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; -elements.uranium.reactions.biotorch = { "elem2": ["cancer","ash","steam","cooked_meat","rotten_meat","cooked_meat","flesh","fire"], chance:0.5 }; -elements.uranium.reactions.biosensor = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.valve = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.uranium.reactions.valve_extension = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.attached_hair = { elem2: "loose_hair", chance:0.4 }; +elements.uranium.reactions.hair_end = { elem2: "loose_hair", chance:0.4 }; +elements.uranium.reactions.flesh = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.slimey_flesh = { elem2: ["ash","slime","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.uranium.reactions.acidic_flesh = { elem2: ["ash","acid","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.uranium.reactions.cloak_flesh = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.uranium.reactions.adipose = { elem2: ["ash","blood","fat","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.blood_vessel = { elem2: ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.heart = { elem2: ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.kidney = { elem2: ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.liver = { elem2: ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; +elements.uranium.reactions.amphib_dermis = { elem2: ["ash","blood","slime","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; +elements.uranium.reactions.scale_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; +elements.uranium.reactions.bug_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; +elements.uranium.reactions.epidermis = { elem2: ["cooked_meat","cancer","ash","skin"], chance:0.1 }; +elements.uranium.reactions.hairy_skin = { elem2: ["cooked_meat","cancer","ash","skin","hair"], chance:0.1 }; +elements.uranium.reactions.hair_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.5 }; +elements.uranium.reactions.amphib_skin = { elem2: ["cooked_meat","cancer","ash","skin","slime"], chance:0.4 }; +elements.uranium.reactions.scales = { elem2: ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; +elements.uranium.reactions.exoskeleton = { elem2: ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; +elements.uranium.reactions.real_bone = { elem2: ["bone","bone","radiation"], chance:0.01 }; +elements.uranium.reactions.gills = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.lungs = { elem2: ["ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.simple_lung = { elem2: ["ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.brain = { elem2: ["ash","steam","salt","meat","rotten_meat","cooked_meat","flesh","cerebrospinal_fluid"], chance:0.5 }; +elements.uranium.reactions.amygdala = { elem2: ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.nerve = { elem2: ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.olfactory_bulb = { elem2: ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.eye = { elem2: ["ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.sphincter = { elem2: ["ash","steam","poop","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.intestines = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","poop"], chance:0.5 }; +elements.uranium.reactions.stomach_valve = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.stomach_lining = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.decomposer_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.herbi_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.carni_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.explosive_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.4 }; +elements.uranium.reactions.throat_lining = { elem2: ["ash","slime","meat","rotten_meat","cooked_meat","flesh"], chance:0.5 }; +elements.uranium.reactions.biotorch = { elem2: ["cancer","ash","steam","cooked_meat","rotten_meat","cooked_meat","flesh","fire"], chance:0.5 }; +elements.uranium.reactions.biosensor = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.valve = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.uranium.reactions.valve_extension = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.5 }; if (!elements.radiation.reactions) { elements.radiation.reactions = {} } -elements.radiation.reactions.attached_hair = { "elem2": "loose_hair", chance:0.4 }; -elements.radiation.reactions.hair_end = { "elem2": "loose_hair", chance:0.4 }; -elements.radiation.reactions.flesh = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.slimey_flesh = { "elem2": ["ash","slime","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.acidic_flesh = { "elem2": ["ash","acid","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.cloak_flesh = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.adipose = { "elem2": ["ash","blood","fat","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.blood_vessel = { "elem2": ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.4 }; -elements.radiation.reactions.heart = { "elem2": ["ash","blood","blood","blood","blood","infected_vessel","blood","meat","rotten_meat","cooked_meat"], chance:0.4 }; -elements.radiation.reactions.kidney = { "elem2": ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.radiation.reactions.liver = { "elem2": ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; -elements.radiation.reactions.dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.amphib_dermis = { "elem2": ["ash","blood","slime","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.scale_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.scales = { "elem2": ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; -elements.radiation.reactions.exoskeleton = { "elem2": ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; -elements.radiation.reactions.bug_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.epidermis = { "elem2": ["cooked_meat","cancer","ash","skin"], chance:0.1 }; -elements.radiation.reactions.hairy_skin = { "elem2": ["cooked_meat","cancer","ash","skin","hair"], chance:0.1 }; -elements.radiation.reactions.hair_dermis = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; -elements.radiation.reactions.amphib_skin = { "elem2": ["cooked_meat","cancer","ash","skin","slime"], chance:0.1 }; -elements.radiation.reactions.real_bone = { "elem2": ["bone","bone","radiation"], chance:0.01 }; -elements.radiation.reactions.gills = { "elem2": ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.lungs = { "elem2": ["cancer","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.simple_lung = { "elem2": ["cancer","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.brain = { "elem2": ["cancer","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh","cerebrospinal_fluid"], chance:0.4 }; -elements.radiation.reactions.amygdala = { "elem2": ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.nerve = { "elem2": ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.olfactory_bulb = { "elem2": ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.eye = { "elem2": ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.sphincter = { "elem2": ["cancer","ash","steam","poop","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.intestines = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","poop"], chance:0.4 }; -elements.radiation.reactions.stomach_valve = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.stomach_lining = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.decomposer_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.herbi_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.carni_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.explosive_stomach = { "elem2": ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.3 }; -elements.radiation.reactions.throat_lining = { "elem2": ["cancer","ash","slime","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; -elements.radiation.reactions.biotorch = { "elem2": ["cancer","ash","steam","cooked_meat","rotten_meat","cooked_meat","flesh","fire"], chance:0.4 }; -elements.radiation.reactions.biosensor = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; -elements.radiation.reactions.valve = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; -elements.radiation.reactions.valve_extension = { "elem2": ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; +elements.radiation.reactions.attached_hair = { elem2: "loose_hair", chance:0.4 }; +elements.radiation.reactions.hair_end = { elem2: "loose_hair", chance:0.4 }; +elements.radiation.reactions.flesh = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.slimey_flesh = { elem2: ["ash","slime","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.acidic_flesh = { elem2: ["ash","acid","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.cloak_flesh = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.adipose = { elem2: ["ash","blood","fat","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.blood_vessel = { elem2: ["ash","blood","blood","blood","blood","blood","infected_vessel","meat","rotten_meat","cooked_meat"], chance:0.4 }; +elements.radiation.reactions.heart = { elem2: ["ash","blood","blood","blood","blood","infected_vessel","blood","meat","rotten_meat","cooked_meat"], chance:0.4 }; +elements.radiation.reactions.kidney = { elem2: ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.radiation.reactions.liver = { elem2: ["ash","blood","meat","rotten_meat","cooked_meat"], chance:0.5 }; +elements.radiation.reactions.dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.amphib_dermis = { elem2: ["ash","blood","slime","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.scale_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.scales = { elem2: ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; +elements.radiation.reactions.exoskeleton = { elem2: ["cooked_meat","cancer","ash","epidermis","skin","dust","calcium"], chance:0.1 }; +elements.radiation.reactions.bug_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.epidermis = { elem2: ["cooked_meat","cancer","ash","skin"], chance:0.1 }; +elements.radiation.reactions.hairy_skin = { elem2: ["cooked_meat","cancer","ash","skin","hair"], chance:0.1 }; +elements.radiation.reactions.hair_dermis = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat","cancer","cancer"], chance:0.4 }; +elements.radiation.reactions.amphib_skin = { elem2: ["cooked_meat","cancer","ash","skin","slime"], chance:0.1 }; +elements.radiation.reactions.real_bone = { elem2: ["bone","bone","radiation"], chance:0.01 }; +elements.radiation.reactions.gills = { elem2: ["ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.lungs = { elem2: ["cancer","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.simple_lung = { elem2: ["cancer","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","carbon_dioxide","meat","rotten_meat","cooked_meat","flesh","ash","oxygen","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.brain = { elem2: ["cancer","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh","cerebrospinal_fluid"], chance:0.4 }; +elements.radiation.reactions.amygdala = { elem2: ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.nerve = { elem2: ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.olfactory_bulb = { elem2: ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.eye = { elem2: ["cancer","ash","steam","salt","ash","steam","salt","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.sphincter = { elem2: ["cancer","ash","steam","poop","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.intestines = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","ash","steam","meat","rotten_meat","cooked_meat","flesh","poop"], chance:0.4 }; +elements.radiation.reactions.stomach_valve = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.stomach_lining = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.decomposer_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.herbi_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.carni_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.explosive_stomach = { elem2: ["cancer","ash","steam","meat","rotten_meat","cooked_meat","flesh","pop"], chance:0.3 }; +elements.radiation.reactions.throat_lining = { elem2: ["cancer","ash","slime","meat","rotten_meat","cooked_meat","flesh"], chance:0.4 }; +elements.radiation.reactions.biotorch = { elem2: ["cancer","ash","steam","cooked_meat","rotten_meat","cooked_meat","flesh","fire"], chance:0.4 }; +elements.radiation.reactions.biosensor = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; +elements.radiation.reactions.valve = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; +elements.radiation.reactions.valve_extension = { elem2: ["ash","blood","fat","meat","rotten_meat","cooked_meat"], chance:0.4 }; if (!elements.plague.reactions) { elements.plague.reactions = {} } -elements.plague.reactions.attached_hair = { "elem2": "loose_hair", chance:0.04 }; -elements.plague.reactions.hair_end = { "elem2": "loose_hair", chance:0.04 }; -elements.plague.reactions.flesh = { "elem2": ["rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.slimey_flesh = { "elem2": ["slime","slime","rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.cloak_flesh = { "elem2": ["rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.acidic_flesh = { "elem2": ["acid","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.adipose = { "elem2": ["rotten_meat","plague","fat","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.blood_vessel = { "elem2": ["rotten_meat","plague","meat","rotten_meat","plague","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.1 }; -elements.plague.reactions.heart = { "elem2": ["rotten_meat","plague","meat","rotten_meat","plague","infected_vessel","infection","infection","infection","infection","infection"], chance:0.04 }; -elements.plague.reactions.kidney = { "elem2": ["rotten_meat","plague","rotten_meat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.liver = { "elem2": ["rotten_meat","plague","rotten_meat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.dermis = { "elem2": ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.hair_dermis = { "elem2": ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.hairy_skin = { "elem2": ["plague","infection","rotten_meat","dust","dust","hair"], chance:0.04 }; -elements.plague.reactions.amphib_dermis = { "elem2": ["rotten_meat","infection","slime","meat","rotten_meat","plague","infection","infection"], chance:0.01 }; -elements.plague.reactions.scale_dermis = { "elem2": ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; -elements.plague.reactions.epidermis = { "elem2": ["plague","infection","rotten_meat","dust","dust"], chance:0.01 }; -elements.plague.reactions.amphib_skin = { "elem2": ["plague","infection","rotten_meat","skin","slime"], chance:0.01 }; -elements.plague.reactions.scales = { "elem2": ["plague","infection","rotten_meat","dust","skin","calcium"], chance:0.01 }; -elements.plague.reactions.real_bone = { "elem2": ["bone","bone","infection","plague"], chance:0.01 }; -elements.plague.reactions.gills = { "elem2": ["infection","steam","meat","rotten_meat","plague","flesh","plague"], chance:0.05 }; -elements.plague.reactions.lungs = { "elem2": ["infection","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","oxygen","meat","rotten_meat","plague","flesh"], chance:0.1 }; -elements.plague.reactions.simple_lung = { "elem2": ["infection","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","oxygen","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.brain = { "elem2": ["infection","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh","cerebrospinal_fluid"], chance:0.04 }; -elements.plague.reactions.amygdala = { "elem2": ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.nerve = { "elem2": ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.olfactory_bulb = { "elem2": ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.eye = { "elem2": ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.sphincter = { "elem2": ["infection","rotten_meat","steam","poop","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.intestines = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh","rotten_meat","steam","meat","rotten_meat","plague","flesh","poop"], chance:0.04 }; -elements.plague.reactions.stomach_valve = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.stomach_lining = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.decomposer_stomach = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.herbi_stomach = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.carni_stomach = { "elem2": ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.explosive_stomach = { "elem2": ["infection","plague","steam","meat","rotten_meat","plague","flesh","pop"], chance:0.03 }; -elements.plague.reactions.throat_lining = { "elem2": ["infection","rotten_meat","slime","meat","rotten_meat","plague","flesh"], chance:0.04 }; -elements.plague.reactions.biotorch = { "elem2": ["infection","ash","steam","cooked_meat","rotten_meat","plague","plague","fire"], chance:0.04 }; -elements.plague.reactions.biosensor = { "elem2": ["infection","blood","fat","meat","rotten_meat","plague"], chance:0.04 }; -elements.plague.reactions.valve = { "elem2": ["infection","infection","fat","meat","rotten_meat","plague"], chance:0.04 }; -elements.plague.reactions.valve_extension = { "elem2": ["infection","infection","plague","meat","rotten_meat","plague"], chance:0.04 }; +elements.plague.reactions.attached_hair = { elem2: "loose_hair", chance:0.04 }; +elements.plague.reactions.hair_end = { elem2: "loose_hair", chance:0.04 }; +elements.plague.reactions.flesh = { elem2: ["rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.slimey_flesh = { elem2: ["slime","slime","rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.cloak_flesh = { elem2: ["rotten_meat","plague","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.acidic_flesh = { elem2: ["acid","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.adipose = { elem2: ["rotten_meat","plague","fat","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.blood_vessel = { elem2: ["rotten_meat","plague","meat","rotten_meat","plague","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.1 }; +elements.plague.reactions.heart = { elem2: ["rotten_meat","plague","meat","rotten_meat","plague","infected_vessel","infection","infection","infection","infection","infection"], chance:0.04 }; +elements.plague.reactions.kidney = { elem2: ["rotten_meat","plague","rotten_meat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.liver = { elem2: ["rotten_meat","plague","rotten_meat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.dermis = { elem2: ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.hair_dermis = { elem2: ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.hairy_skin = { elem2: ["plague","infection","rotten_meat","dust","dust","hair"], chance:0.04 }; +elements.plague.reactions.amphib_dermis = { elem2: ["rotten_meat","infection","slime","meat","rotten_meat","plague","infection","infection"], chance:0.01 }; +elements.plague.reactions.scale_dermis = { elem2: ["rotten_meat","infection","fat","meat","rotten_meat","plague","infection","infection"], chance:0.04 }; +elements.plague.reactions.epidermis = { elem2: ["plague","infection","rotten_meat","dust","dust"], chance:0.01 }; +elements.plague.reactions.amphib_skin = { elem2: ["plague","infection","rotten_meat","skin","slime"], chance:0.01 }; +elements.plague.reactions.scales = { elem2: ["plague","infection","rotten_meat","dust","skin","calcium"], chance:0.01 }; +elements.plague.reactions.real_bone = { elem2: ["bone","bone","infection","plague"], chance:0.01 }; +elements.plague.reactions.gills = { elem2: ["infection","steam","meat","rotten_meat","plague","flesh","plague"], chance:0.05 }; +elements.plague.reactions.lungs = { elem2: ["infection","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","oxygen","meat","rotten_meat","plague","flesh"], chance:0.1 }; +elements.plague.reactions.simple_lung = { elem2: ["infection","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","carbon_dioxide","meat","rotten_meat","plague","flesh","rotten_meat","oxygen","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.brain = { elem2: ["infection","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh","cerebrospinal_fluid"], chance:0.04 }; +elements.plague.reactions.amygdala = { elem2: ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.nerve = { elem2: ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.olfactory_bulb = { elem2: ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.eye = { elem2: ["infection","rotten_meat","steam","salt","rotten_meat","steam","salt","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.sphincter = { elem2: ["infection","rotten_meat","steam","poop","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.intestines = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh","rotten_meat","steam","meat","rotten_meat","plague","flesh","poop"], chance:0.04 }; +elements.plague.reactions.stomach_valve = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.stomach_lining = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.decomposer_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.herbi_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.carni_stomach = { elem2: ["infection","rotten_meat","steam","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.explosive_stomach = { elem2: ["infection","plague","steam","meat","rotten_meat","plague","flesh","pop"], chance:0.03 }; +elements.plague.reactions.throat_lining = { elem2: ["infection","rotten_meat","slime","meat","rotten_meat","plague","flesh"], chance:0.04 }; +elements.plague.reactions.biotorch = { elem2: ["infection","ash","steam","cooked_meat","rotten_meat","plague","plague","fire"], chance:0.04 }; +elements.plague.reactions.biosensor = { elem2: ["infection","blood","fat","meat","rotten_meat","plague"], chance:0.04 }; +elements.plague.reactions.valve = { elem2: ["infection","infection","fat","meat","rotten_meat","plague"], chance:0.04 }; +elements.plague.reactions.valve_extension = { elem2: ["infection","infection","plague","meat","rotten_meat","plague"], chance:0.04 }; if (!elements.infection.reactions) { elements.infection.reactions = {} } -elements.infection.reactions.blood_vessel = { "elem2": ["infection","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.1 }; -elements.infection.reactions.heart = { "elem2": ["infection","infected_vessel","infection","infection","infection","infection","infected_vessel","infected_vessel"], chance:0.02 }; +elements.infection.reactions.blood_vessel = { elem2: ["infection","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel","infected_vessel"], chance:0.1 }; +elements.infection.reactions.heart = { elem2: ["infection","infected_vessel","infection","infection","infection","infection","infected_vessel","infected_vessel"], chance:0.02 }; if (!elements.fly.reactions) { elements.infection.reactions = {} } elements.fly.reactions.poop = { elem2:[null,null,"stench"], chance:0.15, func:behaviors.FEEDPIXEL }; @@ -13089,8 +6918,45 @@ elements.bless.tool = function(pixel) { } } -elements.dna.reactions.juice = { "elem1": null, "elem2": "elixir", chance:0.01 }; +elements.dna.reactions.juice = { elem1: null, elem2: "elixir", chance:0.01 }; elements.acid.ignore = ["herbi_stomach","carni_stomach","decomposer_stomach","amphib_skin","amphib_dermis","acidic_flesh","acid_vessel","explosive_stomach","stomach_valve","stomach_lining","throat_lining","glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone","earthquake","tornado","tsunami","liquid_light","sensor"] elements.dirty_water.isWaste = true; +elements.salt_water.isWaste = true; +elements.dirty_water.isWaste = true; + +elements.acid.isAcid = true; + +elements.glass_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 }; +elements.glass_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.001 }; +elements.glass_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 }; +elements.glass_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 }; +elements.glass_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 }; +elements.glass_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; +elements.glass_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; + +elements.rad_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.001 }; +elements.rad_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.001 }; +elements.rad_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.001 }; +elements.rad_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0005 }; +elements.rad_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.001 }; +elements.rad_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; +elements.rad_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.0001 }; + +elements.porcelain_shard.reactions.intestines = { elem2: ["blood","blood","meat"], chance:0.0005 }; +elements.porcelain_shard.reactions.lungs = { elem2: ["blood","blood","meat"], chance:0.0005 }; +elements.porcelain_shard.reactions.simple_lung = { elem2:["blood","blood","meat"], chance:0.0005 }; +elements.porcelain_shard.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 }; +elements.porcelain_shard.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood","blood"], chance:0.0005 }; +elements.porcelain_shard.reactions.epidermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 }; +elements.porcelain_shard.reactions.dermis = { elem2: ["dust","blood","blood","blood","blood","blood"], chance:0.00005 }; + +elements.metal_scrap.reactions.intestines = { elem2: ["blood","meat"], chance:0.0005 }; +elements.metal_scrap.reactions.lungs = { elem2: ["blood","meat"], chance:0.0005 }; +elements.metal_scrap.reactions.simple_lung = { elem2:["blood","meat"], chance:0.0005 }; +elements.metal_scrap.reactions.flesh = { elem2: ["blood","meat","meat"], chance:0.0001 }; +elements.metal_scrap.reactions.blood_vessel = { elem2: ["meat","infected_vessel","blood","blood","blood","blood"], chance:0.0005 }; + +elements.vaccine.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 }; +elements.antidote.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 };