From 0cc5947a045fbe4a51b919391e0356bbd29fde3a Mon Sep 17 00:00:00 2001
From: BatteRaquette581 <84451047+BatteRaquette581@users.noreply.github.com>
Date: Wed, 6 Mar 2024 20:43:33 +0100
Subject: [PATCH 1/5] Update mod-list.html
---
mod-list.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/mod-list.html b/mod-list.html
index b6c4c8cf..daa35cfe 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -182,6 +182,7 @@
| Machines & Technology |
| clone_liquid.js | Adds a liquid form of cloner | Alice |
| conveyance.js | Conveyors, operated with and without electricity | Melecie |
+| fine_tuned_cloner.js | Adds a cloner that can spawn at different rates and prevent unwated cloning | BatteRaquette58 |
| flipflop.js | Toggleable switches; Explanation | Flix |
| gameOfLife.js | Conway's Game of Life on a screen | ggod |
| logicgates.js | Adds predictable electricity and logic gates | nousernamefound |
From 83383d708f01a14ca8eba55b0f4555d91f1071ec Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Wed, 6 Mar 2024 23:46:34 -0500
Subject: [PATCH 2/5] update and new mod
---
aircrafts.js | 225 ++++++++++++++++++++++
weapons.js | 512 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 737 insertions(+)
create mode 100644 aircrafts.js
create mode 100644 weapons.js
diff --git a/aircrafts.js b/aircrafts.js
new file mode 100644
index 00000000..df5bb794
--- /dev/null
+++ b/aircrafts.js
@@ -0,0 +1,225 @@
+//aircrafts
+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.airliner_left = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.airliner_right = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
+ "CR:smoke%10|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.bomber_left = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10 AND CR:bomb",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.bomber_right = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
+ "CR:smoke%10 AND CR:bomb|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+}
\ No newline at end of file
diff --git a/weapons.js b/weapons.js
new file mode 100644
index 00000000..3eef74c2
--- /dev/null
+++ b/weapons.js
@@ -0,0 +1,512 @@
+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",
+ ],
+ category:"ammunition",
+},
+elements.right_missile = {
+ color: "#4c4e42",
+ behavior: [
+ "XX|EX:10|M2",
+ "EX:10|XX|M1 AND EX:10",
+ "XX|EX:10|M2",
+ ],
+ category:"ammunition",
+},
+elements.up_missile = {
+ color: "#4c4e42",
+ behavior: [
+ "M2|M1 AND EX:10|M2",
+ "EX:10|XX|EX:10",
+ "XX|EX:10|XX",
+ ],
+ category:"ammunition",
+ alias: "the element that some guy try to add to my mod without my permission but when doing so fucked the behavior grid up",
+},
+ 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 EX:5|XX|XX",
+ "M2|XX|XX",
+ ],
+ category:"ammunition",
+},
+ elements.right_bullet = {
+ color: "#4c4e42",
+ behavior: [
+ "XX|XX|M2",
+ "XX|XX|M1 AND EX:5",
+ "XX|XX|M2",
+ ],
+ category:"ammunition",
+},
+ 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",
+ ],
+ category:"ammunition",
+},
+ elements.right_rocket = {
+ color: "#4c4e42",
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|M1 AND EX:10",
+ "XX|XX|XX",
+ ],
+ category:"ammunition",
+},
+ 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"
+ }
\ No newline at end of file
From fae76a5daf490ba03ee8ee62480cb78b7469dc43 Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Wed, 6 Mar 2024 23:48:10 -0500
Subject: [PATCH 3/5] Delete aircrafts.js
---
aircrafts.js | 225 ---------------------------------------------------
1 file changed, 225 deletions(-)
delete mode 100644 aircrafts.js
diff --git a/aircrafts.js b/aircrafts.js
deleted file mode 100644
index df5bb794..00000000
--- a/aircrafts.js
+++ /dev/null
@@ -1,225 +0,0 @@
-//aircrafts
-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.airliner_left = {
- color: "#fafafa",
- category: "aircrafts",
- behavior: [
- "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
- "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
- "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10",
- ],
- burnTime: 1000,
- burn: 40,
- burnInto: "metal_scrap",
- breakInto: "metal_scrap",
- conduct: 1
-},
-elements.airliner_right = {
- color: "#fafafa",
- category: "aircrafts",
- behavior: [
- "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
- "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
- "CR:smoke%10|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
- ],
- burnTime: 1000,
- burn: 40,
- burnInto: "metal_scrap",
- breakInto: "metal_scrap",
- conduct: 1
-},
-elements.bomber_left = {
- color: "#fafafa",
- category: "aircrafts",
- behavior: [
- "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
- "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
- "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10 AND CR:bomb",
- ],
- burnTime: 1000,
- burn: 40,
- burnInto: "metal_scrap",
- breakInto: "metal_scrap",
- conduct: 1
-},
-elements.bomber_right = {
- color: "#fafafa",
- category: "aircrafts",
- behavior: [
- "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
- "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
- "CR:smoke%10 AND CR:bomb|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
- ],
- burnTime: 1000,
- burn: 40,
- burnInto: "metal_scrap",
- breakInto: "metal_scrap",
- conduct: 1
-}
\ No newline at end of file
From df972c777982ed7c629ff33b142a4e6169778735 Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Wed, 6 Mar 2024 23:48:28 -0500
Subject: [PATCH 4/5] Delete weapons.js
---
weapons.js | 512 -----------------------------------------------------
1 file changed, 512 deletions(-)
delete mode 100644 weapons.js
diff --git a/weapons.js b/weapons.js
deleted file mode 100644
index 3eef74c2..00000000
--- a/weapons.js
+++ /dev/null
@@ -1,512 +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",
- ],
- category:"ammunition",
-},
-elements.right_missile = {
- color: "#4c4e42",
- behavior: [
- "XX|EX:10|M2",
- "EX:10|XX|M1 AND EX:10",
- "XX|EX:10|M2",
- ],
- category:"ammunition",
-},
-elements.up_missile = {
- color: "#4c4e42",
- behavior: [
- "M2|M1 AND EX:10|M2",
- "EX:10|XX|EX:10",
- "XX|EX:10|XX",
- ],
- category:"ammunition",
- alias: "the element that some guy try to add to my mod without my permission but when doing so fucked the behavior grid up",
-},
- 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 EX:5|XX|XX",
- "M2|XX|XX",
- ],
- category:"ammunition",
-},
- elements.right_bullet = {
- color: "#4c4e42",
- behavior: [
- "XX|XX|M2",
- "XX|XX|M1 AND EX:5",
- "XX|XX|M2",
- ],
- category:"ammunition",
-},
- 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",
- ],
- category:"ammunition",
-},
- elements.right_rocket = {
- color: "#4c4e42",
- behavior: [
- "XX|XX|XX",
- "XX|XX|M1 AND EX:10",
- "XX|XX|XX",
- ],
- category:"ammunition",
-},
- 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"
- }
\ No newline at end of file
From c66d61c366d323e603529638933a80ab736bc952 Mon Sep 17 00:00:00 2001
From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com>
Date: Wed, 6 Mar 2024 23:49:10 -0500
Subject: [PATCH 5/5] new mod
made a mistake with the previous commit
---
mods/aircrafts.js | 225 ++++++++++++++++++++++++++++++++++++++++++++++
mods/weapons.js | 72 +++++++++++++--
2 files changed, 288 insertions(+), 9 deletions(-)
create mode 100644 mods/aircrafts.js
diff --git a/mods/aircrafts.js b/mods/aircrafts.js
new file mode 100644
index 00000000..df5bb794
--- /dev/null
+++ b/mods/aircrafts.js
@@ -0,0 +1,225 @@
+//aircrafts
+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.airliner_left = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.airliner_right = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
+ "CR:smoke%10|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.bomber_left = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1 AND EX:7>fire,fire,fire,metal_scrap|XX|XX",
+ "M1%3 AND EX:7>fire,fire,fire,metal_scrap|XX|CR:smoke%10 AND CR:bomb",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+},
+elements.bomber_right = {
+ color: "#fafafa",
+ category: "aircrafts",
+ behavior: [
+ "XX|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ "XX|XX|M1 AND EX:7>fire,fire,fire,metal_scrap",
+ "CR:smoke%10 AND CR:bomb|XX|M1%3 AND EX:7>fire,fire,fire,metal_scrap",
+ ],
+ burnTime: 1000,
+ burn: 40,
+ burnInto: "metal_scrap",
+ breakInto: "metal_scrap",
+ conduct: 1
+}
\ No newline at end of file
diff --git a/mods/weapons.js b/mods/weapons.js
index 99831ad9..3eef74c2 100644
--- a/mods/weapons.js
+++ b/mods/weapons.js
@@ -345,11 +345,11 @@ elements.gaster_blast_right = {
elements.fast_bullet_left = {
color: "#4c4e42",
behavior: [
- "DL|DL|XX",
- "DL|XX|XX",
- "DL|DL|XX",
+ "XX|DL|XX",
+ "XX|XX|XX",
+ "XX|DL|XX",
],
- tick: function(pixel) {
+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)) {
@@ -373,9 +373,9 @@ elements.fast_bullet_left = {
elements.fast_bullet_right = {
color: "#4c4e42",
behavior: [
- "XX|DL|DL",
- "XX|XX|DL",
- "XX|DL|DL",
+ "XX|DL|XX",
+ "XX|XX|XX",
+ "XX|DL|XX",
],
tick: function(pixel) {
for (var i=0; i<3; i++) {
@@ -414,7 +414,7 @@ elements.flak_cannon = {
elements.flak = {
color: "#f0f0f0",
tick: function(pixel) {
- if ((pixel.temp > 1000 || pixel.charge) && !pixel.burning) {
+ if ((pixel.temp > 10 || pixel.charge) && !pixel.burning) {
pixel.burning = true;
pixel.burnStart = pixelTicks;
}
@@ -455,4 +455,58 @@ elements.flak_cannon = {
conduct: 1,
state: "solid",
category: "ammunition"
-}
\ No newline at end of file
+},
+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"
+ }
\ No newline at end of file