diff --git a/lang/tok.json b/lang/tok.json
index e1996537..48904d58 100644
--- a/lang/tok.json
+++ b/lang/tok.json
@@ -146,10 +146,10 @@
"sawdust":"",
"hail":"",
"hydrogen":"kon_pi_tawa_kon_mute",
-"oxygen":"kon_pi_wile_soweli_ale",
+"oxygen":"kon_pi_suli_tawa_soweli_ale",
"nitrogen":"",
-"helium":"",
-"anesthesia":"",
+"helium":"kon_pi_tawa_kon",
+"anesthesia":"kon_lape",
"ammonia":"",
"liquid_ammonia":"",
"carbon_dioxide":"kon_pi_tan_soweli_ale",
@@ -161,7 +161,7 @@
"stained_glass":"",
"molten_stained_glass":"",
"art":"",
-"rainbow":"",
+"rainbow":"kiwen_pi_kule_mute",
"static":"",
"border":"poka",
"clay":"",
@@ -257,10 +257,10 @@
"molten_tin":"",
"molten_lead":"",
"molten_solder":"",
-"juice":"",
-"juice_ice":"",
+"juice":"telo_kili",
+"juice_ice":"kiwen_lete_pi_telo_kili",
"broth":"",
-"milk":"",
+"milk":"telo_walo_pi_soweli_walo_pimeja",
"chocolate_milk":"",
"fruit_milk":"",
"pilk":"",
@@ -276,13 +276,13 @@
"cheese":"",
"rotten_cheese":"",
"chocolate":"",
-"grape":"",
+"grape":"kili_suwi_pi_laso_loje",
"vinegar":"",
"herb":"kasi_moku_lili",
"lettuce":"",
"pickle":"",
-"tomato":"",
-"sauce":"",
+"tomato":"kili_pi_suli_loje",
+"sauce":"telo_pi_kili_loje",
"pumpkin":"",
"pumpkin_seed":"",
"corn":"",
@@ -424,7 +424,7 @@
"confetti":"",
"glitter":"",
"bead":"",
-"color_sand":"",
+"color_sand":"ko_pi_kule_mute",
"borax":"",
"epsom_salt":"",
"potassium_salt":"",
@@ -540,4 +540,4 @@
"blaster": "",
"propane_ice": "",
"molten_caustic_potash": ""
-}
\ No newline at end of file
+}
diff --git a/lang/zh_cn.json b/lang/zh_cn.json
index 5ae22f25..8d9f23bd 100644
--- a/lang/zh_cn.json
+++ b/lang/zh_cn.json
@@ -540,4 +540,4 @@
"blaster": "",
"propane_ice": "",
"molten_caustic_potash": ""
-}
\ No newline at end of file
+}
diff --git a/mod-list.html b/mod-list.html
index 370e1e15..08c15a6e 100644
--- a/mod-list.html
+++ b/mod-list.html
@@ -135,6 +135,7 @@
| extra_element_info.js | Adds descriptions to various vanilla elements. Used to provide the functionality that desc now does before it was added to vanilla | Melecie |
| find.js | Adds a find mode that highlights a chosen element as pulsating red and yellow (read commit description) | Alice |
| insane_random_events.js | Massively buffs random events | Alice |
+| invertscroll.js | Inverts the scroll wheel for adjusting brush size | SquareScreamYT |
| moretools.js | Adds more temperature-modifying tools (±10/tick, ±50/tick, and absolute zero tools) | Sightnado |
| move_tools.js | Adds tools that move pixels | Alice |
| noconfirm.js | Removes all confirmation pop ups | mollthecoder |
diff --git a/mods/citybuilding.js b/mods/citybuilding.js
index e99a655a..e3f7fac9 100644
--- a/mods/citybuilding.js
+++ b/mods/citybuilding.js
@@ -1,3 +1,6 @@
+// created by sqec
+// coming soon: apartments, small houses
+
function building_1_segment() {
if (pixel.foundation = true && pixel.height < pixel.limit) {
if (isEmpty(pixel.x+1,pixel.y-pixel.height) &&
@@ -24,6 +27,25 @@ function building_1_segment() {
}
}
}
+function clearbase3x5() {
+ if (pixel.clearbase = false && pixel.height < pixel.limit) {
+ pixel.clearbase = true
+ deletePixel(pixel.x-1,pixel.y)
+ deletePixel(pixel.x+1,pixel.y)
+ deletePixel(pixel.x-2,pixel.y)
+ deletePixel(pixel.x+2,pixel.y)
+ deletePixel(pixel.x,pixel.y-1)
+ deletePixel(pixel.x-1,pixel.y-1)
+ deletePixel(pixel.x+1,pixel.y-1)
+ deletePixel(pixel.x-2,pixel.y-1)
+ deletePixel(pixel.x+2,pixel.y-1)
+ deletePixel(pixel.x,pixel.y-2)
+ deletePixel(pixel.x-1,pixel.y-2)
+ deletePixel(pixel.x+1,pixel.y-2)
+ deletePixel(pixel.x-2,pixel.y-2)
+ deletePixel(pixel.x+2,pixel.y-2)
+ }
+}
function filldirt2x5() {
var dirtPixelElem = pixelMap[pixel.x][pixel.y+1];
if (!isEmpty(pixel.x,pixel.y+1) && !outOfBounds(pixel.x,pixel.y+1)) {
@@ -47,11 +69,21 @@ function filldirt2x5() {
if (isEmpty(pixel.x-2,pixel.y+2)) {
createPixel(dirtPixelElem,pixel.x-2,pixel.y+2);
}
+ if (isEmpty(pixel.x+1,pixel.y+2)) {
+ createPixel(dirtPixelElem,pixel.x+2,pixel.y+2);
+ }
+ if (isEmpty(pixel.x-1,pixel.y+2)) {
+ createPixel(dirtPixelElem,pixel.x-2,pixel.y+2);
+ }
+ if (isEmpty(pixel.x,pixel.y+2)) {
+ createPixel(dirtPixelElem,pixel.x-2,pixel.y+2);
+ }
}
elements.building_1 = {
- color: "#a78d38",
+ color: "#ffc800",
tick: function(pixel) {
if (!isEmpty(pixel.x,pixel.y+1)) {
+ clearbase3x5();
if (isEmpty(pixel.x+1,pixel.y) &&
isEmpty(pixel.x-1,pixel.y) &&
isEmpty(pixel.x+2,pixel.y) &&
@@ -73,7 +105,7 @@ elements.building_1 = {
createPixel("concrete",pixel.x+2,pixel.y+1);
createPixel("concrete",pixel.x-2,pixel.y+1);
createPixel("wood",pixel.x,pixel.y+1);
- pixel.limit = 10 + Math.floor(Math.random() * 5)*2;
+ pixel.limit = 5 + Math.floor(Math.random() * 25)*2;
createPixel("concrete",pixel.x+1,pixel.y);
createPixel("concrete",pixel.x-1,pixel.y);
createPixel("concrete",pixel.x+2,pixel.y);
@@ -93,81 +125,19 @@ elements.building_1 = {
else if (pixel.foundation == true && pixel.height >= pixel.limit) {
pixel.built = true;
}
- if (pixel.built == true) {
+ if (pixel.built == true || pixel.age > 100) {
changePixel(pixel,"wood");
}
+ pixel.age++
doDefaults(pixel);
},
properties: {
height:0,
limit:0,
foundation:false,
- built:false
- },
- category: "citybuilding",
- state: "solid",
- density: 1500,
- cooldown: defaultCooldown,
- seed: true,
- maxSize: 1,
- excludeRandom: true,
- behavior: behaviors.STURDYPOWDER,
-};
-elements.building_1_tall = {
- color: "#d9c243",
- tick: function(pixel) {
- if (!isEmpty(pixel.x,pixel.y+1)) {
- if (isEmpty(pixel.x+1,pixel.y) &&
- isEmpty(pixel.x-1,pixel.y) &&
- isEmpty(pixel.x+2,pixel.y) &&
- isEmpty(pixel.x-2,pixel.y) &&
- isEmpty(pixel.x+2,pixel.y-1) &&
- isEmpty(pixel.x-2,pixel.y-1) &&
- isEmpty(pixel.x+1,pixel.y-1) &&
- isEmpty(pixel.x-1,pixel.y-1) &&
- isEmpty(pixel.x,pixel.y-1) &&
- isEmpty(pixel.x+2,pixel.y-2) &&
- isEmpty(pixel.x-2,pixel.y-2) &&
- isEmpty(pixel.x+1,pixel.y-2) &&
- isEmpty(pixel.x-1,pixel.y-2) &&
- isEmpty(pixel.x,pixel.y-2)) {
- filldirt2x5();
- movePixel(pixel,pixel.x,pixel.y-1);
- createPixel("concrete",pixel.x+1,pixel.y+1);
- createPixel("concrete",pixel.x-1,pixel.y+1);
- createPixel("concrete",pixel.x+2,pixel.y+1);
- createPixel("concrete",pixel.x-2,pixel.y+1);
- createPixel("wood",pixel.x,pixel.y+1);
- pixel.limit = 15 + Math.floor(Math.random() * 10)*2;
- createPixel("concrete",pixel.x+1,pixel.y);
- createPixel("concrete",pixel.x-1,pixel.y);
- createPixel("concrete",pixel.x+2,pixel.y);
- createPixel("concrete",pixel.x-2,pixel.y);
- createPixel("concrete",pixel.x+1,pixel.y-1);
- createPixel("concrete",pixel.x-1,pixel.y-1);
- createPixel("concrete",pixel.x+2,pixel.y-1);
- createPixel("concrete",pixel.x-2,pixel.y-1);
- createPixel("concrete",pixel.x,pixel.y-1);
- pixel.foundation = true;
- pixel.height = pixel.height+2
- }
- }
- if (pixel.foundation == true && pixel.height < pixel.limit) {
- building_1_segment();
- }
- else if (pixel.foundation == true && pixel.height >= pixel.limit) {
- pixel.built = true;
- }
- if (pixel.built == true) {
- changePixel(pixel,"wood");
- }
- doDefaults(pixel);
- },
- properties: {
- height:0,
- limit:0,
- foundation:false,
- built:false
+ built:false,
+ clearbase:false,
+ age:0
},
category: "citybuilding",
state: "solid",
@@ -203,8 +173,15 @@ elements.small_tree_1 = {
changePixel(pixel,"wood");
}
}
+ if (pixel.age > 50) {
+ changePixel(pixel,"wood");
+ }
+ pixel.age++
doDefaults(pixel);
},
+ properties: {
+ age:0
+ },
category: "citybuilding",
state: "solid",
density: 1500,
diff --git a/mods/invertscroll.js b/mods/invertscroll.js
new file mode 100644
index 00000000..ee426b90
--- /dev/null
+++ b/mods/invertscroll.js
@@ -0,0 +1,8 @@
+runAfterLoad(function() {
+ if (navigator.platform.toUpperCase().indexOf('MAC')>=0) {
+ settings.invertscroll = false;
+ }
+ else {
+ settings.invertscroll = true;
+ }
+})