Sandboxels v1.9.5 - Update of the Summer

[Version 1.9.5 - May 15, 2024 - Update of the Summer]
    + Mixer
    + Grinder
    + Kelp
    + Freeze Ray
    + Cloth, made from glueing Feathers
    + Aurora Borealis, when Protons excite Oxygen high up
   [Quality of Life]
    + Mobile Shift button
        + Intensified tools and line drawing on mobile
    + Canvas Size setting
    + Lookup tool can have a bigger radius
   [Changes]
    + Tornado Fire, Sand, and Water variant
    + Tornaodes, Earthquakes, and Tsunamis can merge
    ~ Tsunamis no longer clone molten and other dense liquids
    + Sand and Ash in Tornadoes create Cloud variants
    + Tornadoes are immune to explosions
    + Disasters are immune to Acid
    + Bless can remove disasters
    + Bless turns Rotten Cheese to a blue variant
    + Pipes retain color in saves
    + Silver absorbs Neutrons (Nuclear control rods)
    ~ Room Temp tool now uses air temperature in Settings
    ~ Unhid Lattice
    ~ Oil burns slower
    + Rocks will trample Grass
    + Glue can convert Cellulose to Paper
    + Fleas will eat Plant
    + Salt powder slowly kills Plant
    + Alcohol Gas ignites at high temperatures
    + Liquid Light is immune to Acid
    + Cement neutralizes Acid
    ~ Gallium reaction breaks down some Aluminum again
    + Charcoal breaks down at extreme temperatures
    ~ Hydrogen reaction now depletes Sulfur
    ~ Water reaction now depletes Caramel
    + Juice Ice breaks into Slush
    + Ink mixes with Dye
    + Sugar dissolves in Juice
    + Fruit Milk dissolves in Tea
    + Nut Milk can wet soil
    + Humans burn on the Sun
    + Humans steal Diamonds
    + Bees and Cyanide irritate Skin
    + Mycelium breaks down dead matter
    + Mycelium and Hyphae will rot Meat
    + Rats eat Cured Meat
    + Ketchup-Baking Soda reaction is more fizzy
    ~ Snails turn to Limestone instead of Quicklime
    + Slaked Lime-Seltzer reaction
    + Limestone-Acid reaction creates byproducts
    ~ Cooled Quicklime forms a Limestone layer
    ~ Quicklime-Water reaction produces more heat
    ~ Lowered Quicklime melting point
    + Hot Quicklime produces Flash
    ~ Potassium-Chlorine reaction produces Fire
    + Potassium Salt reacts with hot Sodium
    + Potassium Gas (Hidden)
    + Bless cleans stains left by reactions
    + Bless cures Meat
    + Bless removes Dust and Grease
    ~ Improved Dead Plant coalification
    ~ Rockets no longer expel Cloners
    + Lattice reacts with Cold Fire
    + Gray Goo can melt
    + Virus is killed by Liquid Light
    + Static mouseover effect
    + Static breaks into Malware
    ~ Moved Ball to Special
    ~ Moved Pop when unhidden
    ~ Border element button shows stripes
    ~ Recolored Glitter
    ~ Recolored fermented Grape
    ~ Hid Clone Powder
    + Potassium Salt alias 'Potassium Chloride'
    ~ Tweaked electricity for low-conductivity elements
    ~ Updated Settings menu
    + Maximum pixel count, with red indicator
    ~ Optimized very large explosions
   [Bug Fixes]
    ~ Fixed: Gaps when drawing fast on mobile
    ~ Fixed: Middle clicking empty space causes freeze
    ~ Fixed: Bless and Rock Wall can't be drawn in a line
    ~ Fixed: Gapes when drawing Bless and Rock Wall fast
    ~ Fixed: Bless and Rock Wall don't display info
    ~ Fixed: Bless and Rock can't use Replace Mode
    ~ Fixed: Brown Dwarf Suns can emit Light when eclipsed
    ~ Fixed: Language selector doesn't update on refresh
    ~ Fixed: Mouse size continues increasing past max size
    ~ Fixed: Uncharge tool doesn't put out LEDs
    ~ Fixed: Water extinguishes Greek Fire and Firework over and over
    ~ Fixed: Dragging at tick 0 freezes pixels in place
    ~ Fixed: Evergreen info page displays NaN
    ~ Fixed: Spawned Molten Magnesium behaves strange when heated
    ~ Fixed: Copper Sulfate freezing point is too low
    ~ Fixed: Stained Glass doesn't retain color when exploded
    ~ Fixed: Stained Glass placed at tick 0 doesn't retain color
    ~ Fixed: Antimatter and Antimatter Bomb trigger each other
    ~ Fixed: Strange Matter destroys Cloners
    ~ Fixed: Nothing can clone Wire
    ~ Fixed: TPS prompt displays error after canceling
    ~ Fixed: Decimal coordinates when resetting with odd canvas size
    ~ Fixed: No double state change when spawning at high airTemp
    ~ Fixed: Pixels retain clone property when changed
    ~ Fixed: Crash when mod deletes Sand
    ~ Fixed: Elements with single-color arrays have black buttons
    ~ Fixed: 'perTick' error when loading page
    ~ Fixed: 'fillStyle' error when loading page
   [Technical]
    + Behavior grids bigger than 3x3 are centered
    + Behavior grids can be smaller than 3x3
    + Moddable behavior rules
    ~ Behavior rules are stored in new behaviorRules object
    + SM (Smash) behavior rule
    + MX (Mix) behavior rule (MX:true to mix solids)
    + CC (Change Color) can now take a target, e.g. CC:sand>#00ffff
    ~ CC (Change Color) no longer applies grain
    + EX (Explode) follows element 'ignore' property
    ~ Placed Paint and Shock tools are removed by Unpaint and Uncharge
This commit is contained in:
slweeb 2024-05-15 12:53:21 -04:00
parent 67094bcb8c
commit 3e22af05f1
13 changed files with 1948 additions and 826 deletions

View File

@ -109,6 +109,129 @@
<p>The original <a href="https://sandboxels.r74n.com/changelog.txt">plain text version</a> of this is still maintained.</p> <p>The original <a href="https://sandboxels.r74n.com/changelog.txt">plain text version</a> of this is still maintained.</p>
</div> </div>
<h2 id="1.9.5">[Version 1.9.5 - May 15, 2024 - Update of the Summer]</h2>
<ul>
<li>+ Mixer</li>
<li>+ Grinder</li>
<li>+ Kelp</li>
<li>+ Freeze Ray</li>
<li>+ Cloth, made from glueing Feathers</li>
<li>+ Aurora Borealis, when Protons excite Oxygen high up</li>
<li>[Quality of Life]</li>
<li>+ Mobile Shift button</li>
<li> + Intensified tools and line drawing on mobile</li>
<li>+ Canvas Size setting</li>
<li>+ Lookup tool can have a bigger radius</li>
<li>[Changes]</li>
<li>+ Tornado Fire, Sand, and Water variant</li>
<li>+ Tornaodes, Earthquakes, and Tsunamis can merge</li>
<li>~ Tsunamis no longer clone molten and other dense liquids</li>
<li>+ Sand and Ash in Tornadoes create Cloud variants</li>
<li>+ Tornadoes are immune to explosions</li>
<li>+ Disasters are immune to Acid</li>
<li>+ Bless can remove disasters</li>
<li>+ Bless turns Rotten Cheese to a blue variant</li>
<li>+ Pipes retain color in saves</li>
<li>+ Silver absorbs Neutrons (Nuclear control rods)</li>
<li>~ Room Temp tool now uses air temperature in Settings</li>
<li>~ Unhid Lattice</li>
<li>~ Oil burns slower</li>
<li>+ Rocks will trample Grass</li>
<li>+ Glue can convert Cellulose to Paper</li>
<li>+ Fleas will eat Plant</li>
<li>+ Salt powder slowly kills Plant</li>
<li>+ Alcohol Gas ignites at high temperatures</li>
<li>+ Liquid Light is immune to Acid</li>
<li>+ Cement neutralizes Acid</li>
<li>~ Gallium reaction breaks down some Aluminum again</li>
<li>+ Charcoal breaks down at extreme temperatures</li>
<li>~ Hydrogen reaction now depletes Sulfur</li>
<li>~ Water reaction now depletes Caramel</li>
<li>+ Juice Ice breaks into Slush</li>
<li>+ Ink mixes with Dye</li>
<li>+ Sugar dissolves in Juice</li>
<li>+ Fruit Milk dissolves in Tea</li>
<li>+ Nut Milk can wet soil</li>
<li>+ Humans burn on the Sun</li>
<li>+ Humans steal Diamonds</li>
<li>+ Bees and Cyanide irritate Skin</li>
<li>+ Mycelium breaks down dead matter</li>
<li>+ Mycelium and Hyphae will rot Meat</li>
<li>+ Rats eat Cured Meat</li>
<li>+ Ketchup-Baking Soda reaction is more fizzy</li>
<li>~ Snails turn to Limestone instead of Quicklime</li>
<li>+ Slaked Lime-Seltzer reaction</li>
<li>+ Limestone-Acid reaction creates byproducts</li>
<li>~ Cooled Quicklime forms a Limestone layer</li>
<li>~ Quicklime-Water reaction produces more heat</li>
<li>~ Lowered Quicklime melting point</li>
<li>+ Hot Quicklime produces Flash</li>
<li>~ Potassium-Chlorine reaction produces Fire</li>
<li>+ Potassium Salt reacts with hot Sodium</li>
<li>+ Potassium Gas (Hidden)</li>
<li>+ Bless cleans stains left by reactions</li>
<li>+ Bless cures Meat</li>
<li>+ Bless removes Dust and Grease</li>
<li>~ Improved Dead Plant coalification</li>
<li>~ Rockets no longer expel Cloners</li>
<li>+ Lattice reacts with Cold Fire</li>
<li>+ Gray Goo can melt</li>
<li>+ Virus is killed by Liquid Light</li>
<li>+ Static mouseover effect</li>
<li>+ Static breaks into Malware</li>
<li>~ Moved Ball to Special</li>
<li>~ Moved Pop when unhidden</li>
<li>~ Border element button shows stripes</li>
<li>~ Recolored Glitter</li>
<li>~ Recolored fermented Grape</li>
<li>~ Hid Clone Powder</li>
<li>+ Potassium Salt alias 'Potassium Chloride'</li>
<li>~ Tweaked electricity for low-conductivity elements</li>
<li>~ Updated Settings menu</li>
<li>+ Maximum pixel count, with red indicator</li>
<li>~ Optimized very large explosions</li>
<li>[Bug Fixes]</li>
<li>~ Fixed: Gaps when drawing fast on mobile</li>
<li>~ Fixed: Middle clicking empty space causes freeze</li>
<li>~ Fixed: Bless and Rock Wall can't be drawn in a line</li>
<li>~ Fixed: Gapes when drawing Bless and Rock Wall fast</li>
<li>~ Fixed: Bless and Rock Wall don't display info</li>
<li>~ Fixed: Bless and Rock can't use Replace Mode</li>
<li>~ Fixed: Brown Dwarf Suns can emit Light when eclipsed</li>
<li>~ Fixed: Language selector doesn't update on refresh</li>
<li>~ Fixed: Mouse size continues increasing past max size</li>
<li>~ Fixed: Uncharge tool doesn't put out LEDs</li>
<li>~ Fixed: Water extinguishes Greek Fire and Firework over and over</li>
<li>~ Fixed: Dragging at tick 0 freezes pixels in place</li>
<li>~ Fixed: Evergreen info page displays NaN</li>
<li>~ Fixed: Spawned Molten Magnesium behaves strange when heated</li>
<li>~ Fixed: Copper Sulfate freezing point is too low</li>
<li>~ Fixed: Stained Glass doesn't retain color when exploded</li>
<li>~ Fixed: Stained Glass placed at tick 0 doesn't retain color</li>
<li>~ Fixed: Antimatter and Antimatter Bomb trigger each other</li>
<li>~ Fixed: Strange Matter destroys Cloners</li>
<li>~ Fixed: Nothing can clone Wire</li>
<li>~ Fixed: TPS prompt displays error after canceling</li>
<li>~ Fixed: Decimal coordinates when resetting with odd canvas size</li>
<li>~ Fixed: No double state change when spawning at high airTemp</li>
<li>~ Fixed: Pixels retain clone property when changed</li>
<li>~ Fixed: Crash when mod deletes Sand</li>
<li>~ Fixed: Elements with single-color arrays have black buttons</li>
<li>~ Fixed: 'perTick' error when loading page</li>
<li>~ Fixed: 'fillStyle' error when loading page</li>
<li>[Technical]</li>
<li>+ Behavior grids bigger than 3x3 are centered</li>
<li>+ Behavior grids can be smaller than 3x3</li>
<li>+ Moddable behavior rules</li>
<li>~ Behavior rules are stored in new behaviorRules object</li>
<li>+ SM (Smash) behavior rule</li>
<li>+ MX (Mix) behavior rule (MX:true to mix solids)</li>
<li>+ CC (Change Color) can now take a target, e.g. CC:sand>#00ffff</li>
<li>~ CC (Change Color) no longer applies grain</li>
<li>+ EX (Explode) follows element 'ignore' property</li>
<li>~ Placed Paint and Shock tools are removed by Unpaint and Uncharge</li>
</ul>
<h2 id="1.9.4.1">[Version 1.9.4.1 - April 8, 2024 - Eclipse Special]</h2> <h2 id="1.9.4.1">[Version 1.9.4.1 - April 8, 2024 - Eclipse Special]</h2>
<ul> <ul>
<li>+ Attempting to place Rock Wall on top of Sun begins a solar eclipse</li> <li>+ Attempting to place Rock Wall on top of Sun begins a solar eclipse</li>

View File

@ -7,6 +7,127 @@ See sneak peaks for upcoming updates on the Discord: https://discord.gg/ejUc6YPQ
A fancier version of this changelog can be found here: https://sandboxels.R74n.com/changelog A fancier version of this changelog can be found here: https://sandboxels.R74n.com/changelog
[Version 1.9.5 - May 15, 2024 - Update of the Summer]
+ Mixer
+ Grinder
+ Kelp
+ Freeze Ray
+ Cloth, made from glueing Feathers
+ Aurora Borealis, when Protons excite Oxygen high up
[Quality of Life]
+ Mobile Shift button
+ Intensified tools and line drawing on mobile
+ Canvas Size setting
+ Lookup tool can have a bigger radius
[Changes]
+ Tornado Fire, Sand, and Water variant
+ Tornaodes, Earthquakes, and Tsunamis can merge
~ Tsunamis no longer clone molten and other dense liquids
+ Sand and Ash in Tornadoes create Cloud variants
+ Tornadoes are immune to explosions
+ Disasters are immune to Acid
+ Bless can remove disasters
+ Bless turns Rotten Cheese to a blue variant
+ Pipes retain color in saves
+ Silver absorbs Neutrons (Nuclear control rods)
~ Room Temp tool now uses air temperature in Settings
~ Unhid Lattice
~ Oil burns slower
+ Rocks will trample Grass
+ Glue can convert Cellulose to Paper
+ Fleas will eat Plant
+ Salt powder slowly kills Plant
+ Alcohol Gas ignites at high temperatures
+ Liquid Light is immune to Acid
+ Cement neutralizes Acid
~ Gallium reaction breaks down some Aluminum again
+ Charcoal breaks down at extreme temperatures
~ Hydrogen reaction now depletes Sulfur
~ Water reaction now depletes Caramel
+ Juice Ice breaks into Slush
+ Ink mixes with Dye
+ Sugar dissolves in Juice
+ Fruit Milk dissolves in Tea
+ Nut Milk can wet soil
+ Humans burn on the Sun
+ Humans steal Diamonds
+ Bees and Cyanide irritate Skin
+ Mycelium breaks down dead matter
+ Mycelium and Hyphae will rot Meat
+ Rats eat Cured Meat
+ Ketchup-Baking Soda reaction is more fizzy
~ Snails turn to Limestone instead of Quicklime
+ Slaked Lime-Seltzer reaction
+ Limestone-Acid reaction creates byproducts
~ Cooled Quicklime forms a Limestone layer
~ Quicklime-Water reaction produces more heat
~ Lowered Quicklime melting point
+ Hot Quicklime produces Flash
~ Potassium-Chlorine reaction produces Fire
+ Potassium Salt reacts with hot Sodium
+ Potassium Gas (Hidden)
+ Bless cleans stains left by reactions
+ Bless cures Meat
+ Bless removes Dust and Grease
~ Improved Dead Plant coalification
~ Rockets no longer expel Cloners
+ Lattice reacts with Cold Fire
+ Gray Goo can melt
+ Virus is killed by Liquid Light
+ Static mouseover effect
+ Static breaks into Malware
~ Moved Ball to Special
~ Moved Pop when unhidden
~ Border element button shows stripes
~ Recolored Glitter
~ Recolored fermented Grape
~ Hid Clone Powder
+ Potassium Salt alias 'Potassium Chloride'
~ Tweaked electricity for low-conductivity elements
~ Updated Settings menu
+ Maximum pixel count, with red indicator
~ Optimized very large explosions
[Bug Fixes]
~ Fixed: Gaps when drawing fast on mobile
~ Fixed: Middle clicking empty space causes freeze
~ Fixed: Bless and Rock Wall can't be drawn in a line
~ Fixed: Gapes when drawing Bless and Rock Wall fast
~ Fixed: Bless and Rock Wall don't display info
~ Fixed: Bless and Rock can't use Replace Mode
~ Fixed: Brown Dwarf Suns can emit Light when eclipsed
~ Fixed: Language selector doesn't update on refresh
~ Fixed: Mouse size continues increasing past max size
~ Fixed: Uncharge tool doesn't put out LEDs
~ Fixed: Water extinguishes Greek Fire and Firework over and over
~ Fixed: Dragging at tick 0 freezes pixels in place
~ Fixed: Evergreen info page displays NaN
~ Fixed: Spawned Molten Magnesium behaves strange when heated
~ Fixed: Copper Sulfate freezing point is too low
~ Fixed: Stained Glass doesn't retain color when exploded
~ Fixed: Stained Glass placed at tick 0 doesn't retain color
~ Fixed: Antimatter and Antimatter Bomb trigger each other
~ Fixed: Strange Matter destroys Cloners
~ Fixed: Nothing can clone Wire
~ Fixed: TPS prompt displays error after canceling
~ Fixed: Decimal coordinates when resetting with odd canvas size
~ Fixed: No double state change when spawning at high airTemp
~ Fixed: Pixels retain clone property when changed
~ Fixed: Crash when mod deletes Sand
~ Fixed: Elements with single-color arrays have black buttons
~ Fixed: 'perTick' error when loading page
~ Fixed: 'fillStyle' error when loading page
[Technical]
+ Behavior grids bigger than 3x3 are centered
+ Behavior grids can be smaller than 3x3
+ Moddable behavior rules
~ Behavior rules are stored in new behaviorRules object
+ SM (Smash) behavior rule
+ MX (Mix) behavior rule (MX:true to mix solids)
+ CC (Change Color) can now take a target, e.g. CC:sand>#00ffff
~ CC (Change Color) no longer applies grain
+ EX (Explode) follows element 'ignore' property
~ Placed Paint and Shock tools are removed by Unpaint and Uncharge
[Version 1.9.4.1 - April 8, 2024 - Eclipse Special] [Version 1.9.4.1 - April 8, 2024 - Eclipse Special]
+ Attempting to place Rock Wall on top of Sun begins a solar eclipse + Attempting to place Rock Wall on top of Sun begins a solar eclipse
+ Sun can draw over Light pixels + Sun can draw over Light pixels
@ -127,7 +248,7 @@ A fancier version of this changelog can be found here: https://sandboxels.R74n.c
~ Fixed: Spawning Liquid Propane causes pulse effect ~ Fixed: Spawning Liquid Propane causes pulse effect
~ Fixed: Stained Glass and Color Sand can't be painted ~ Fixed: Stained Glass and Color Sand can't be painted
[Technical] [Technical]
+ Prop tool accepts lowercase "-infinity" + Prop tool accepts lowercase '-infinity'
~ Prop tool deselects on invalid input ~ Prop tool deselects on invalid input
+ onMouseDown() element property + onMouseDown() element property
+ hoverStat(pixel) element property for hover info, return string + hoverStat(pixel) element property for hover info, return string

View File

@ -113,6 +113,7 @@
<h2>Button Info</h2> <h2>Button Info</h2>
<table> <table>
<thead><tr><th>Button</th><th>Function</th></tr></thead> <thead><tr><th>Button</th><th>Function</th></tr></thead>
<tr><td></td> <td>Toggle Shift (Line drawing & Intense tools, Mobile-only)</tr>
<tr><td>Pause</td> <td>Pause/play the simulation</tr> <tr><td>Pause</td> <td>Pause/play the simulation</tr>
<tr><td>Step (>)</td> <td>Run a single frame of simulation</tr> <tr><td>Step (>)</td> <td>Run a single frame of simulation</tr>
<tr><td>Minus (-)</td> <td>Decrease the cursor size</tr> <tr><td>Minus (-)</td> <td>Decrease the cursor size</tr>

View File

@ -42,6 +42,7 @@ Baskspace = Select Previous Element
(Alt/Option can be used in place of Shift) (Alt/Option can be used in place of Shift)
[Button Info] [Button Info]
↑ = Toggle Shift for line drawing and intensified tools (Mobile only)
Pause = Pause/play the simulation Pause = Pause/play the simulation
> = Run a single frame of simulation > = Run a single frame of simulation
Minus = Decrease the cursor size Minus = Decrease the cursor size

View File

@ -0,0 +1,93 @@
Copyright 2012 The Press Start 2P Project Authors (cody@zone38.net), with Reserved Font Name "Press Start 2P".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -0,0 +1,93 @@
Copyright 2011, The VT323 Project Authors (peter.hull@oikoi.com)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

BIN
fonts/VT323-Regular.ttf Normal file

Binary file not shown.

1722
index.html

File diff suppressed because it is too large Load Diff

View File

@ -104,6 +104,7 @@
<!----><tr><td class="modCat" colspan="3">Official</td></tr><!----> <!----><tr><td class="modCat" colspan="3">Official</td></tr><!---->
<tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together. (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr> <tr><td>alchemy.js</td><td>Start with only 4 elements and unlock more by reacting them together. (Most are not possible)</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
<tr><td>building.js</td><td>Adds building generators and materials</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
<tr><td>classic_explosives.js</td><td>Adds back 4 explosives removed in v1.9.3</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr> <tr><td>classic_explosives.js</td><td>Adds back 4 explosives removed in v1.9.3</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
<tr><td>classic_textures.js</td><td>Use textures from early versions of the game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr> <tr><td>classic_textures.js</td><td>Use textures from early versions of the game</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>
<tr><td>color_everything.js</td><td>Allows every element to have a custom color</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr> <tr><td>color_everything.js</td><td>Allows every element to have a custom color</td><td><a href="https://R74n.com" class="R74nLink">R74n</a></td></tr>

117
mods/building.js Normal file
View File

@ -0,0 +1,117 @@
elements.mud_brick = {
color: "#8a6249",
colorPattern: textures.BRICK,
colorKey: {
"r": "#8a6249",
"w": "#634933"},
behavior: behaviors.WALL,
category: "solids",
state: "solid",
tempHigh: 1200,
stateHigh: "molten_dirt",
hardness: 0.33,
breakInto: "dirt"
}
var materials = ["brick","concrete","wood","glass","steel"];
elements.tower = {
color: [],
behavior: [
"XX|XX|XX",
"XX|CH:"+materials.join("_tower,")+"_tower|XX",
"XX|XX|XX",
],
category: "spawners",
maxSize: 1,
cooldown: defaultCooldown,
}
materials.forEach((elem) => {
if (Array.isArray(elements[elem].color)) {
elements.tower.color.push(elements[elem].color[0]);
}
else {
elements.tower.color.push(elements[elem].color);
}
elements[elem+"_tower"] = {
color: elements[elem].color,
behavior: [
`XX|M2|XX`,
`XX|C2:${elem}_room|XX`,
`XX|M1|XX`,
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners"
}
elements[elem+"_room"] = {
color: elements[elem].color,
behavior: [
`XX|XX|CR:${elem}_room,${elem}_room,${elem}_room,${elem}_room,tower_antenna,wood_roof%80|XX|XX`,
`XX|XX|XX|XX|XX`,
`CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}`,
`CR:glass|XX|XX|CR:human%25|CR:glass`,
`CR:glass|CR:human%25|DL|CR:human%25|CR:glass`,
`CR:${elem}|XX|XX|XX|CR:${elem}`,
`CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}|CR:${elem}`,
`XX|XX|XX|XX|XX`,
`XX|XX|XX|XX|XX`
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
})
elements.tower.color = elements.tower.color.sort();
elements.tower_antenna = {
color: "#bababa",
behavior: [
"CR:steel%30",
"CR:steel",
"CR:steel",
"CR:steel",
"CH:steel",
"CR:steel",
"XX",
"XX",
"XX",
"XX",
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
elements.wood_roof = {
color: "#965829",
behavior: [
"XX|XX|XX|XX|XX|XX|XX",
"XX|XX|XX|CR:wood|XX|XX|XX",
"XX|XX|CR:wood|CH:wood|CR:wood|XX|XX",
"XX|CR:wood|XX|XX|XX|CR:wood|XX",
"CR:wood|XX|XX|XX|XX|XX|CR:wood",
],
maxSize: 1,
cooldown: defaultCooldown,
category: "spawners",
hidden: true
}
worldgentypes.city = {
layers: [
[0.95, "grass"],
[0.50, "dirt"],
[0.05, "rock"],
[0, "basalt"],
],
decor: [ // [element, chance, distance from top]
["tower", 0.08],
// ["bird", 0.025, 10],
],
baseHeight: 0.25
}

View File

@ -153,3 +153,9 @@ if (elements.molten_magnesium) {delete elements.molten_magnesium.color;}
if (elements.n_explosion) {elements.n_explosion.color = ["#ffb48f","#ffd991","#ffad91"];} if (elements.n_explosion) {elements.n_explosion.color = ["#ffb48f","#ffd991","#ffad91"];}
if (elements.supernova) {elements.supernova.color = ["#ffb48f","#ffd991","#ffad91"];} if (elements.supernova) {elements.supernova.color = ["#ffb48f","#ffd991","#ffad91"];}
if (elements.pop) {elements.pop.color = ["#ffb48f","#ffd991","#ffad91"];} if (elements.pop) {elements.pop.color = ["#ffb48f","#ffd991","#ffad91"];}
if (elements.border) {elements.border.color = "#00ffff";}
if (elements.glitter) {elements.glitter.color = ["#ace4fb","#d9fcff","#8f6eb2","#fdeafc","#180e1c","#6b2778"];}
if (elements.yeast && elements.yeast.reactions) {
if (elements.yeast.reactions.grape) {elements.yeast.reactions.grape.color2 = "#916851";}
if (elements.yeast.reactions.juice) {elements.yeast.reactions.juice.color2 = "#916851";}
}

View File

@ -22,7 +22,7 @@ elements.steam_train = {
behavior: [ behavior: [
"XX|CR:smoke|XX", "XX|CR:smoke|XX",
"BO AND M1|XX|CR:smoke", "BO AND M1|XX|CR:smoke",
"XX|CR:smoke|XX", "XX|CR:smoke|XX"
], ],
category: "gases", category: "gases",
density: 99999, density: 99999,
@ -45,7 +45,7 @@ elements.polish = {
behavior: [ behavior: [
"M2|M1|M2", "M2|M1|M2",
"M1|DL%10|M1", "M1|DL%10|M1",
"M2|M1|M2", "M2|M1|M2"
], ],
reactions: { reactions: {
"wood": { color2:"#872b00" }, "wood": { color2:"#872b00" },
@ -81,7 +81,7 @@ elements.liquid = {
behavior: [ behavior: [
"XX|XX|XX", "XX|XX|XX",
"M2|XX|M2", "M2|XX|M2",
"M1|M1|M1", "M1|M1|M1"
], ],
category: "special" category: "special"
} }
@ -89,7 +89,7 @@ elements.gas = {
behavior: [ behavior: [
"M1|M1|M1", "M1|M1|M1",
"M1|XX|M1", "M1|XX|M1",
"M1|M1|M1", "M1|M1|M1"
], ],
state: "gas", state: "gas",
category: "special" category: "special"
@ -98,8 +98,96 @@ elements.liquid_gas = {
behavior: [ behavior: [
"M1%25|M1%25|M1%25", "M1%25|M1%25|M1%25",
"M2|XX|M2", "M2|XX|M2",
"M1|M1|M1", "M1|M1|M1"
], ],
state: "gas", state: "gas",
category: "special" category: "special"
} }
elements.big_behavior = {
behavior: [
"CR:wood|CR:wood|CR:wood|CR:wood|CR:wood",
"CR:wood|XX|XX|XX|CR:wood",
"CR:wood|XX|XX|XX|CR:wood",
"CR:wood|XX|XX|XX|CR:wood",
"CR:wood|CR:wood|CR:wood|CR:wood|CR:wood",
],
category: "special"
}
/*
elements.small_behavior = {
behavior: [
"CR:wood|CR:wood|CH:wood|CR:wood|CR:wood"
],
category: "special"
}
elements.big_behavior_del = {
behavior: [
"CR:wood|CR:wood|CR:wood|CR:wood|CR:wood",
"CR:wood|XX|XX|XX|CR:wood",
"CR:wood|XX|DL|XX|CR:wood",
"CR:wood|XX|XX|XX|CR:wood",
"CR:wood|CR:wood|CR:wood|CR:wood|CR:wood",
],
category: "special"
}
elements.odd_behavior = {
behavior: [
"CR:wood|CR:wood|CR:wood|CR:wood",
"CR:wood|XX|XX|CR:wood",
"CR:wood|XX|XX|CR:wood",
"CR:wood|CR:wood|CR:wood|CR:wood",
],
category: "special"
}
elements.big_sponge = {
behavior: [
"DL:water|DL:water|DL:water|DL:water|DL:water",
"DL:water|DL:water|DL:water|DL:water|DL:water",
"DL:water|DL:water|XX|DL:water|DL:water",
"DL:water|DL:water|DL:water|DL:water|DL:water",
"DL:water|DL:water|DL:water|DL:water|DL:water",
],
category: "special"
}
*/
elements.flipbook = {
tick: function(pixel) {
if (pixel.frame === undefined) {
pixel.frame = 0;
pixel.color = "#ffffff"
}
pixel["frame"+pixel.frame] = pixel.color;
pixel.frame = (pixel.frame+1)%(pixel.frames || 10);
pixel.color = pixel["frame"+pixel.frame] || "#ffffff";
},
category: "special"
}
elements.clone_fluid = {
color: ["#d9d943","#c3c33a"],
tick: function(pixel) {
behaviors.LIQUID(pixel);
// loop through adjacentCoords
for (var i=0; i < adjacentCoords.length; i++) {
var coords = adjacentCoords[i];
var x = pixel.x + coords[0];
var y = pixel.y + coords[1];
if (!isEmpty(x,y,true) && pixelMap[x][y].element !== "clone_fluid") {
changePixel(pixel,pixelMap[x][y].element);
}
}
},
category: "machines",
state: "liquid",
density: 1000
}
// elements.tester = {
// behavior: [
// "SM%5 AND MX|SM%5 AND MX|SM%5 AND MX",
// "SM%5 AND MX|XX|SM%5 AND MX",
// "SM%5 AND MX|SM%5 AND MX|SM%5 AND MX",
// ],
// category: "special"
// }

View File

@ -7,10 +7,13 @@ html, body {
@font-face { @font-face {
font-family: 'Press Start 2P'; font-family: 'Press Start 2P';
src: url('fonts/PressStart2P-Regular.ttf'); src: url('fonts/PressStart2P-Regular.ttf');
font-display: swap; }
@font-face {
font-family: 'VT323';
src: url('fonts/VT323-Regular.ttf');
} }
body { body {
font-family: 'Press Start 2P', Arial; font-family: 'Press Start 2P', 'VT323', Arial;
background-color: #000000; background-color: #000000;
color: #ffffff; color: #ffffff;
} }
@ -374,6 +377,9 @@ button, input[type="submit"], input[type="reset"] {
#stat-view, #stat-element { #stat-view, #stat-element {
text-transform: uppercase; text-transform: uppercase;
} }
.redText {
color: red;
}
.categoryName { .categoryName {
font-size: 0.75em; font-size: 0.75em;
text-transform: uppercase; text-transform: uppercase;
@ -469,39 +475,45 @@ button, input { /*Disable double tap zoom on mobile devices*/
touch-action: manipulation; touch-action: manipulation;
color-scheme: dark; color-scheme: dark;
} }
select, .toggleInput, #settingsMenu input[type="number"], #settingsMenu input[type="text"], #savePromptMenu input, input[type="email"] { .settingsButton, select, .toggleInput, #settingsMenu input[type="number"], #settingsMenu input[type="text"], #savePromptMenu input, input[type="email"] {
background-color: black; background-color: black;
vertical-align: middle; vertical-align: middle;
margin-left: 5px; margin-left: 5px;
margin-right: 5px; margin-right: 5px;
border: rgb(150, 150, 150) 1px solid; border: rgb(150, 150, 150) 1px solid;
border-radius: 20px;
padding: 0.5em; padding: 0.5em;
color: white; color: white;
font-size: 1em; font-size: 1em;
font-family: Arial, Helvetica, sans-serif; font-family: Arial, Helvetica, sans-serif;
} }
#settingsMenu .toggleInput { #settingsMenu .menuText {
font-family: 'VT323';
font-size:1.5em
}
#settingsMenu .toggleInput, #settingsMenu .menuText button, #settingsMenu input[type], #settingsMenu select {
display: inline-block; display: inline-block;
width: 4em;
text-align: center; text-align: center;
font-family: 'VT323';
padding-left:13px;
padding-right:13px;
margin:0
}
#settingsMenu input[type=color] {
padding:0
}
#settingsMenu select, #settingsMenu input[type=text] {
font-size: 1em;
padding:5px;
} }
.toggleInput { cursor: pointer; } .toggleInput { cursor: pointer; }
.toggleInput[state="1"] {color: lime!important;} .toggleInput[state="1"] {color: lime!important;}
.toggleInput[state="0"] {color: red!important;} .toggleInput[state="0"] {color: red!important;}
#settingsMenu input[type="number"] { #settingsMenu input[type="number"] {
width: 3em; width: 3em;
text-align: left;
} }
.settingsButton { #settingsMenu input[type="text"] {
background-color: black; text-align: left;
vertical-align: middle;
margin-left: 5px;
margin-right: 5px;
border: rgb(150, 150, 150) 1px solid;
border-radius: 20px;
padding: 0.5em;
color: white;
font-family: Arial, Helvetica, sans-serif;
} }
.settingsButton:active, .toggleInput:active { .settingsButton:active, .toggleInput:active {
filter: brightness(75%); filter: brightness(75%);