diff --git a/fonts/fusion-pixel-12px-monospaced-ja.ttf b/fonts/fusion-pixel-12px-monospaced-ja.ttf
new file mode 100644
index 00000000..02437daf
Binary files /dev/null and b/fonts/fusion-pixel-12px-monospaced-ja.ttf differ
diff --git a/fonts/fusion-pixel-12px-monospaced-ko.ttf b/fonts/fusion-pixel-12px-monospaced-ko.ttf
new file mode 100644
index 00000000..3c9156c3
Binary files /dev/null and b/fonts/fusion-pixel-12px-monospaced-ko.ttf differ
diff --git a/fonts/fusion-pixel-12px-monospaced-latin.ttf b/fonts/fusion-pixel-12px-monospaced-latin.ttf
new file mode 100644
index 00000000..1ef94732
Binary files /dev/null and b/fonts/fusion-pixel-12px-monospaced-latin.ttf differ
diff --git a/fonts/fusion-pixel-12px-monospaced-zh_hans.ttf b/fonts/fusion-pixel-12px-monospaced-zh_hans.ttf
new file mode 100644
index 00000000..e88bb7f6
Binary files /dev/null and b/fonts/fusion-pixel-12px-monospaced-zh_hans.ttf differ
diff --git a/fonts/fusion-pixel-12px-monospaced-zh_hant.ttf b/fonts/fusion-pixel-12px-monospaced-zh_hant.ttf
new file mode 100644
index 00000000..7dbfe5db
Binary files /dev/null and b/fonts/fusion-pixel-12px-monospaced-zh_hant.ttf differ
diff --git a/lang/de.json b/lang/de.json
index 008463cb..fe290762 100644
--- a/lang/de.json
+++ b/lang/de.json
@@ -1,6 +1,6 @@
{
"#lang.name": "Deutsch",
-"#lang.credit": "pirany",
+"#lang.credit": "pirany, squarescreamyt",
"land":"Land",
"liquids":"Flüssigkeiten",
"life":"Leben",
@@ -99,7 +99,7 @@
"ant":"Ameise",
"fly":"Fliege",
"firefly":"Glühwürmchen",
-"hive":"Nest",
+"hive":"Bienenstock",
"bee":"Biene",
"stink_bug":"Wanze",
"dead_bug":"Töter_Käfer",
diff --git a/lang/tok.json b/lang/tok.json
index 90a70d54..57e8460b 100644
--- a/lang/tok.json
+++ b/lang/tok.json
@@ -227,7 +227,7 @@
"bamboo":"kasi_palisa",
"iron":"",
"copper":"",
-"gold":"",
+"gold":"kiwen_mani",
"steel":"",
"nickel":"",
"zinc":"",
@@ -243,14 +243,14 @@
"gallium":"kiwen_pimeja_walo_pi_wile_kama_telo",
"molten_gallium":"telo_pimeja_walo_pi_seli",
"gallium_gas":"kon_pimeja_walo_pi_seli_mute",
-"rose_gold":"kiwen_jelo_mute_pi_loje_walo",
-"purple_gold":"kiwen_jelo_mute_pi_loje_laso",
-"blue_gold":"kiwen_jelo_mute_pi_laso_sewi",
-"electrum":"kiwen_jelo_mute_pi_laso_kasi",
+"rose_gold":"kiwen_mani_pi_loje_walo",
+"purple_gold":"kiwen_mani_pi_loje_laso",
+"blue_gold":"kiwen_mani_pi_laso_sewi",
+"electrum":"kiwen_mani_pi_laso_kasi",
"pyrite":"",
"solder":"",
"molten_copper":"",
-"molten_gold":"",
+"molten_gold":"telo_seli_pi_kiwen_mani",
"molten_silver":"",
"molten_iron":"",
"molten_nickel":"",
@@ -301,13 +301,13 @@
"crumb":"pan_ko",
"baked_batter":"pan_pi_ko_telo_pan",
"wheat":"",
-"candy":"",
+"candy":"kiwen_suwi",
"coffee_bean":"kili_pi_telo_pimeja_loje",
"coffee_ground":"ko_kili_pi_telo_pimeja_loje",
"nut":"kili_lili_pi_loje_pimeja",
"nut_meat":"ko_kili_lili_pi_loje_pimeja",
"nut_butter":"ko_telo_pi_kili_loje_pimeja",
-"jelly":"",
+"jelly":"ko_telo_pi_kili",
"baking_soda":"",
"yogurt":"ko_walo_pi_telo_walo",
"frozen_yogurt":"ko_walo_lete_pi_telo_walo",
@@ -374,8 +374,8 @@
"smog":"",
"stench":"",
"liquid_stench":"",
-"fragrance":"",
-"perfume":"",
+"fragrance":"kon_pi_pona_tawa_nena",
+"perfume":"telo_pi_pona_tawa_nena",
"cyanide":"",
"cyanide_gas":"",
"ozone":"",
@@ -409,7 +409,7 @@
"uranium":"",
"molten_uranium":"",
"diamond":"",
-"gold_coin":"",
+"gold_coin":"mani",
"rust":"",
"oxidized_copper":"",
"alga":"",
@@ -528,9 +528,9 @@
"grease": "telo_jelo_pi_moku_soweli",
"fat": "kiwen_walo_pi_moku_soweli",
"potassium": "kiwen_pi_telo_pakala",
-"molten_potassium": "",
+"molten_potassium": "telo_seli_pi_kiwen_telo_pakala",
"magnesium": "kiwen_pi_kiwen_walo_sijelo",
-"molten_magnesium": "",
+"molten_magnesium": "telo_seli_pi_kiwen_walo_sijelo",
"sandstorm": "",
"caustic_potash": "",
"antibomb": "kiwen_pakala_pi_pana_ijo",
diff --git a/lang/zh_cn.json b/lang/zh_cn.json
index 7ce3b1ee..c79f77c7 100644
--- a/lang/zh_cn.json
+++ b/lang/zh_cn.json
@@ -1,6 +1,7 @@
{
"#lang.name": "简体中文",
-"#lang.credit": "squarescreamyt",
+"#lang.credit": "squarescreamyt, pixelegend4",
+"#lang.font": "fusion-pixel-12px-monospaced-zh_hans",
"land":"地",
"liquids":"液体",
"life":"生活",
@@ -420,7 +421,7 @@
"baked_clay":"",
"clay_shard":"",
"porcelain_shard":"",
-"feather":"",
+"feather":"羽毛",
"confetti":"",
"glitter":"",
"bead":"",
@@ -475,15 +476,15 @@
"molten_dirt":"",
"debug":"",
"prop":"",
-"salt_ice":"",
-"sugar_ice":"",
-"seltzer_ice":"",
+"salt_ice":"盐水冰",
+"sugar_ice":"糖水冰",
+"seltzer_ice":"苏打水冰",
"dirty_ice":"",
"pool_ice":"",
-"blood_ice":"",
+"blood_ice":"血冰",
"antibody_ice":"",
"infection_ice":"",
-"unknown":"",
+"unknown":"未知",
"slime_ice":"",
"antiice":"",
"ammonia_ice":"",
@@ -527,17 +528,17 @@
"nut_oil": "花生油",
"grease": "",
"fat": "肥",
-"potassium": "",
-"molten_potassium": "",
-"magnesium": "",
-"molten_magnesium": "",
+"potassium": "钾",
+"molten_potassium": "熔融钾",
+"magnesium": "镁",
+"molten_magnesium": "熔融镁",
"sandstorm": "",
-"caustic_potash": "",
+"caustic_potash": "氢氧化钾",
"antibomb": "",
"tornado": "龙卷风",
"earthquake": "地震",
"tsunami": "海啸",
"blaster": "",
"propane_ice": "",
-"molten_caustic_potash": ""
+"molten_caustic_potash": "熔融氢氧化钾"
}
diff --git a/lang/zh_hant.json b/lang/zh_hant.json
index 60f85a5a..ccc51803 100644
--- a/lang/zh_hant.json
+++ b/lang/zh_hant.json
@@ -1,6 +1,7 @@
{
"#lang.name": "繁體中文",
-"#lang.credit": "guinea_of_pig, Feeshmaster",
+"#lang.credit": "guinea_of_pig, Feeshmaster, squarescreamyt",
+"#lang.font": "fusion-pixel-12px-monospaced-zh_hant",
"land":"地",
"liquids":"液",
"life":"生活",
@@ -523,21 +524,21 @@
"molten_potassium_salt":"熔鉀鹽",
"molten_sodium_acetate":"熔醋酸鈉",
"frozen_nitro":"冰硝酸甘油",
-"cured_meat": "",
-"nut_oil": "",
-"grease": "",
-"fat": "",
-"potassium": "",
-"molten_potassium": "",
-"magnesium": "",
-"molten_magnesium": "",
-"sandstorm": "",
-"caustic_potash": "",
-"antibomb": "",
-"tornado": "",
-"earthquake": "",
-"tsunami": "",
-"blaster": "",
-"propane_ice": "",
-"molten_caustic_potash": ""
-}
\ No newline at end of file
+"cured_meat": "醃製肉",
+"nut_oil": "堅果油",
+"grease": "油脂",
+"fat": "脂肪",
+"potassium": "鉀",
+"molten_potassium": "熔鉀",
+"magnesium": "鎂",
+"molten_magnesium": "熔鎂",
+"sandstorm": "沙暴",
+"caustic_potash": "氢氧化鉀",
+"antibomb": "防爆",
+"tornado": "龍捲風",
+"earthquake": "地震",
+"tsunami": "海嘯",
+"blaster": "爆破器",
+"propane_ice": "丙烷冰",
+"molten_caustic_potash": "熔氢氧化鉀"
+}
diff --git a/mod-list.html b/mod-list.html
index 97910bad..06e0a360 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -243,7 +243,7 @@
| fwibblen.js | Adds a flying creature that turns nickel into itself, and a second creature that does the same to the first one | Alice |
| human_edit.js | Improvements to humans | Alice |
| kopalstuff.js | Adds creatures, spirits, DNA, foods, and more | DaviStudios |
-| lost_souls.js | Adds souls and related elements | pixelegend4 |
+| lost_souls.js | Adds souls and related elements, the mod can also be found https://github.com/HACKERPRO908/lost_souls.js | pixelegend4, SquareScreamYT, salmonfishy |
| miscible_psoup_and_birthpool.js | Makes Primordial Soup and Birthpool mix instead of the birthpool settling to the bottom. Will be deprecated upon the release of Magical Menagerie | Alice |
| mobs.js | Adds Creepers, Zombies, and Skeletons | Alice |
| nocancer.js | Removes cancer from the game one tick after it is created | mollthecoder |
diff --git a/mods/aChefsDream.js b/mods/aChefsDream.js
index d33bd982..5330f1df 100644
--- a/mods/aChefsDream.js
+++ b/mods/aChefsDream.js
@@ -2,7 +2,7 @@
Created by SquareScreamYT <@918475812884344852> and RealerRaddler <@914371295561535508>
Thanks to Alice <@697799964985786450>, nousernamefound <@316383921346707468>, Adora the Transfem <@778753696804765696> and Fioushemastor <@738828785482203189> for helping :)
-v1.10.2
+v1.10.5
you can support me at my youtube: https://youtube.com/@sqec
@@ -16,7 +16,6 @@ Upcoming Features:
- pigs, ham and bacon
- garlic
- stainless steel
-- chili
- pepper plants
- hot chocolate
- cows and beef
@@ -329,7 +328,16 @@ Changelog (v1.10.1)
Changelog (v1.10.2)
- - added chocolate chip, sprinkles and topping explosions
+ - added sprinkle explosions
+
+
+
+
+Changelog (v1.10.5)
+ - added chilli
+ - added chilli seed, stem and leaves
+ - added chilli powder
+ - added hot sauce
@@ -6109,10 +6117,6 @@ elements.vanilla_stem = {
elements.vanilla_leaves = {
color: "#5d9c48",
reactions: {
- "water": { elem2:"vanilla_tea", tempMin:80 },
- "salt_water": { elem2:"vanilla_tea", tempMin:80 },
- "sugar_water": { elem2:"vanilla_tea", tempMin:80 },
- "seltzer": { elem2:"vanilla_tea", tempMin:80 },
"stench": { elem2:null, chance:0.25 },
"steam": { elem2:"fragrance", chance:0.1 },
"flea": { elem2:null, chance:0.01 },
@@ -6439,3 +6443,256 @@ elements.sprinkle_bomb = {
excludeRandom: true,
cooldown: defaultCooldown
}
+
+elements.chilli_stem = {
+ color: "#5d9c48",
+ behavior: behaviors.WALL,
+ reactions: {
+ "vinegar": { elem1:"dead_plant", elem2:null, chance:0.035 },
+ "baking_soda": { elem1:"dead_plant", elem2:null, chance:0.01 },
+ "bleach": { elem1:"dead_plant", elem2:null, chance:0.05 },
+ "alcohol": { elem1:"dead_plant", elem2:null, chance:0.035 },
+ "mercury": { elem1:"dead_plant", elem2:null, chance:0.01 },
+ "stench": { elem2:null, chance:0.25 },
+ "carbon_dioxide": { elem2:"oxygen", chance:0.25 },
+ },
+ category:"life",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -1.66,
+ stateLow: "frozen_plant",
+ burn:15,
+ burnTime:60,
+ burnInto: "dead_plant",
+ state: "solid",
+ density: 1050,
+ hidden: true,
+ breakInto: "herb",
+ breakIntoColor:"#245c1b",
+ tick: function(pixel) {
+ if (isEmpty(pixel.x,pixel.y+1) && pixel.grower == false && pixel.leafgrower == false) {
+ movePixel(pixel,pixel.x,pixel.y+1);
+ }
+ if (pixel.grower == true) {
+ // check if left side has stem if no set direction to right
+ if (!isEmpty(pixel.x-1,pixel.y) && pixel.direction == "undefined") {
+ if (pixelMap[pixel.x-1][pixel.y].element == "chilli_stem") {
+ pixel.direction = "right";
+ }
+ }
+ // same thing to set direction the left
+ else if (!isEmpty(pixel.x+1,pixel.y) && pixel.direction == "undefined") {
+ if (pixelMap[pixel.x+1][pixel.y].element == "chilli_stem") {
+ pixel.direction = "left";
+ }
+ }
+ }
+ if (pixel.grower == true) {
+ // left
+ if (pixel.direction == "left") {
+ if (isEmpty(pixel.x-1,pixel.y-1) && Math.random() < 0.1) {
+ createPixel("chilli_leaves",pixel.x-1,pixel.y-1);
+ if (isEmpty(pixel.x-2,pixel.y-2) && Math.random() < 0.2) {
+ createPixel("chilli_leaves",pixel.x-2,pixel.y-2);
+ if (isEmpty(pixel.x-3,pixel.y-3) && Math.random() < 0.4) {
+ createPixel("chilli_leaves",pixel.x-3,pixel.y-3);
+ }
+ }
+ }
+ }
+ // right
+ else if (pixel.direction == "right") {
+ if (isEmpty(pixel.x+1,pixel.y-1) && Math.random() < 0.1) {
+ createPixel("chilli_leaves",pixel.x+1,pixel.y-1);
+ if (isEmpty(pixel.x+2,pixel.y-2) && Math.random() < 0.2) {
+ createPixel("chilli_leaves",pixel.x+2,pixel.y-2);
+ if (isEmpty(pixel.x+3,pixel.y-3) && Math.random() < 0.4) {
+ createPixel("chilli_leaves",pixel.x+3,pixel.y-3);
+ }
+ }
+ }
+ }
+ }
+ pixel.age++;
+ doDefaults(pixel);
+ },
+ properties: {
+ "grower":false,
+ "age":0,
+ "direction":"undefined",
+ }
+}
+elements.chilli_leaves = {
+ color: "#5d9c48",
+ reactions: {
+ "water": { elem2:"chilli_tea", tempMin:80 },
+ "salt_water": { elem2:"chilli_tea", tempMin:80 },
+ "sugar_water": { elem2:"chilli_tea", tempMin:80 },
+ "seltzer": { elem2:"chilli_tea", tempMin:80 },
+ "stench": { elem2:null, chance:0.25 },
+ "steam": { elem2:"fragrance", chance:0.1 },
+ "flea": { elem2:null, chance:0.01 },
+ "termite": { elem2:null, chance:0.01 },
+ "fly": { elem2:null, chance:0.01 },
+ "ant": { elem2:null, chance:0.01 },
+ "stink_bug": { elem2:null, chance:0.01 },
+ "yeast": {elem1:"tea", chance:0.01},
+ },
+ tick: function(pixel) {
+ if (isEmpty(pixel.x-1,pixel.y-1) && !isEmpty(pixel.x+1,pixel.y+1) && Math.random() < 0.03) {
+ createPixel("chilli",pixel.x-1,pixel.y-1);
+ }
+ if (isEmpty(pixel.x+1,pixel.y-1) && !isEmpty(pixel.x-1,pixel.y+1) && Math.random() < 0.03) {
+ createPixel("chilli",pixel.x+1,pixel.y-1);
+ }
+ pixel.age++;
+ doDefaults(pixel);
+ },
+ behavior: behaviors.WALL,
+ tempHigh: 300,
+ stateHigh: ["fire","smoke","smoke","smoke","ash"],
+ tempLow: -2,
+ stateLow: "frozen_plant",
+ burn:10,
+ burnTime:300,
+ burnInto: ["fire","smoke","smoke","smoke","smoke","smoke","smoke","fragrance"],
+ category:"life",
+ state: "solid",
+ density: 1400,
+ isFood: true,
+ hidden:true,
+ breakInto: "herb",
+ breakIntoColor:"#245c1b",
+},
+elements.chilli_seed = {
+ color: "#806d3b",
+ tick: function(pixel) {
+ if (isEmpty(pixel.x,pixel.y+1)) {
+ movePixel(pixel,pixel.x,pixel.y+1);
+ }
+ else {
+ if (Math.random() < 0.1 && pixel.age > 50 && pixel.temp < 100) {
+ if (!outOfBounds(pixel.x,pixel.y+1)) {
+ var dirtPixel = pixelMap[pixel.x][pixel.y+1];
+ if (dirtPixel.element === "dirt" || dirtPixel.element === "mud" || dirtPixel.element === "sand" || dirtPixel.element === "wet_sand" || dirtPixel.element === "clay_soil" || dirtPixel.element === "mycelium") {
+ changePixel(dirtPixel,"root");
+ }
+ }
+ if (isEmpty(pixel.x,pixel.y-1)) {
+ movePixel(pixel,pixel.x,pixel.y-1);
+ createPixel("chilli_stem",pixel.x,pixel.y+1);
+ pixel.height++;
+ }
+ if (pixel.height < 12 && pixel.height > 2 && pixel.height == 3) {
+ if (isEmpty(pixel.x+1,pixel.y)) {
+ createPixel("chilli_stem",pixel.x+1,pixel.y);
+ pixelMap[pixel.x+1][pixel.y].grower = true;
+ }
+ }
+ if (pixel.height < 12 && pixel.height > 2 && pixel.height == 9) {
+ if (isEmpty(pixel.x+1,pixel.y)) {
+ createPixel("chilli_stem",pixel.x+1,pixel.y);
+ pixelMap[pixel.x+1][pixel.y].grower = true;
+ }
+ }
+ if (pixel.height < 12 && pixel.height > 2 && pixel.height == 6) {
+ if (isEmpty(pixel.x-1,pixel.y)) {
+ createPixel("chilli_stem",pixel.x-1,pixel.y);
+ pixelMap[pixel.x-1][pixel.y].grower = true;
+ }
+ }
+ if (pixel.height > 11) {
+ if (isEmpty(pixel.x-1,pixel.y) && isEmpty(pixel.x+1,pixel.y)) {
+ createPixel("chilli_stem",pixel.x-1,pixel.y);
+ pixelMap[pixel.x-1][pixel.y].grower = true;
+ createPixel("chilli_stem",pixel.x+1,pixel.y);
+ pixelMap[pixel.x+1][pixel.y].grower = true;
+ deletePixel(pixel.x,pixel.y);
+ }
+ }
+ }
+ pixel.age++;
+ }
+ doDefaults(pixel);
+ },
+ properties: {
+ "age":0,
+ "height":0
+ },
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ tempLow: -2,
+ stateLow: "frozen_plant",
+ burn: 65,
+ burnTime: 15,
+ category: "life",
+ state: "solid",
+ density: 1500,
+ cooldown: defaultCooldown,
+ seed: true,
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "XX|M1|XX",
+ ],
+};
+elements.chilli = {
+ color: "#ba3030",
+ behavior: [
+ "XX|XX|XX",
+ "XX|XX|XX",
+ "ST:chilli_leaves|M1|ST:chilli_leaves",
+ ],
+ category:"food",
+ tempHigh: 100,
+ stateHigh: "dead_plant",
+ burn:15,
+ burnTime:60,
+ burnInto: "dead_plant",
+ state: "solid",
+ density: 1050,
+ breakInto: "chilli_powder",
+ reactions: {
+ "sauce": {elem1:null, elem2:"hot_sauce", chance:2}
+ },
+}
+elements.chilli_powder = {
+ color: "#a32121",
+ reactions: {
+ "stench": { elem2:null, chance:0.25 },
+ "steam": { elem2:"fragrance", chance:0.1 },
+ "flea": { elem2:null, chance:0.01 },
+ "termite": { elem2:null, chance:0.01 },
+ "fly": { elem2:null, chance:0.01 },
+ "ant": { elem2:null, chance:0.01 },
+ "stink_bug": { elem2:null, chance:0.01 },
+ "sauce": {elem1:null, elem2:"hot_sauce", chance:2}
+ },
+ behavior: behaviors.POWDER,
+ tempHigh: 300,
+ stateHigh: ["fire","smoke","smoke","smoke","ash"],
+ burn:10,
+ burnTime:300,
+ burnInto: ["fire","smoke","smoke","smoke","smoke","smoke","smoke","fragrance"],
+ category:"food",
+ state: "solid",
+ density: 1400,
+ isFood: true,
+}
+elements.hot_sauce = {
+ color: "#a31414",
+ behavior: behaviors.LIQUID,
+ reactions: {
+ "stench": { elem2:null },
+ },
+ viscosity: 2600,
+ tempHigh: 260,
+ stateHigh: ["steam","salt","fragrance"],
+ tempLow: -2,
+ category:"food",
+ state: "liquid",
+ density: 1031.33,
+ stain: 0.01,
+ isFood: true
+}
+elements.head.reactions.hot_sauce = {elem2:["smoke","fire",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null], chance:3}
diff --git a/mods/lost_souls.js b/mods/lost_souls.js
index 40350902..a39b9a6c 100644
--- a/mods/lost_souls.js
+++ b/mods/lost_souls.js
@@ -1,6 +1,6 @@
elements.ghost_particle = {
color: "#d9d2d0",
- behavior: behaviors.GAS,
+ behavior: behaviors.DGAS,
category: "soul",
state: "gas",
};
@@ -9,9 +9,9 @@ elements.soul_fish = {
color: ["#808080","#a52a2a"],
category: "soul",
behavior: [
- "XX|CR:flash|XX",
- "CR:flash AND M2|XX|CR:flash AND M2",
- "M1|CR:flash AND M1|M1",
+ "XX|M2|M1",
+ "XX|FX%2|BO",
+ "XX|XX|M1",
],
reactions: {
"algae": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL },
@@ -35,7 +35,12 @@ elements.soul_fish = {
"cell": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL },
"crumb": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL },
"alcohol": { elem1:"meat", chance:0.001 },
- }
+ },
+ tempHigh: 50000,
+ stateHigh: "ghost_particle",
+ category:"soul",
+ state: "solid",
+ density: 1080,
};
elements.soul_anger_block = {
color: ["#eb4034","#ed2415"],
@@ -60,7 +65,6 @@ elements.soul_dirt = {
} else {
pixel.methaned = true;
};
- createPixel("ghost_particle",pixel.x,pixel.y);
};
pixel.age++
},
@@ -69,3 +73,105 @@ elements.soul_dirt = {
density: 1050,
excludeRandom: true,
};
+
+elements.death_reaper = {
+ color: "#454545",
+ behavior: [
+ "XX|M2|M1",
+ "XX|FX%2|BO",
+ "XX|XX|M1",
+ ],
+ reactions: {
+ human: { elem2: ["ghost_particle",null] },
+ head: { elem2: ["ghost_particle",null] },
+ body: { elem2: ["ghost_particle",null] },
+ worm: { elem2: ["ghost_particle",null] },
+ fish: { elem2: ["ghost_particle",null] },
+ frozen_fish: { elem2: ["ghost_particle",null] },
+ slug: { elem2: ["ghost_particle",null] },
+ snail: { elem2: ["ghost_particle",null] },
+ bird: { elem2: ["ghost_particle",null] },
+ rat: { elem2: ["ghost_particle",null] },
+ frog: { elem2: ["ghost_particle",null] },
+ frozen_frog: { elem2: ["ghost_particle",null] },
+ tadpole: { elem2: ["ghost_particle",null] },
+ stink_bug: { elem2: ["ghost_particle",null] },
+ bee: { elem2: ["ghost_particle",null] },
+ ghost_particle: { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL },
+ flea: { elem2: ["ghost_particle",null] },
+ termite: { elem2: ["ghost_particle",null] },
+ frozen_worm: { elem2: ["ghost_particle",null] },
+ flea: { elem2: ["ghost_particle",null] },
+ ant: { elem2: ["ghost_particle",null] },
+ fly: { elem2: ["ghost_particle",null] },
+ firefly: { elem2: ["ghost_particle",null] },
+ bee: { elem2: ["ghost_particle",null] },
+ },
+ tempHigh: 10000,
+ stateHigh: "bone",
+ category:"soul",
+ state: "solid",
+ density: 1500,
+};
+elements.tombstone = {
+ color: "#aaaaaa",
+ behavior: behaviors.STURDYPOWDER,
+ tempHigh: 1500,
+ tick: function(pixel) {
+ if (isEmpty(pixel.x+1,pixel.y) && Math.random() < 0.1) {
+ createPixel("ghost_particle",pixel.x+1,pixel.y);
+ }
+ doDefaults(pixel);
+ },
+ stateHigh: "magma",
+ category: "soul",
+ state: "solid",
+ density: 2400,
+ hardness: 0.5,
+ breakInto: "dust",
+ darkText: true
+}
+elements.tombstone_seed = {
+ color: "#eeeff2",
+ tick: function(pixel) {
+ if (isEmpty(pixel.x+1,pixel.y) &&
+ isEmpty(pixel.x-1,pixel.y)
+ isEmpty(pixel.x+1,pixel.y-1) &&
+ isEmpty(pixel.x-1,pixel.y-1) &&
+ isEmpty(pixel.x,pixel.y-1) &&
+ isEmpty(pixel.x+1,pixel.y-2) &&
+ isEmpty(pixel.x-1,pixel.y-2) &&
+ isEmpty(pixel.x,pixel.y-2) &&
+ isEmpty(pixel.x+1,pixel.y-3) &&
+ isEmpty(pixel.x-1,pixel.y-3) &&
+ isEmpty(pixel.x,pixel.y-3)) {
+ createPixel("tombstone",pixel.x+1,pixel.y);
+ createPixel("tombstone",pixel.x-1,pixel.y);
+ createPixel("tombstone",pixel.x+1,pixel.y-1);
+ createPixel("tombstone",pixel.x-1,pixel.y-1);
+ createPixel("tombstone",pixel.x,pixel.y-1);
+ createPixel("tombstone",pixel.x+1,pixel.y-2);
+ createPixel("tombstone",pixel.x-1,pixel.y-2);
+ createPixel("tombstone",pixel.x,pixel.y-2);
+ createPixel("tombstone",pixel.x+1,pixel.y-3);
+ createPixel("tombstone",pixel.x-1,pixel.y-3);
+ createPixel("tombstone",pixel.x,pixel.y-3);
+ }
+ if (pixel.age > 100) {
+ changePixel(pixel,"tombstone");
+ }
+ pixel.age++
+ doDefaults(pixel);
+ },
+ properties: {
+ age:0
+ },
+ category: "soul",
+ state: "solid",
+ density: 1500,
+ cooldown: defaultCooldown,
+ seed: true,
+ maxSize: 1,
+ excludeRandom: true,
+ behavior: behaviors.STURDYPOWDER,
+};
diff --git a/mods/selective_paint.js b/mods/selective_paint.js
index 5cce2a37..822ff9bc 100644
--- a/mods/selective_paint.js
+++ b/mods/selective_paint.js
@@ -28,3 +28,33 @@ elements.selective_paint = {
excludeRandom:true,
desc: "Use on selected pixels to change their color."
}
+selectivePaintElem2 = ""
+elements.exclusive_paint = {
+ color: ["#c27070","#c29c70","#c2c270","#70c270","#70c2c2","#7070c2","#c270c2"],
+ onSelect: function() {
+ var answer2 = prompt("Please input the desired element not to paint. It will not work if you enter multiple elements types while paused.",(selectivePaintElem2||undefined));
+ if (!answer2) { return }
+ selectivePaintElem2 = mostSimilarElement(answer2);
+ },
+ tool: function(pixel) {
+ if (pixel.element != selectivePaintElem2) {
+ if (!shiftDown) {
+ pixel.color = pixelColorPick(pixel,currentColor)
+ }
+ else {
+ // convert the hex of currentColor to rgb and set it as a string
+ var rgb = currentColor.replace("#","").match(/.{1,2}/g);
+ for (var i = 0; i < rgb.length; i++) {
+ rgb[i] = parseInt(rgb[i],16);
+ }
+ pixel.color = "rgb(" + rgb.join(",") + ")"
+ }
+ delete pixel.origColor;
+ }
+ },
+ customColor: true,
+ category: "tools",
+ canPlace: false,
+ excludeRandom:true,
+ desc: "Used to paint pixels other than the one selected."
+}