diff --git a/mod-list.html b/mod-list.html
index 323ff02e..ede4ddc3 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -363,6 +363,7 @@
| Visual Effects |
| acid_and_shapes.js | Weird visual effects. Enable in Settings | Alice |
+| clouds.js | Adds moving clouds, recommended to include sky.js too | RedBirdly |
| customBackground.js | Set your background to an image link | Jayd |
| fast_lightmap.js | Makes light sources glow, but the fast version | RedBirdly |
| fractals.js | Adds an element and tools to render fractals in game | nousernamefound |
diff --git a/mods/biology.js b/mods/biology.js
index 2f94e9c6..0d88c3f4 100644
--- a/mods/biology.js
+++ b/mods/biology.js
@@ -299,8 +299,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -367,8 +368,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -435,8 +437,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -503,8 +506,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -631,8 +635,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -713,8 +718,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -795,8 +801,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -877,8 +884,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -1037,8 +1045,9 @@ if (!isEmpty(pixel.x, pixel.y-1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -1101,8 +1110,9 @@ if (!isEmpty(pixel.x, pixel.y+1, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -1165,8 +1175,9 @@ if (!isEmpty(pixel.x-1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -1229,8 +1240,9 @@ if (!isEmpty(pixel.x+1, pixel.y, true)) {
if (hitPixel.alcoRecover !== true && pixel.alcoRecover) {
hitPixel.alcoRecover = true
}
- if (hitPixel.fentDepri < pixel.fentDepri && pixel.fentDepri) {
+ if ((hitPixel.fentDepri < pixel.fentDepri || !hitPixel.fentDepri) && pixel.fentDepri) {
hitPixel.fentDepri = pixel.fentDepri
+ hitPixel.fenAddict = true
}
if (hitPixel.sick != true && pixel.sick == true && Math.random() > 0.95) {
hitPixel.sick = true
@@ -2662,7 +2674,7 @@ elements.heart = {
burn: 20,
burnTime: 160,
burnInto: "meat",
- breakInto: ["meat","shed_blood","shed_blood",],
+ breakInto: ["meat","blood","blood",],
category: "circulation",
state: "solid",
density: 1250,
@@ -2784,7 +2796,7 @@ elements.kidney = {
burn: 20,
burnTime: 160,
burnInto: "meat",
- breakInto: ["meat","urine","shed_blood"],
+ breakInto: ["meat","urine","blood"],
category: "circulation",
state: "solid",
density: 1250,
@@ -2827,7 +2839,7 @@ elements.liver = {
burn: 20,
burnTime: 160,
burnInto: "meat",
- breakInto: ["meat","rotten_meat","shed_blood",],
+ breakInto: ["meat","rotten_meat","blood",],
category: "nutrition",
state: "solid",
density: 1250,
@@ -2848,7 +2860,7 @@ elements.blood_vessel = {
nutrTrans: 30,
oxygTrans: 35,
isMultiDie: true,
- bleed: "shed_blood",
+ bleed: "blood",
hoverStat: function(pixel) {
return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen
},
@@ -2873,7 +2885,7 @@ elements.blood_vessel = {
"brick_rubble": { elem2: "infected_vessel", chance:0.005 },
"glitter": { elem1: null, elem2: "infected_vessel", chance:0.001 },
"sulfur": { elem2: "infected_vessel", chance:0.005 },
- "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","shed_blood","shed_blood"], chance:0.005 },
+ "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","blood","blood"], chance:0.005 },
"mercury": { elem2: null, elem1: "infected_vessel", func:function(pixel1,pixel2){ if (pixel1.poisoned != true) {
pixel1.poisoned = true;
} }, chance:0.005 },
@@ -2894,13 +2906,13 @@ elements.blood_vessel = {
} }, chance:0.01 },
},
tempHigh: 175,
- stateHigh: ["meat","shed_blood","blood"],
+ stateHigh: ["meat","blood","blood"],
tempLow: -50,
- stateLow: ["frozen_meat","shed_blood","blood","blood"],
+ stateLow: ["frozen_meat","blood","blood","blood"],
burn: 20,
burnTime: 160,
- burnInto: ["meat","shed_blood","shed_blood","shed_blood","shed_blood","blood","blood","steam"],
- breakInto: ["meat","shed_blood","shed_blood","shed_blood","shed_blood","shed_blood","shed_blood","blood"],
+ burnInto: ["meat","blood","blood","blood","blood","blood","blood","steam"],
+ breakInto: ["meat","blood","blood","blood","blood","blood","blood","blood"],
category: "circulation",
state: "solid",
density: 1250,
@@ -2976,7 +2988,7 @@ elements.white_blood_cell = {
nutrTrans: 35,
oxygTrans: 40,
isMultiDie: true,
- bleed: "shed_blood",
+ bleed: "blood",
hoverStat: function(pixel) {
return "Ntr:"+pixel.nutrition+" O2:"+pixel.oxygen
},
@@ -3057,7 +3069,7 @@ elements.white_blood_cell = {
heartAttached: false,
},
reactions: {
- "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","shed_blood","shed_blood"], chance:0.005 },
+ "rust": { elem1: ["meat","infected_vessel","infected_vessel","infected_vessel","blood","blood"], chance:0.005 },
"mercury": { elem2: null, elem1: "infected_vessel", func:function(pixel1,pixel2){ if (pixel1.poisoned != true) {
pixel1.poisoned = true;
} }, chance:0.005 },
@@ -3076,16 +3088,16 @@ elements.white_blood_cell = {
"cyanide": { elem2: null, func:function(pixel1,pixel2){ if (pixel1.poisoned != true) {
pixel1.poisoned = true;
} }, chance:0.01 },
- "shed_blood": { elem2:"blood_vessel", chance:0.10 },
+ "blood": { elem2:"blood_vessel", chance:0.10 },
},
tempHigh: 175,
- stateHigh: ["meat","shed_blood","shed_blood","blood"],
+ stateHigh: ["meat","blood","blood","blood"],
tempLow: -50,
stateLow: "frozen_meat",
burn: 20,
burnTime: 160,
- burnInto: ["meat","shed_blood","shed_blood","blood"],
- breakInto: "shed_blood",
+ burnInto: ["meat","blood","blood","blood"],
+ breakInto: "blood",
category: "circulation",
state: "solid",
density: 1250,
@@ -3987,7 +3999,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4029,7 +4041,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4084,7 +4096,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4131,7 +4143,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4186,7 +4198,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4231,7 +4243,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4286,7 +4298,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -4333,7 +4345,7 @@ elements.intestines = {
pixel.alcoDepri = 0
}
}
- if (hitPixel.fent === true && Math.random() > 0.5) {
+ if (hitPixel.fent === true && Math.random() > 0.25) {
if (pixel.fentDepri) {
pixel.fentDepri = 0
}
@@ -5991,6 +6003,7 @@ elements.stomach_acid = {
"cancer": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-15, "sick":true}, chance:0.02 },
"plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 },
"glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10}, chance:0.02 },
+ "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 },
},
category: "nutrition",
tempHigh: 110,
@@ -6120,6 +6133,7 @@ elements.herbi_acid = {
"cancer": { elem2:"gaseous_material", attr2:{"nutrition":-25, "speed":-15, "sick":true}, chance:0.02 },
"plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 },
"glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-10, "sick":true}, chance:0.02 },
+ "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 },
},
category: "nutrition",
tempHigh: 110,
@@ -6244,6 +6258,7 @@ elements.carni_acid = {
"cancer": { elem2:"digested_material", attr2:{"nutrition":-5, "speed":-5, "sick":true}, chance:0.02 },
"plague": { elem2:"gaseous_material", attr2:{"nutrition":-15, "speed":-10, "sick":true}, chance:0.02 },
"glue": { elem2:"gaseous_material", attr2:{"nutrition":-10, "speed":-15, "sick":true}, chance:0.02 },
+ "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-50, "speed":-20, "fent":true}, chance:0.01 },
},
category: "nutrition",
tempHigh: 110,
@@ -6367,6 +6382,7 @@ elements.explosive_acid = {
"cancer": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 },
"plague": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 },
"glue": { elem2:"digested_material", attr2:{"nutrition":5}, chance:0.02 },
+ "fentanyl": { elem2:"gaseous_material", attr2:{"nutrition":-5}, chance:0.01 },
},
category: "nutrition",
tempHigh: 600,
@@ -7730,54 +7746,12 @@ elements.toilet = {
desc: "Secret tool. Steal your enemies life!"
}
-elements.shed_blood = {
- name:"blood",
- color: ["#fe0000","#ed0000"],
- behavior: behaviors.LIQUID,
- tick: function(pixel) {
- if (pixel.age > 1500 && Math.random() < 0.05) {
- changePixel(pixel,"blood");
- }
- pixel.age++;
- doDefaults(pixel);
- },
- reactions: {
- "vaccine": { elem1:"antibody", elem2:null },
- "plague": { elem1:"infection", elem2:null },
- "rotten_meat": { elem1:"infection" },
- "rotten_cheese": { elem1:"infection" },
- "virus": { elem1:"infection", elem2:null },
- "cancer": { elem1:"infection" },
- "cyanide": { elem1:"infection", elem2:null },
- "cyanide_gas": { elem1:"infection", elem2:null },
- "mushroom_spore": { elem1:"infection", elem2:null },
- "mushroom_gill": { elem1:"infection" },
- "dirty_water": { elem1:"infection", elem2:null },
- "rad_steam": { elem1:"infection" },
- "rad_glass": { elem1:"infection" },
- "rad_shard": { elem1:"infection" },
- "rad_cloud": { elem1:"infection" },
- "fallout": { elem1:"infection" },
- "rust": { elem1:"infection", chance:0.05 },
- "oxidized_copper": { elem1:"infection", chance:0.05 },
- "rat": { elem1:"infection", chance:0.075 },
- "flea": { elem1:"infection", chance:0.03 },
- "worm": { elem1:"infection", chance:0.03 },
- "mercury": { elem1:"infection", elem2:null, chance:0.05 },
- "lead": { elem1:"infection", elem2:null, chance:0.01 },
- "oxygen": { elem2:null, chance:0.05 },
- "carbon_dioxide": { elem2:null, chance:0.05 },
- "alcohol": { elem1:[null,"dna"], chance:0.02 }
- },
- viscosity: 20,
- tempHigh: 124.55,
- stateHigh: ["steam","salt","oxygen"],
- tempLow: 0,
- stateLow: "blood",
- category:"liquids",
- state: "liquid",
- density: 1065,
- stain: 0.04,
+elements.fentanyl = {
+ category: "medicine",
+ color: "#d5edf3",
+ state: "solid",
+ behavior: behaviors.POWDER,
+ tempHigh: 87.5,
}
if (!elements.cancer.reactions) { elements.cancer.reactions = {} }
@@ -8070,3 +8044,6 @@ elements.vaccine.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel
elements.antidote.reactions.infected_vessel = { elem1: null, elem2: "blood_vessel", attr2:{"immune": true}, chance:0.02 }
elements.salt_water.stateHigh = ["steam","steam","salt"]
+
+elements.vaccine.category = "medicine"
+elements.antidote.category = "medicine"
diff --git a/mods/liquid_mixing.js b/mods/liquid_mixing.js
index b5859cb9..82896b37 100644
--- a/mods/liquid_mixing.js
+++ b/mods/liquid_mixing.js
@@ -1,8 +1,6 @@
-// By Nekonico!
-
window.addEventListener('load', function() {
for (var element in elements) {
- if (elements[element].state === "liquid" && elements[element].behavior !== behaviors.MOLTEN) {
+ if (elements[element].state === "liquid" && elements[element].behavior != behaviors.MOLTEN) {
elements[element].renderer = function(pixel, ctx) { // this part used nouseramefounds code, props to him!
if (!pixel.rSeed){pixel.rSeed = [Math.random(), Math.random(), Math.random(), Math.random()]}
if (typeof pixel.color == "object"){
@@ -38,16 +36,16 @@ window.addEventListener('load', function() {
}
}
}
- if (elements[element].id === elements.cement.id || elements[element].id === elements.beans.id || elements[element].id === elements.algae.id || elements[element].id === elements.cellulose.id) {
+ if (element === "cement" || element === "beans" || element === "algae" || element === "cellulose") {
elements[element].miscible = false
}
- if (elements[element].id === elements.midas_touch.id || elements[element].id === elements.cement.id || elements[element].id === elements.beans.id || elements[element].id === elements.algae.id || elements[element].id === elements.cellulose.id || elements[element].id === elements.primordial_soup.id || elements[element].id === elements.cyanide.id || elements[element].id === elements.poison.id || elements[element].id === elements.antidote.id || elements[element].id === elements.mercury.id || elements[element].id === elements.liquid_oxygen.id || elements[element].id === elements.liquid_nitrogen.id) {
+ if (element === "midas_touch" || element === "cement" || element === "beans" || element === "algae" || element === "cellulose" || element === "primordial_soup" || element === "cyanide" || element === "poison" || element === "antidote" || element === "mercury" || element === "liquid_oxygen" || element === "liquid_nitrogen") {
elements[element].soluble = false
}
- if (elements[element].id === elements.midas_touch.id || elements[element].id === elements.molasses.id || elements[element].id === elements.grease.id || elements[element].id === elements.oil.id || elements[element].id === elements.lamp_oil.id || elements[element].id === elements.nut_oil.id|| elements[element].id === elements.honey.id || elements[element].id === elements.sap.id || elements[element].id === elements.caramel.id) {
+ if (element === "midas_touch" || element === "molasses" || element === "grease" || element === "oil" || element === "lamp_oil" || element === "nut_oil" || element === "honey" || element === "sap" || element === "caramel") {
elements[element].polar = 2
}
- else if (elements[element].id === elements.soap.id) {
+ else if (element === "soap") {
elements[element].polar = 3
}
else {
@@ -182,5 +180,3 @@ doStaining = function(pixel) {
}
}
}
-
-// By Nekonico!
diff --git a/mods/nekonicos_stuff.js b/mods/nekonicos_stuff.js
index b86c74fa..d2473836 100644
--- a/mods/nekonicos_stuff.js
+++ b/mods/nekonicos_stuff.js
@@ -124,6 +124,79 @@ elements.corn_starch = {
isFood: true
}
+elements.desand = {
+ color: "#192a88",
+ tool: function (pixel) {
+ if (pixel.element === "sand") {
+ deletePixel(pixel.x,pixel.y)
+ }
+ else if (pixel.element === "packed_sand") {
+ changePixel(pixel,"foam")
+ }
+ else if (pixel.element === "color_sand") {
+ pixel.element = "smoke";
+ }
+ else if (pixel.element === "glass") {
+ deletePixel(pixel.x,pixel.y)
+ }
+ else if (pixel.element === "rad_glass") {
+ changePixel(pixel,"radiation")
+ }
+ else if (pixel.element === "glass_shard") {
+ deletePixel(pixel.x,pixel.y)
+ }
+ else if (pixel.element === "rad_shard") {
+ changePixel(pixel,"radiation")
+ }
+ else if (pixel.element === "molten_glass") {
+ changePixel(pixel,"fire")
+ }
+ else if (pixel.element === "molten_rad_glass") {
+ changePixel(pixel,"fire")
+ }
+ else if (pixel.element === 'stained_glass') {
+ pixel.element = "smoke";
+ }
+ else if (pixel.element === "wet_sand") {
+ changePixel(pixel,"water")
+ }
+ else if (pixel.element === "sandstorm") {
+ if (Math.random() < 0.95) {
+ pixel.element = "foam";
+ }
+ else {
+ changePixel(pixel,"cloud")
+ }
+ }
+ else if (pixel.element === "tornado") {
+ if (pixel.fired === "sand") {
+ pixel.fired = null
+ pixel.color = pixelColorPick(pixel,elements.tornado.color)
+ }
+ }
+ else if (pixel.element === "concrete") {
+ if (Math.random() < 0.95) {
+ pixel.element = "gravel";
+ }
+ else {
+ changePixel(pixel,"oxygen")
+ }
+ }
+ else if (pixel.element === "cement") {
+ if (Math.random() < 0.80) {
+ pixel.element = "gravel";
+ }
+ else {
+ changePixel(pixel,"water")
+ }
+ }
+ else if ([pixel.element].startsWith("sand_")) {
+ deletePixel(pixel.x,pixel.y)
+ }
+ },
+ category: "tools",
+}
+
elements.oobleck = {
color: "#8ef1b8",
tick: function(pixel){
@@ -396,7 +469,281 @@ elements.graphite = {
density: 2260,
hardness: 0.99,
breakInto: "graphite_dust",
- stain: 0.5
+ stain: 0.4
+}
+
+elements.white_pawn = {
+ color: "#F2F2CC",
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "DL:black_pawn,black_rook,black_bishop,black_knight%0.5|M1%0.5|DL:black_pawn,black_rook,black_bishop,black_knight%0.5",
+ ],
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_pawn = {
+ color: "#2F2F33",
+ behavior: [
+ "DL:white_pawn,white_rook,white_bishop,white_knight%0.5|M1%0.5|DL:white_pawn,white_rook,white_bishop,white_knight%0.5",
+ "XX|XX|XX",
+ "XX|XX|XX",
+ ],
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.white_rook = {
+ color: "#F2F2CC",
+ behavior: [
+ "XX|M1%0.5|XX",
+ "M1%0.5|XX|M1%0.5",
+ "XX|M1%0.5|XX",
+ ],
+ reactions: {
+ "black_pawn": { elem2: null },
+ "black_rook": { elem2: null },
+ "black_bishop": { elem2: null },
+ "black_knight": { elem2: null },
+ "black_queen": { elem2: null },
+ "black_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_rook = {
+ color: "#2F2F33",
+ behavior: [
+ "XX|M1%0.5|XX",
+ "M1%0.5|XX|M1%0.5",
+ "XX|M1%0.5|XX",
+ ],
+ reactions: {
+ "white_pawn": { elem2: null },
+ "white_rook": { elem2: null },
+ "white_bishop": { elem2: null },
+ "white_knight": { elem2: null },
+ "white_queen": { elem2: null },
+ "white_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.white_bishop = {
+ color: "#F2F2CC",
+ behavior: [
+ "M1%0.5|XX|M1%0.5",
+ "XX|XX|XX",
+ "M1%0.5|XX|M1%0.5",
+ ],
+ reactions: {
+ "black_pawn": { elem2: null },
+ "black_rook": { elem2: null },
+ "black_bishop": { elem2: null },
+ "black_knight": { elem2: null },
+ "black_queen": { elem2: null },
+ "black_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_bishop = {
+ color: "#2F2F33",
+ behavior: [
+ "M1%0.5|XX|M1%0.5",
+ "XX|XX|XX",
+ "M1%0.5|XX|M1%0.5",
+ ],
+ reactions: {
+ "white_pawn": { elem2: null },
+ "white_rook": { elem2: null },
+ "white_bishop": { elem2: null },
+ "white_knight": { elem2: null },
+ "white_queen": { elem2: null },
+ "white_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.white_knight = {
+ color: "#F2F2CC",
+ behavior: [
+ "XX|M1%0.5|XX|M1%0.5|XX",
+ "M1%0.5|XX|XX|XX|M1%0.5",
+ "XX|XX|XX|XX|XX",
+ "M1%0.5|XX|XX|XX|M1%0.5",
+ "XX|M1%0.5|XX|M1%0.5|XX",
+ ],
+ reactions: {
+ "black_pawn": { elem2: null },
+ "black_rook": { elem2: null },
+ "black_bishop": { elem2: null },
+ "black_knight": { elem2: null },
+ "black_queen": { elem2: null },
+ "black_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_knight = {
+ color: "#2F2F33",
+ behavior: [
+ "XX|M1%0.5|XX|M1%0.5|XX",
+ "M1%0.5|XX|XX|XX|M1%0.5",
+ "XX|XX|XX|XX|XX",
+ "M1%0.5|XX|XX|XX|M1%0.5",
+ "XX|M1%0.5|XX|M1%0.5|XX",
+ ],
+ reactions: {
+ "white_pawn": { elem2: null },
+ "white_rook": { elem2: null },
+ "white_bishop": { elem2: null },
+ "white_knight": { elem2: null },
+ "white_queen": { elem2: null },
+ "white_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.white_queen = {
+ color: "#F2F2CC",
+ behavior: [
+ "M1%0.5|M1%0.5|M1%0.5",
+ "M1%0.5|XX|M1%0.5",
+ "M1%0.5|M1%0.5|M1%0.5",
+ ],
+ reactions: {
+ "black_pawn": { elem2: null },
+ "black_rook": { elem2: null },
+ "black_bishop": { elem2: null },
+ "black_knight": { elem2: null },
+ "black_queen": { elem2: null },
+ "black_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_queen = {
+ color: "#2F2F33",
+ behavior: [
+ "M1%0.5|M1%0.5|M1%0.5",
+ "M1%0.5|XX|M1%0.5",
+ "M1%0.5|M1%0.5|M1%0.5",
+ ],
+ reactions: {
+ "white_pawn": { elem2: null },
+ "white_rook": { elem2: null },
+ "white_bishop": { elem2: null },
+ "white_knight": { elem2: null },
+ "white_queen": { elem2: null },
+ "white_king": { elem2: "supernova" },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.white_king = {
+ color: "#F2F2CC",
+ behavior: [
+ "M1%0.05|M1%0.05|M1%0.05",
+ "M1%0.05|XX|M1%0.05",
+ "M1%0.025|M1%0.025|M1%0.025",
+ ],
+ reactions: {
+ "black_pawn": { elem2: null },
+ "black_rook": { elem2: null },
+ "black_bishop": { elem2: null },
+ "black_knight": { elem2: null },
+ "black_queen": { elem2: null },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
+}
+
+elements.black_king = {
+ color: "#2F2F33",
+ behavior: [
+ "M1%0.025|M1%0.025|M1%0.025",
+ "M1%0.05|XX|M1%0.05",
+ "M1%0.05|M1%0.05|M1%0.05",
+ ],
+ reactions: {
+ "white_pawn": { elem2: null },
+ "white_rook": { elem2: null },
+ "white_bishop": { elem2: null },
+ "white_knight": { elem2: null },
+ "white_queen": { elem2: null },
+ },
+ tempHigh: 400,
+ stateHigh: "ember",
+ category: "chess",
+ state: "solid",
+ density: 2260,
+ hardness: 0.5,
+ breakInto: "sawdust",
}
elements.graphite_dust = {
@@ -414,5 +761,5 @@ elements.graphite_dust = {
category: "powders",
state: "solid",
density: 1830,
- stain: 0.5
+ stain: 0.6
}
diff --git a/mods/nousersthings.js b/mods/nousersthings.js
index 97c7be41..68163580 100644
--- a/mods/nousersthings.js
+++ b/mods/nousersthings.js
@@ -315,7 +315,7 @@ elements.destroyable_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("brick",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -626,7 +626,7 @@ elements.e_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("pipe_wall",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -744,7 +744,7 @@ elements.destroyable_e_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("brick",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -871,7 +871,7 @@ elements.channel_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("pipe_wall",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -994,7 +994,7 @@ elements.destroyable_channel_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("brick",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -1111,7 +1111,7 @@ elements.bridge_pipe = {
var y = pixel.y+coord[1];
if (isEmpty(x,y)) {
createPixel("pipe_wall",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
+ pixelMap[x][y].color = pixelColorPick(pixel,"#586879");
}
}
pixel.stage = 1;
@@ -1215,15 +1215,17 @@ elements.bridge_pipe = {
canContain: true,
insulate: true,
},
-elements.pipe.tick = function(pixel) {
+ elements.pipe.tick = function(pixel) {
if (!pixel.stage && pixelTicks-pixel.start > 60) {
for (var i = 0; i < squareCoords.length; i++) {
var coord = squareCoords[i];
var x = pixel.x+coord[0];
var y = pixel.y+coord[1];
+ if (!isEmpty(x,y,true) && elements[pixelMap[x][y].element].movable && newPixel.element != "ray") {
+ deletePixel(x,y)
+ }
if (isEmpty(x,y)) {
createPixel("pipe_wall",x,y);
- pixelMap[x][y].color = pixelColorPick(pixel,"#808080");
}
}
pixel.stage = 1;
@@ -1321,7 +1323,7 @@ elements.pipe.tick = function(pixel) {
}
}
doDefaults(pixel);
- },
+ }
elements.pipe.insulate = true,
filterTypeVar = 0;
elements.filter = {
@@ -3793,7 +3795,7 @@ elements.hotter_sensor = {
let pipe_transmitter_channelVar = 0;
elements.pipe_transmitter = {
color: "#6e6250",
- category: "machines",
+ category: "deprecated",
movable: false,
canContain: true,
insulate: true,
@@ -3824,7 +3826,7 @@ elements.pipe_transmitter = {
let pipe_receiver_channelVar = 0;
elements.pipe_receiver = {
color: "#4d4b63",
- category: "machines",
+ category: "deprecated",
movable: false,
canContain: true,
insulate: true,