From 0cb691a0b087d38f87f7e6cda61059723ac97bb9 Mon Sep 17 00:00:00 2001 From: slweeb <91897291+slweeb@users.noreply.github.com> Date: Mon, 6 Jan 2025 11:56:35 -0500 Subject: [PATCH] Delete weapons.js --- weapons.js | 1255 ---------------------------------------------------- 1 file changed, 1255 deletions(-) delete mode 100644 weapons.js diff --git a/weapons.js b/weapons.js deleted file mode 100644 index c44cb455..00000000 --- a/weapons.js +++ /dev/null @@ -1,1255 +0,0 @@ -elements.tsar_bomba = { - color: "#524C41", - behavior: [ - "XX|EX:150>plasma|XX", - "XX|XX|XX", - "M2|M1 AND EX:150>plasma|M2", - ], - category: "weapons", - state: "solid", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.little_boy = { - color: "#F5F5DC", - behavior: [ - "XX|EX:20>plasma|XX", - "XX|XX|XX", - "M2|M1 AND EX:70>plasma,plasma,plasma,plasma,radiation,fallout|M2", - ], - category: "weapons", - state: "solid", - density: 500, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.fat_man = { - color: ["#ffff00","#333333"], - behavior: [ - "XX|EX:28>plasma|XX", - "XX|XX|XX", - "M2|M1 AND EX:98>plasma,plasma,plasma,plasma,radiation,fallout|M2", - ], - category: "weapons", - state: "solid", - density: 1000, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.self_propelled_bomb = { - color: "#71797E", - tick: function(pixel) { - if ((pixel.temp > 1000 || pixel.charge) && !pixel.burning) { - pixel.burning = true; - pixel.burnStart = pixelTicks; - } - if (pixel.burning) { - if (!tryMove(pixel, pixel.x, pixel.y-1)) { - // tryMove again to the top left or top right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y-1); - } - if (pixelTicks-pixel.burnStart > 50 && Math.random() < 0.1) { - explodeAt(pixel.x, pixel.y, 10, "bomb"); - } - } - else { - if (!tryMove(pixel, pixel.x, pixel.y+1)) { - // tryMove again to the bottom left or bottom right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y+1); - } - } - doDefaults(pixel); - }, - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "weapons" -}, -elements.left_missile = { - color: "#4c4e42", - behavior: [ - "M2|EX:10|XX", - "M1 AND EX:10|XX|EX:10", - "M2|EX:10|XX", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.right_missile = { - color: "#4c4e42", - behavior: [ - "XX|EX:10|M2", - "EX:10|XX|M1 AND EX:10", - "XX|EX:10|M2", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.up_missile = { - color: "#4c4e42", - behavior: [ - "M2|M1 AND EX:10|M2", - "EX:10|XX|EX:10", - "XX|EX:10|XX", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.cluster_munition = { - color: "#444444", - behavior: [ - "XX|EX:10>smoke,smoke,smoke,smoke,bomb,bomb|XX", - "XX|XX|XX", - "M2|M1 AND EX:10>smoke,smoke,smoke,smoke,bomb,cluster_munition|M2", - ], - category: "weapons", - state: "solid", - density: 1300, -}, - elements.RL_cluster_munition = { - color: "#444444", - behavior: [ - "XX|XX|XX", - "CRcluster%20|XX|CR:cluster%20", - "M2|M1|M2", - ], - category: "weapons", - state: "solid", - density: 1300, -}, - elements.cluster = { - color: "#444444", - behavior: [ - "XX|EX:10%10|XX", - "XX|XX|XX", - "M2|M1 AND EX:10%10|M2", - ], - category: "ammunition", - state: "solid", - density: 1300, - hidden: true, -}, - elements.machine_gun_left = { - color: "#C0C0C0", - behavior: [ - "XX|XX|XX", - "CR:left_bullet|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - density: 1300, -}, - elements.machine_gun_right = { - color: "#C0C0C0", - behavior: [ - "XX|XX|XX", - "XX|XX|CR:right_bullet", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - density: 1300, -}, -elements.left_bullet = { - color: "#4c4e42", - behavior: [ - "M2|XX|XX", - "M1 AND DB|XX|XX", - "M2|XX|XX", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.right_bullet = { - color: "#4c4e42", - behavior: [ - "XX|XX|M2", - "XX|XX|M1 AND DB", - "XX|XX|M2", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.e_gun_left = { - color: "#C0C0C0", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "CR:left_bullet|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 1, - density: 1300, -}, - elements.e_gun_right = { - color: "#C0C0C0", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "XX|XX|CR:right_bullet", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 1, - density: 1300, -}, - elements.auto_rocket_launcher_left = { - color: "#C0C0C0", - behavior: [ - "XX|XX|XX", - "CR:left_rocket|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - density: 1300, -}, - elements.auto_rocket_launcher_right = { - color: "#C0C0C0", - behavior: [ - "XX|XX|XX", - "XX|XX|CR:right_rocket", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - density: 1300, -}, -elements.left_rocket = { - color: "#4c4e42", - behavior: [ - "XX|XX|XX", - "M1 AND EX:10|XX|XX", - "XX|XX|XX", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.right_rocket = { - color: "#4c4e42", - behavior: [ - "XX|XX|XX", - "XX|XX|M1 AND EX:10", - "XX|XX|XX", - ], - state: "solid", - category:"ammunition", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.e_rocket_launcher_left = { - color: "#C0C0C0", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "CR:left_rocket|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 1, - density: 1300, -}, - elements.e_rocket_launcher_right = { - color: "#C0C0C0", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "XX|XX|CR:right_rocket", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 1, - density: 1300, -}, -elements.gaster_blast_left = { - color: "#c5e9f0", - behavior: [ - "DL|DL|XX", - "DL AND CR:gaster_blast_left%5|XX|XX", - "DL|DL|XX", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x-2, pixel.y)) { - if (!isEmpty(pixel.x-2, pixel.y,true)) { - var newPixel = pixelMap[pixel.x-2][pixel.y]; - if (newPixel.element === "gaster_blast_left") { break; } - if (elements[newPixel.element].state == "gas") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "energy", - state: "gas", - insulate: true, -}, -elements.gaster_blast_right = { - color: "#c5e9f0", - behavior: [ - "XX|DL|DL", - "XX|XX|DL AND CR:gaster_blast_right%5", - "XX|DL|DL", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x+2, pixel.y)) { - if (!isEmpty(pixel.x+2, pixel.y,true)) { - var newPixel = pixelMap[pixel.x+2][pixel.y]; - if (newPixel.element === "gaster_blast_right") { break; } - if (elements[newPixel.element].state == "gas") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "energy", - state: "gas", - insulate: true, -}, - elements.gaster_blaster_left = { - color: "#ffffff", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "CR:gaster_blast_left|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 20, -}, - elements.gaster_blaster_right = { - color: "#ffffff", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "XX|XX|CR:gaster_blast_right", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - conduct: 20, -}, -elements.fast_bullet_left = { - color: "#4c4e42", - behavior: [ - "XX|DL|XX", - "XX|XX|XX", - "XX|DL|XX", - ], -tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x-3, pixel.y)) { - if (!isEmpty(pixel.x-3, pixel.y,true)) { - var newPixel = pixelMap[pixel.x-3][pixel.y]; - if (newPixel.element === "fast_bullet_left") { break; } - if (elements[newPixel.element].state == "solid") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "ammunition", - state: "solid", - insulate: true, -}, -elements.fast_bullet_right = { - color: "#4c4e42", - behavior: [ - "XX|DL|XX", - "XX|XX|XX", - "XX|DL|XX", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x+3, pixel.y)) { - if (!isEmpty(pixel.x+3, pixel.y,true)) { - var newPixel = pixelMap[pixel.x+3][pixel.y]; - if (newPixel.element === "fast_bullet_right") { break; } - if (elements[newPixel.element].state == "solid") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "ammunition", - state: "solid", - insulate: true, -}, -elements.flak_cannon = { - color: "#C0C0C0", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|CR:flak|XX", - "XX|XX|XX", - "XX|XX|XX", - ], - category: "weapons", - state: "solid", - density: 1300, - conduct: 1, -}, - elements.flak = { - color: "#f0f0f0", - tick: function(pixel) { - if ((pixel.temp > 10 || pixel.charge) && !pixel.burning) { - pixel.burning = true; - pixel.burnStart = pixelTicks; - } - if (pixel.burning) { - if (!tryMove(pixel, pixel.x, pixel.y-1)) { - // tryMove again to the top left or top right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y-1); - } - if (pixelTicks-pixel.burnStart > 50 && Math.random() < 0.005) { - explodeAt(pixel.x, pixel.y, 10, "flak_shrapnel"); - } - } - else { - if (!tryMove(pixel, pixel.x, pixel.y+1)) { - // tryMove again to the bottom left or bottom right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y+1); - } - } - doDefaults(pixel); - }, - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "ammunition" -}, - elements.flak_shrapnel = { - color: "#71797E", - behavior: [ - "XX|XX|XX", - "XX|EX:5 %10|XX", - "M2|M1|M2", - ], - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "ammunition" -}, -elements.fighter_jet_left = { - color: "#bcc6cc", - behavior: [ - "M1%0.2|M2%0.005 AND EX:5>metal_scrap|M2%0.005 AND EX:5>metal_scrap", - "M1 AND CR:fast_bullet_left|XX|CR:smoke AND EX:5>metal_scrap", - "M1%0.2|M2%0.005 AND EX:5>metal_scrap|M2%0.005 AND EX:5>metal_scrap", - ], -tick: function(pixel) { - for (var i=0; i<2; i++) { - if (!tryMove(pixel, pixel.x-1, pixel.y)) { - if (!isEmpty(pixel.x-1, pixel.y,true)) { - var newPixel = pixelMap[pixel.x-1][pixel.y]; - if (newPixel.element === "fast_bullet_left") { break; } - if (elements[newPixel.element].state == "solid") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "aircrafts", - breakInto: "metal_scrap" - }, -elements.fighter_jet_right = { - color: "#bcc6cc", - behavior: [ - "M2%0.005 AND EX:5>metal_scrap|M2%0.005 AND EX:5>metal_scrap|M1%0.2", - "CR:smoke AND EX:5>metal_scrap|XX|M1 AND CR:fast_bullet_right", - "M2%0.005 AND EX:5>metal_scrap|M2%0.005 AND EX:5>metal_scrap|M1%0.2", - ], -tick: function(pixel) { - for (var i=0; i<2; i++) { - if (!tryMove(pixel, pixel.x+1, pixel.y)) { - if (!isEmpty(pixel.x+1, pixel.y,true)) { - var newPixel = pixelMap[pixel.x+1][pixel.y]; - if (newPixel.element === "fast_bullet_right") { break; } - if (elements[newPixel.element].state == "solid") { - if (Math.random() > (elements[newPixel.element].hardness || 0)) { - if (elements[newPixel.element].breakInto) { - breakPixel(newPixel); - } - else { - deletePixel(newPixel.x, newPixel.y); - }}}} - deletePixel(pixel.x,pixel.y); - break; - }}}, - category: "aircrafts", - breakInto: "metal_scrap" - }, -elements.machine_for_throwing_bombs_at_you_left = { - color: "#524c41", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "CR:bombs_for_throwing_at_you_left|XX|XX", - "XXXX|XX", - ], - category: "weapons", - conduct: 1 -}, -elements.bombs_for_throwing_at_you_left = { - color: "#524c41", - category: "ammunition", - behavior: [ - "XX|EX:10>bomb|XX", - "XX|XX|XX", - "M1|M1%10 AND EX:10>bomb|XX", - ], - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -} -elements.machine_for_throwing_bombs_at_right = { - color: "#524c41", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "XX|XX|CR:bombs_for_throwing_at_you_right", - "XXXX|XX", - ], - category: "weapons", - conduct: 1 -}, -elements.bombs_for_throwing_at_you_right = { - color: "#524c41", - category: "ammunition", - behavior: [ - "XX|EX:10>bomb|XX", - "XX|XX|XX", - "XX|M1%10 AND EX:10>bomb|M1", - ], - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.energized_orb_left = { - color: ["#e0e000","#f3f300"], - category: "energy", - behavior: [ - "XX|EX:50>electric|XX", - "M1 AND EX:50>electric|XX|EX:50>electric", - "XX|EX:50>electric|XX" - ], - state: "gas", -}, -elements.energized_orb_right = { - color: ["#e0e000","#f3f300"], - category: "energy", - behavior: [ - "XX|EX:50>electric|XX", - "EX:50>electric|XX|M1 AND EX:50>electric", - "XX|EX:50>electric|XX" - ], - state: "gas", -}, -elements.fast_bomb = { - color: "#524c41", - category: "weapons", - state: "solid", - behavior: [ - "XX|EX:10>explosion|XX", - "XX|XX|XX", - "M2|M1 AND EX:10>explosion|M2", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x, pixel.y+1)) { - if (!isEmpty(pixel.x, pixel.y+1,true)) { - } - } - } - }, - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.liquid_bomb = { - color: "#524c41", - tick: function(pixel) { - if (pixel.start === pixelTicks) {return} - if (pixel.charge && elements[pixel.element].behaviorOn) { - pixelTick(pixel) - } - if (elements[pixel.element].viscosity && (!((Math.random()*100) < 100 / Math.pow(elements[pixel.element].viscosity, 0.25)))) { - var move1Spots = [ - [pixel.x, pixel.y+1] - ] - } - else { - var move1Spots = [ - [pixel.x+1, pixel.y+1], - [pixel.x, pixel.y+1], - [pixel.x-1, pixel.y+1], - ] - } - var moved = false; - for (var i = 0; i < move1Spots.length; i++) { - var coords = move1Spots[Math.floor(Math.random()*move1Spots.length)]; - if (tryMove(pixel, coords[0], coords[1])) { moved = true; break; } - else { move1Spots.splice(move1Spots.indexOf(coords), 1); } - } - if (!moved) { - if (elements[pixel.element].viscosity===undefined || !(!((Math.random()*100) < 100 / Math.pow(elements[pixel.element].viscosity, 0.25)))) { - if (Math.random() < 0.5) { - if (!tryMove(pixel, pixel.x+1, pixel.y)) { - tryMove(pixel, pixel.x-1, pixel.y); - } - } else { - if (!tryMove(pixel, pixel.x-1, pixel.y)) { - tryMove(pixel, pixel.x+1, pixel.y); - } - } - } - } - doDefaults(pixel); - }, - category: "weapons", - state: "liquid", - behavior: [ - "XX|EX:10>explosion|XX", - "XX|XX|XX", - "XX|EX:10>explosion|XX", - ], - density: 1300, - excludeRandom: true, - ignore: "gas_bomb", - cooldown: defaultCooldown -}, -elements.gas_bomb = { - color: "#524c41", - tick: function(pixel) { - if (pixel.start === pixelTicks) {return} - if (pixel.charge && elements[pixel.element].behaviorOn) { - pixelTick(pixel) - } - var move1Spots = [ - [pixel.x, pixel.y+1], - [pixel.x, pixel.y-1], - [pixel.x+1, pixel.y], - [pixel.x-1, pixel.y], - ] - var moved = false; - for (var i = 0; i < move1Spots.length; i++) { - var coords = move1Spots[Math.floor(Math.random()*move1Spots.length)]; - if (tryMove(pixel, coords[0], coords[1])) { moved = true; break; } - else { move1Spots.splice(move1Spots.indexOf(coords), 1);} - } - if (!moved) { - var move2Spots = [ - [pixel.x+1, pixel.y+1], - [pixel.x-1, pixel.y+1], - [pixel.x+1, pixel.y-1], - [pixel.x-1, pixel.y-1], - ] - for (var i = 0; i < move2Spots.length; i++) { - var coords = move2Spots[Math.floor(Math.random()*move2Spots.length)]; - if (tryMove(pixel, coords[0], coords[1])) { break; } - else { move2Spots.splice(move2Spots.indexOf(coords), 1); } - } - } - doDefaults(pixel); - }, - category: "weapons", - state: "gas", - behavior: [ - "XX|EX:10>explosion|XX", - "XX|XX|XX", - "XX|EX:10>explosion|XX", - ], - density: 1300, - excludeRandom: true, - ignore: "liquid_bomb", - cooldown: defaultCooldown -} -elements.tank_left = { - color: "#bcc6cc", - category: "vehicles", - behavior: [ - "M2 AND CR:fast_bullet_left|XX|XX", - "M1|XX|XX", - "M1|M1|XX", - ], -}, -elements.tank_right = { - color: "#bcc6cc", - category: "vehicles", - behavior: [ - "XX|XX|M2 AND CR:fast_bullet_right", - "XX|XX|M1", - "XX|M1|M1", - ], -}, -elements.realistic_missile_left = { - color: "#524c41", - category: "weapons", - state: "solid", - behavior: [ - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|M2 AND EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|M1 AND EX:20>missile_shrapnel|XX|EX:20>missile_shrapnel|CR:smoke AND EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|M2 AND EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x-1, pixel.y)) { - if (!isEmpty(pixel.x-1, pixel.y,true)) { - } - } - } - }, - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.realistic_missile_right = { - color: "#524c41", - category: "weapons", - state: "solid", - behavior: [ - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|M2 AND EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|CR:smoke AND EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX|M1|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|M2 AND EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - ], - tick: function(pixel) { - for (var i=0; i<3; i++) { - if (!tryMove(pixel, pixel.x+1, pixel.y)) { - if (!isEmpty(pixel.x+1, pixel.y,true)) { - } - } - } - }, - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -}, - elements.missile_shrapnel = { - color: "#71797E", - behavior: [ - "XX|XX|XX", - "XX|EX:5 %20|XX", - "M2%20|M1%20|M2%20", - ], - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "ammunition" -}, -elements.vlms_left = { - color: "#71797E", - tick: function(pixel) { - if ((pixel.temp > 1000 || pixel.charge) && !pixel.burning) { - pixel.burning = true; - pixel.burnStart = pixelTicks; - } - if (pixel.burning) { - if (!tryMove(pixel, pixel.x, pixel.y-1)) { - // tryMove again to the top left or top right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y-1); - } - if (pixelTicks-pixel.burnStart > 50 && Math.random() < 0.1) { - explodeAt(pixel.x, 10, 4, "realistic_missile_left"); - deletePixel(pixel.x,pixel.y) - } - } - else { - if (!tryMove(pixel, pixel.x, pixel.y+1)) { - // tryMove again to the bottom left or bottom right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y+1); - } - } - doDefaults(pixel); - }, - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "weapons" -}, -elements.vlms_right = { - color: "#71797E", - tick: function(pixel) { - if ((pixel.temp > 1000 || pixel.charge) && !pixel.burning) { - pixel.burning = true; - pixel.burnStart = pixelTicks; - } - if (pixel.burning) { - if (!tryMove(pixel, pixel.x, pixel.y-1)) { - // tryMove again to the top left or top right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y-1); - } - if (pixelTicks-pixel.burnStart > 50 && Math.random() < 0.1) { - explodeAt(pixel.x, 10, 4, "realistic_missile_right"); - deletePixel(pixel.x,pixel.y) - } - } - else { - if (!tryMove(pixel, pixel.x, pixel.y+1)) { - // tryMove again to the bottom left or bottom right - tryMove(pixel, pixel.x+(Math.random() < 0.5 ? -1 : 1), pixel.y+1); - } - } - doDefaults(pixel); - }, - burn: 90, - burnTime: 100, - density: 2000, - conduct: 1, - state: "solid", - category: "weapons" -}, -createAtXvar = 0; -createAtYvar = 0; -create1var = ""; -elements.element_spawner = { - color: "#71797E", - onSelect: function() { - var answer1 = prompt("Please input the x value.",(createAtXvar||undefined)); - if (!answer1) {return} - createAtXvar = parseInt(answer1); - var answer2 = prompt("Please input the y value.",(createAtYvar||undefined)); - if (!answer2) {return} - createAtYvar = parseInt(answer2); - var answer3 = prompt("Please input what element should spawn.",(create1var||undefined)); - if (!answer3) {return} - create1var = answer3; - }, - tick: function(pixel) { - if (pixel.charge){ - createPixel(create1var, createAtXvar, createAtYvar); - } - doDefaults(pixel); - }, - density: 1, - conduct: 1, - state: "solid", - category: "machines" -}, -elements.railgun_beam_left = { - color: ["#ff0000","#ff5e00"], - tick: function(pixel) { - var y = pixel.y; - for (var x = pixel.x; x < width; x--) { - if (outOfBounds(x, y)) { - break; - } - if (isEmpty(x, y)) { - createPixel("railgun_ammo_left", x, y); - pixelMap[x][y].temp = 3500; - } - else { - if (elements[pixelMap[x][y].element].isGas) { continue } - if (elements[pixelMap[x][y].element].id === elements.railgun_beam_left.id) { break } - pixelMap[x][y].temp += 100; - pixelTempCheck(pixelMap[x][y]); - break; - } - } - deletePixel(pixel.x, pixel.y); - }, - temp: 3500, - category: "ammunition", - state: "gas", - density: 1, - excludeRandom: true, - noMix: true -}, -elements.railgun_beam_right = { - color: ["#ff0000","#ff5e00"], - tick: function(pixel) { - var y = pixel.y; - for (var x = pixel.x; x < width; x++) { - if (outOfBounds(x, y)) { - break; - } - if (isEmpty(x, y)) { - createPixel("railgun_ammo_right", x, y); - pixelMap[x][y].temp = 3500; - } - else { - if (elements[pixelMap[x][y].element].isGas) { continue } - if (elements[pixelMap[x][y].element].id === elements.railgun_beam_right.id) { break } - pixelMap[x][y].temp += 100; - pixelTempCheck(pixelMap[x][y]); - break; - } - } - deletePixel(pixel.x, pixel.y); - }, - temp: 3500, - category: "ammunition", - state: "gas", - density: 1, - excludeRandom: true, - noMix: true -}, -elements.railgun_ammo_left = { - color: ["#ff0000","#ff5e00"], - category: "ammunition", - state: "solid", - density: 1300, - tick: function(pixel) { - explodeAt(pixel.x, pixel.y, 10) - doHeat(pixel); - }, -}, -elements.railgun_ammo_right = { - color: ["#ff0000","#ff5e00"], - category: "ammunition", - state: "solid", - density: 1300, - tick: function(pixel) { - explodeAt(pixel.x, pixel.y, 10) - doHeat(pixel); - }, -}, -elements.railgun_left = { - category: "weapons", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "CR:railgun_beam_left|XX|XX", - "XX|XX|XX", - ], - color: "#71797E", - conduct: 1, - hardness: 1, -}, -elements.railgun_right = { - category: "weapons", - behavior: behaviors.WALL, - behaviorOn: [ - "XX|XX|XX", - "XX|XX|CR:railgun_beam_right", - "XX|XX|XX", - ], - color: "#71797E", - conduct: 1, - hardness: 1, -}, -elements.static_bomb = { - color: "#524c41", - behavior: [ - "XX|EX:10|XX", - "EX:10|XX|EX:10", - "XX|EX:10|XX", - ], - category: "weapons", - state: "solid", - density: 1300, - excludeRandom: true, - cooldown: defaultCooldown -} -var target =[,]; -var tgt = "head"; -elements.tracking_missile = { - color: "#323232", - category: "weapons", - behavior: [ - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel", - "XX|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|EX:20>missile_shrapnel|XX", - ], - onSelect: function() { - var answer1 = prompt("Please input the target element.",(tgt||undefined)); - if (!answer1) {return} - tgt = answer1; - }, - tick: (pixel) => { - for (var x = 1; x < width; x++) { - for (var y = 1; y < height; y++) { - if (!isEmpty(x,y)) { - if (pixelMap[x][y].element===tgt) { - target = [pixelMap[x][y].x, pixelMap[x][y].y]; - } - } - } - } - if (pixel.x != target[0] || pixel.y != target[1]) { - let {x, y} = pixel; - const empty = checkForEmptyPixels(x, y); - const [tX, tY] = target; - let bestVal = Math.sqrt(Math.pow(tX - x, 2) + Math.pow(tY - y, 2)); - let best = null; - for (const pixelPair of empty) { - const [x_, y_] = [x + pixelPair[0], y + pixelPair[1]]; - const c = Math.sqrt(Math.pow(tX - x_, 2) + Math.pow(tY - y_, 2)); - if (c < bestVal) { - bestVal = c; - best = pixelPair; - } - } - if (best) { - tryMove(pixel, x + best[0]*2, y + best[1]*2, undefined, true); - } - } - } -}, -elements.laser_bomb = { - category: "weapons", - color: "#524c41", - tick: function(pixel) { - var x = pixel.x; - for (var y = pixel.y; y < height+1; y++) { - if (outOfBounds(x, y)) { - if (isEmpty(x, y-1)) { createPixel("smoke", x, y-1); } - break; - } - if (isEmpty(x, y)) { - - createPixel("flash", x, y); - pixelMap[x][y].color = "#ff0000"; - pixelMap[x][y].temp = 35000; - pixelMap[x][y].delay = (y + pixel.y) / 8; - } - } - for (var y = pixel.y; y < height-1; y--) { - if (outOfBounds(x, y)) { - if (isEmpty(x, y+1)) { createPixel("smoke", x, y+1); } - break; - } - if (isEmpty(x, y)) { - - createPixel("flash", x, y); - pixelMap[x][y].color = "#ff0000"; - pixelMap[x][y].temp = 35000; - pixelMap[x][y].delay = (y + pixel.y) / 8; - } - } - var y = pixel.y; - for (var x = pixel.x; x < width+1; x++) { - if (outOfBounds(x, y)) { - if (isEmpty(x-1, y)) { createPixel("smoke", x-1, y); } - break; - } - if (isEmpty(x, y)) { - - createPixel("flash", x, y); - pixelMap[x][y].color = "#ff0000"; - pixelMap[x][y].temp = 35000; - pixelMap[x][y].delay = (x + pixel.x) / 8; - } - } - for (var x = pixel.x; x < width-1; x--) { - if (outOfBounds(x, y)) { - if (isEmpty(x+1, y)) { createPixel("smoke", x+1, y); } - break; - } - if (isEmpty(x, y)) { - - createPixel("flash", x, y); - pixelMap[x][y].color = "#ff0000"; - pixelMap[x][y].temp = 35000; - pixelMap[x][y].delay = (x + pixel.x) / 8; - } - } - deletePixel(pixel.x, pixel.y); - }, -}, -elements.cluster_nuke = { - color: "#323232", - category: "weapons", - behavior: behaviors.POWDER, - tick: (pixel) => { - for (var y = 1; y < 50; y++) { - if (!isEmpty(pixel.x, pixel.y + y, false)) { - explodeAt(pixel.x,pixel.y,50,["dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","dirty_bomb","nuke",]) - } - } - } -} -document.onkeydown = function(ki)/*keyboard_input*/ { - //a - if (ki.keyCode == 65) { - KA = true; - //vX ++; - } - //d - if (ki.keyCode == 68) { - KD = true; - //vX ++; - } - //w - if (ki.keyCode == 87) { - KW = true; - //vY ++; - } - //s - if (ki.keyCode == 83) { - KS = true; - //vY ++; - } -} -document.onkeyup = function(i2)/*keyboard_input*/ { - //a - if (i2.keyCode == 65) { - KA = false; - //vX --; - } - //d - if (i2.keyCode == 68) { - KD = false; - //vX --; - } - //w - if (i2.keyCode == 87) { - KW = false; - //vY = 0; - } - //s - if (i2.keyCode == 83) { - KS = false; - //vY = 0; - } -} -var KA = false; -var KD = false; -var KW = false; -var KS = false; -var vX = 1; -var vY = 1; -elements.heli_bomb = { - behavior: [ - "XX|EX:10|XX", - "EX:10|XX|EX:10", - "XX|EX:10|XX", - ], - tick: function(pixel) { - /*if (vX === 3) { - vX --; - } - if (vY === 3) { - vY --; - }*/ - if (KA === true) { - tryMove (pixel,pixel.x-vX,pixel.y) - } - if (KD === true) { - tryMove (pixel,pixel.x+vX,pixel.y) - } - if (KW === true) { - tryMove (pixel,pixel.x,pixel.y-vY) - } - if (KS === true) { - tryMove (pixel,pixel.x,pixel.y+vY) - } - }, - category: "weapons", - states:"solid", - color: "#524c41", -}, -elements.mini_nuke = { - color: "#534636", - behavior: [ - "XX|XX|XX", - "XX|XX|XX", - "M2|M1 AND EX:20>plasma,plasma,plasma,plasma,radiation,rad_steam|M2", - ], - category: "weapons", - state: "solid", - density: 1500, - excludeRandom: true, - cooldown: defaultCooldown -}, -elements.left_uranium_bullet = { - color: "#406040", - behavior: [ - "M2|XX|XX", - "M1 AND EX:4>fallout|XX|XX", - "M2|XX|XX", - ], - state: "solid", - category:"ammunition", - density: 2100, - excludeRandom: true, - cooldown: defaultCooldown, - temp: 4000, -}, -elements.right_uranium_bullet = { - color: "#406040", - behavior: [ - "XX|XX|M2", - "XX|XX|M1 AND EX:4>fallout", - "XX|XX|M2", - ], - state: "solid", - category:"ammunition", - density: 2100, - excludeRandom: true, - cooldown: defaultCooldown, - temp: 4000, -} \ No newline at end of file