//update 0: Variety Mod! //update 1: First Update! //update 2: Moss Update //update 3: hello_world //Update 4: Fly Update //update 5: Maggots and Eggs Update //update 6: Disinfectant Update //update 7: hello_world_2 //update 8: Infested Meat Update (scrapped) //update 9: Zombie Update //update 10: Bananas Update! (scrapped) //update 11: Garbage Update (scrapped) //update 12: Strange Update //update 12.5: Strange Fix //update 13: Big Update //update 14: Garbage and Flies! //update 15: Compilation (scrapped) //update 16: Fruit and Flies //update 17: Mold //update 18: Updated Flies! elements.moss = { //debut: update 2 color: ["#6B7A1A", "#60742E", "#5E823C"], excludeRandom: false, behavior: [ ["XX","SA","XX"], ["SA AND CL%0.2","XX","SA AND CL%0.2"], ["CL%0.2","M1 AND SA","CL%0.2"] ], category: "variety_mod", state: "solid", tempHigh: 55, stateHigh: "grass", tempLow: -20, stateLow: "ice" }, elements.hello_world = { //debut: update 3 color: "#ff0000", desc:"If you see this, just know the upload worked, and you can use the Variety Mod!", excludeRandom: false, behavior: [["XX","SP","XX"],["SP","CH:random%0.1","SP"],["M1","M1","M1"]], category: "land", state: "solid", reactions: { "water": { elem1: "male_fly", elem2: "female_fly", elem3: "fly_egg", elem4: "maggot" }, } }, elements.female_fly = { //debut: update 4 color: "#4B4B4B", excludeRandom: false, behavior: [["M1%20","XX","M1%20"],["M1%20","CH:female_fly>dead_fly%0.01","M1%20"],["M1%20","CR:fly_egg%0.06","M1%20"]], category: "variety_mod", state: "solid", breakInto: "dead_fly", reactions: { "disinfectant": { elem1: "dead_fly", elem2: "ammonia", elem3: "stench"}, }, tempHigh: 100, stateHigh:"dead_fly", tempLow: 10, stateLow: "ice", }, elements.male_fly = { //debut: update 14 color: "#4B4B4B", excludeRandom: false, behavior: [["M1","M2","M1"],["M2","CH:dead_fly%0.01","M2"],["M1","M2","M1"]], category: "variety_mod", state: "solid", reactions: { "disinfectant": { elem1: "dead_fly", elem2: "dead_fly"}, } }, elements.fly_egg = { //debut: update 5 color: "#E2EAF4", excludeRandom: false, behavior: [["XX","ST","XX"],["ST","CH:maggot%0.036","ST"],["M1","M1 AND ST","M1"]], category: "variety_mod", state: "solid", breakInto: "slime,maggot,female_fly", reactions: { "disinfectant": { elem1: "dead_fly", elem2: "ammonia", elem3: "stench"}, "growth_Fluid": { elem1: "maggot", elem2: "female_fly", elem3: "female_fly"} } }, elements.maggot = { //debut:update 16 color: "#F0EEE8", excludeRandom: false, behavior: [["M2%10 AND SA%50","SA%50 AND SW: maggot,fly_egg,meat,rotten_meat,cooked_meat","M2%10 AND SA%50"],["M2%50 AND CH:meat,rotten_meat,cooked_meat,cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,garbage_juice,banana,mashed_banana,rotten_banana>stench,stench,stench,plague%0.1","CC: #F9E6D4%0.08 AND CH:fly_pupa%0.05,CR:stench%10","M2%50 AND CH:meat,rotten_meat,cooked_meat,cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,banana,mashed_banana,rotten_banana>stench,plaque%0.1"],["M1 AND CH:meat>rotten_meat%1","M1 AND CH:meat,rotten_meat,cooked_meat,cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,>stench,plaque AND CH:cheese,cheese_powder,melted_cheese>rotten_cheese","M1"]], category: "variety_mod", state: "solid", breakInto: "slime", tempHigh: 80, stateHigh: "female_fly", reactions: { "disinfectant": { elem1: "stench", elem2: "ammonia", elem3: "stench"}, "growth_Fluid": {elem1: "female_fly", elem2: "female_fly"} } }, elements.fly_pupa = { //debut:update 18 color: "#B1834D", excludeRandom: false, behavior: [["XX","SP","XX"],["SP","CH:crawl_fly%0.006 AND CC:#5D5247%0.01","SP"],["M1","M1","M1"]], category: "variety_mod", state: "solid", reactions:{ "disinfectant": {elem1:"mold", elem2:"dead_fly", elem3:"dirt"} } }, elements.crawl_fly = { //update 18 color: "#5D5247", excludeRandom: false, behavior: [["M2%0.5","XX","M2%0.5"],["M2%1","CH:male_fly,female_fly%0.06","M2%1"],["XX","M1","XX"]], category: "variety_mod", state: "solid", reactions:{ "disinfectant": {elem1:"mold", elem2:"dead_fly", elem3:"dirt"} } }, elements.female_fruitfly = { //debut: update 16 color: "#EEC758", excludeRandom: false, behavior: [["M1%20","SW:grape,juice,fruit_milk,banana,mashed_banana,rotten_banana,dirt,mold%10","M1%20"],["M1%20","CH:female_fruitfly>dead_fly%0.01","M1%20"],["M1%20","CR:fruitfly_egg%0.06","M1%20"]], category: "variety_mod", state: "solid", breakInto: "dead_fly", reactions: { "disinfectant": { elem1: "dead_fly", elem2: "dead_fly", elem3: "stench"}, }, tempHigh: 100, stateHigh:"dead_fly", tempLow: 10, stateLow: "ice", }, elements.male_fruitfly = { //debut: update 16 color: "#D4A930", excludeRandom: false, behavior: [["M1","M2 AND SW:grape,juice,fruit_milk,banana,mashed_banana,rotten_banana,dirt,mold"%10,"M1"],["M2","CH:dead_fly%0.01","M2"],["M1","M2","M1"]], category: "variety_mod", breakInto:"dead_bug", state: "solid", reactions: { "disinfectant": { elem1: "dead_fly", elem2: "dead_fly"}, } }, elements.fruitfly_egg = { //debut: update 16 color: "#E2EAF4", excludeRandom: false, behavior: [["XX","ST","XX"],["ST","CH:fruitfly_maggot%0.018","ST"],["M1","M1 AND ST","M1"]], category: "variety_mod", state: "solid", breakInto: "slime,maggot,female_fruitfly", reactions: { "disinfectant": { elem1: "plague", elem2: "slime", elem3: "stench"}, "growth_Fluid": { elem1: "fruitfly_maggot", elem2: "female_fruitfly", elem3: "female_fruitfly"} } }, elements.fruitfly_maggot = { //debut:update 16 color: "#F0EEE8", excludeRandom: false, behavior: [["M2%10 AND SA%50 AND SW:grape,juice,fruit_milk,banana,mashed_banana,rotten_banana%10","SA%50","M2%10 AND SA%50 AND SW:grape,juice,fruit_milk,banana,mashed_banana,rotten_banana"],["M2%50 AND CH:cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,grape,banana,mashed_banana,rotten_banana>stench,stench,stench,plague%0.1","CH:fruitfly_pupa%0.05,CR:stench%10","M2%50 AND CH:cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,grape,banana>stench,plaque%0.1"],["M1 AND CH:banana>rotten_banana%1 AND SW:grape,juice,banana,mashed_banana,rotten_banana","M1 AND CH:cheese,melted_cheese,cheese_powder,rotten_cheese,bread,crumb,toast,grape,banana>stench,plaque%0.1 AND CH:cheese,cheese_powder,melted_cheese>rotten_cheese AND CH:banana>rotten_banana,mashed_banana%0.01","M1 AND SW:grape,juice,banana,mashed_banana,rotten_banana"]], category: "variety_mod", state: "solid", breakInto: "slime", tempHigh: 80, stateHigh: "female_fruitfly", reactions: { "disinfectant": { elem1: "stench", elem2: "plague", elem3: "stench"}, "growth_Fluid": {elem1: "female_fruitfly", elem2: "female_fruitfly"} } }, elements.fruitfly_pupa = { //update 18 color: "#CBAD91", excludeRandom: false, behavior: [["XX","SP","XX"],["SP","CH:crawl_fly%0.006 AND CC:#5D5247%0.01","SP"],["M1","M1","M1"]], category: "variety_mod", state: "solid" }, elements.crawl_fruitfly = { //update 18 color: "#64571c", excludeRandom: false, behavior: [["XX","XX","XX"],["M2%2","CH:male_fly,female_fly%0.004","M2%2"],["M1","M1","M1"]], category: "variety_mod", state: "solid", }, elements.dead_fly = { //debut: update 16 color: "#4B4A4B", excludeRandom: false, behavior: [["XX","XX","XX"],["XX","CH:dirt%0.1","XX"],["M1","M1 AND SA","M1"]], category: "variety_mod", state: "solid", reactions: { "disinfectant": { elem1: "dirt"}, } }, elements.disinfectant = { //debut: update 6 color: "#E2EAF4", excludeRandom: false, behavior: behaviors.FOAM, category: "variety_mod", state: "gas", stain: -1, reactions: { "water": { elem1: "water", elem2: "seltzer"} } }; elements.garbage_bag = { //debut: update 14(failed debut: update 11) color: "#4B4B4B", excludeRandom: false, behavior: [["XX","CH:meat,rotten_meat,frozen_meat,salt,sugar,flour,egg,hard_yolk,rotten_cheese,cheese_powder,grape,herb,lettuce,pickle,banana,mashed_banana,rotten_banana,dirt,mud,juice,dead_bug,>stench","XX"],["XX","XX","XX"],["M1","M1","M1"]], category: "variety_mod", state: "solid", burn: .01, burnTime: 300, burnInto: "molten_plastic", reactions: { "meat": { elem1: "garbage" }, "rotten_meat": { elem1: "garbage" }, "frozen_meat": { elem1: "garbage" }, "salt": { elem1: "garbage" }, "sugar": { elem1: "garbage" }, "flour": { elem1: "garbage" }, "egg": { elem1: "garbage" }, "hard_yolk": { elem1: "garbage" }, "rotten_cheese": { elem1: "garbage" }, "cheese_powder": { elem1: "garbage" }, "grape": { elem1: "garbage" }, "herb": { elem1: "garbage" }, "lettuce": { elem1: "garbage" }, "pickle": { elem1: "garbage" }, } }, elements.garbage = { //debut: update 14(failed debut: update 11) color: "#4B4A4B", excludeRandom: false, behavior: [["XX","CR:stench%0.1","XX"],["SP%20 AND CR:garbage_juice%0.1 AND CH:water>dirty_water,garbage_juice%1","CH:maggot%0.007","SP%20 AND CR:garbage_juice%0.1 AND CH:water>dirty_water,garbage_juice%1"],["M1","M1","M1"]], breakInto:"maggot", category: "variety_mod", state: "solid", burn: .01, burnTime: 300, burnInto: "ash", reactions: { "fire": { elem1: "ash", elem2: "female_fly", elem3: "maggot", elem4: "fly_egg" }, } }, elements.garbage_juice = { //debut: update 14(failed debut: update 11) color: ["#6B7A1A", "#60742E", "#5E823C"], excludeRandom: false, behavior: behaviors.LIQUID, stain:0.0025, category: "variety_mod", state: "liquid", reactions: { "disinfectant": { elem1: "dirty_water", elem2: "stench"}, } }, elements.banana = { //debut:update 16 color: ["#FCE47D","#EEC758"], excludeRandom: false, behavior: [["XX","ST:vine","XX"],["ST:vine","CH:rotten_banana%0.005","ST:vine"],["M2 AND ","M1","M2"]], category: "variety_mod", breakInto:["mashed_banana","juice"], breakIntoColor: "#D4A930", state: "solid", reactions: { "dirty_water": { elem1: "rotten_banana" }, } }, elements.mashed_banana = { //debut:update 16 color: ["#FCE47D","#D4A930"], excludeRandom: false, behavior: [["XX","CR:juice%0.01","XX"],["ST%75","Ch:mold%0.015","ST%75"],["M1","M1","M1"]], category: "variety_mod", state: "solid", reactions: { "yogurt": { elem1: "yogurt" }, "milk": {elem1: "fruit_milk"}, } }, elements.rotten_banana = { //debut:update16 color: ["#7e7c29","#64571c","#4a3e16"], excludeRandom: false, behavior: [["XX","ST:vine AND CR:juice%0.01 AND CR:fly_egg,fruitfly_egg%0.0085 AND SP","XX"],["ST:vine AND SP","CH:dirt%0.1","ST:vine AND SP"],["M2","M1","M2"]], category: "variety_mod", breakInto:"mashed_banana", state: "solid", reactions: { "disinfectant": { elem1: "mold" }, "worm": { elem1: "dirt", elem2: "mold"}, "maggot": { elem1: "dirt", elem2: "mold"}, "fruitfly_maggot": { elem1: "dirt", elem2: "mold"}, } }, elements.mold = { //debut:update 17 color: ["#6B7A1A", "#60742E", "#5E823C"], excludeRandom: false, behavior: [["CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07","SP","CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07"],["CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07","CH:dirt%0.001","CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07"],["M1 AND CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07","M1","M1 AND CH:rotten_meat,rotten_cheese,rotten_banana>mold%0.07"]], category: "variety_mod", state: "solid", reactions: { "disinfectant": { elem1: "dirt", elem2: "fruitfly_egg", elem3: "stench", elem4: "fruitfly_maggot", elem5: "mold", elem6: "mold" }, } }, elements.zombie = { //debut: update 9 hidden: false, color: ["#75816B","#4D6B53"], category: "variety_mod", properties: { dead: false, dir: 1, panic: 1 }, tick: function(pixel) { if (isEmpty(pixel.x, pixel.y+1)) { createPixel("z_body", pixel.x, pixel.y+1); pixel.element = "z_head"; } else if (isEmpty(pixel.x, pixel.y-1)) { createPixel("z_head", pixel.x, pixel.y-1); pixelMap[pixel.x][pixel.y-1].color = pixel.color; pixel.element = "z_body"; } else { deletePixel(pixel.x, pixel.y); } }, related: ["z_body","z_head"], cooldown: defaultCooldown }, elements.z_head = { //debut: update 9 hidden: true, color: ["#75816B","#4D6B53"], category: "variety_mod", breakInto: ["rotten_meat","bone","bone","blood"], properties: { dead: false }, tick: function(pixel) { doHeat(pixel); doBurning(pixel); doElectricity(pixel); if (pixel.dead) { // Turn into rotten_meat if pixelTicks-dead > 500 if (pixelTicks-pixel.dead > 200 && Math.random() < 0.1) { changePixel(pixel,"rotten_meat"); return } } // Find the body if (!isEmpty(pixel.x, pixel.y+1, true) && pixelMap[pixel.x][pixel.y+1].element == "z_body") { var body = pixelMap[pixel.x][pixel.y+1]; if (body.dead) { // If body is dead, kill head pixel.dead = body.dead; } } else { var body = null } if (tryMove(pixel, pixel.x, pixel.y+1)) { // create blood if severed 10% chance if (isEmpty(pixel.x, pixel.y+1) && !pixel.dead && Math.random() < 0.1 && !pixel.charge) { createPixel("infection", pixel.x, pixel.y+1); // set dead to true 15% chance if (Math.random() < 0.15) { pixel.dead = pixelTicks; } } } // homeostasis if (pixel.temp > 37) { pixel.temp -= 1; } else if (pixel.temp < 37) { pixel.temp += 1; } }, density: 1030, state: "solid", conduct: .05, tempHigh: 250, stateHigh: "rotten_meat", burn: .01, burnTime: 200, burnInto: "rotten_meat", reactions: { "head": { elem2 : "z_head" , chance:1.0 }, "body": { elem2 : "z_body" , chance:1.0 }, "disinfectant": {elem1:"head"}, }, }, elements.z_body = { //debut: update 9 hidden: true, color: ["#5DE2E7","#047e99","#7f5fb0"], category: "variety_mod", breakInto: ["rotten_meat","rotten_meat","bone","blood"], properties: { dead: false, dir: 1, panic: 0 }, tick: function(pixel) { if (tryMove(pixel, pixel.x, pixel.y+1)) { // Fall if (!isEmpty(pixel.x, pixel.y-2, true)) { // Drag head down var headpixel = pixelMap[pixel.x][pixel.y-2]; if (headpixel.element == "z_head") { if (isEmpty(pixel.x, pixel.y-1)) { movePixel(pixelMap[pixel.x][pixel.y-2], pixel.x, pixel.y-1); } else { swapPixels(pixelMap[pixel.x][pixel.y-2], pixelMap[pixel.x][pixel.y-1]); } } } } doHeat(pixel); doBurning(pixel); doElectricity(pixel); if (pixel.dead) { // Turn into bone if pixelTicks-dead > 500 if (pixelTicks-pixel.dead > 200 && Math.random() < 0.1) { changePixel(pixel,"rotten_meat"); } return } // Find the head if (!isEmpty(pixel.x, pixel.y-1, true) && pixelMap[pixel.x][pixel.y-1].element == "z_head") { var head = pixelMap[pixel.x][pixel.y-1]; if (head.dead) { // If head is dead, kill body pixel.dead = head.dead; } } else { var head = null } if (pixel.burning) { pixel.panic += 0.1; if (head && pixelTicks-pixel.burnStart > 240) { pixel.color = head.color; } } else if (pixel.panic > 0) { pixel.panic -= 0.1; } if (isEmpty(pixel.x, pixel.y-1)) { // create blood if decapitated 10% chance if (Math.random() < 0.1 && !pixel.charge) { createPixel("infection", pixel.x, pixel.y-1); // set dead to true 15% chance if (Math.random() < 0.15) { pixel.dead = pixelTicks; } } } else if (head == null) { return } else if (Math.random() < 0.1*(isEmpty(pixel.x, pixel.y+1) ? 1 : pixel.panic+1)) { // Move 10% chance var movesToTry = [ [1*pixel.dir,0], [1*pixel.dir,-1], ]; // While movesToTry is not empty, tryMove(pixel, x, y) with a random move, then remove it. if tryMove returns true, break. while (movesToTry.length > 0) { var move = movesToTry.splice(Math.floor(Math.random() * movesToTry.length), 1)[0]; if (isEmpty(pixel.x+move[0], pixel.y+move[1]-1)) { var origx = pixel.x+move[0]; var origy = pixel.y+move[1]; if (tryMove(pixel, pixel.x+move[0], pixel.y+move[1]) && pixel.x===origx && pixel.y===origy) { movePixel(head, head.x+move[0], head.y+move[1]); break; } } } // 15% chance to change direction if (Math.random() < 0.15) { pixel.dir *= -1; } // homeostasis if (pixel.temp > 37) { pixel.temp -= 1; } else if (pixel.temp < 37) { pixel.temp += 1; } } }, density: 1035, state: "solid", conduct: .05, tempHigh: 250, stateHigh: "rotten_meat", burn: .01, burnTime: 300, burnInto: "rotten_meat", forceSaveColor: true, reactions: { "head": { elem2 : "z_head" , chance:1.0 }, "body": { elem2 : "z_body" , chance:1.0 }, "disinfectant": {elem1:"body"}, }, }, elements.growth_Fluid = { //debut: update 13 color: "#d1b74f", excludeRandom: false, behavior: [["XX","XX","XX"],["M2","DL%1","M2"],["M1","M1","M1"]], category: "variety_mod", state: "liquid", reactions: { "water": { elem1: "disinfectant"}, } }; elements.strange_Cell = { //debut: update 12 color: "#b150d4", excludeRandom: false, behavior: [["M1%5","ST%5 AND M1%5 AND EX:9>random","M1%5"],["SP","LB:random%0.05 AND RT:1%10","SP"],["M1%5","SW AND SH AND M1%5 AND EX:9>variety_mod%1","M1%5"]], category: "variety_mod", state: "solid", tempHigh: 3000, stateHigh:"loopy", reactions: { "gray_goo": { elem1: "loopy", elem2: "explosion"}, } }, elements.variety_mod = { //debut: update 15 color: "#ff0000", excludeRandom: false, behavior: [["XX","XX","XX"],["XX","CH:moss,hello_world,female_fly,male_fly,fly_egg,maggot,disinfectant,garbage_bag,garbage,garbage_juice,zombie,growth_Fluid,strange_Cell","XX"],["XX","XX","XX"]], category: "variety_mod", state: "solid", related: ["moss","hello_world","female_fly","male_fly","fly_egg","maggot","fruitfly_egg","banana","mold","disinfectant","garbage_bag","garbage","garbage_juice","zombie","growth_Fluid","strange_Cell"], cooldown: defaultCooldown };