2022-08-02 15:23:35 -04:00
elements . fluorine = {
color : "#FFFFBF" ,
behavior : behaviors . GAS ,
2022-08-03 15:10:30 -04:00
ignore : [ "FOOF" , "solid_FOOF" , "oxygen" , "liquid_oxygen" , "oxygen_ice" , "chlorine" , "liquid_chlorine" , "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "fire" , "smoke" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" , "hydrogen" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change ) {
changePixel ( pixel , "fire" ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"salt_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"dirty_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"steam" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "hydrogen" } ,
"acid_gas" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "hydrogen" } ,
"neutral_acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"liquid_oxygen" : { "elem1" : "FOOF" , "elem2" : null } ,
"hydrogen" : { "elem1" : "hydrogen_fluoride" , "elem2" : null } ,
} ,
tempLow : - 188.1 ,
stateLow : "liquid_fluorine" ,
state : "gas" ,
category : "gases" ,
density : 1.7 ,
stain : 0.005 ,
}
elements . liquid _fluorine = {
color : "#ffff3b" ,
behavior : behaviors . LIQUID ,
2022-08-03 15:10:30 -04:00
ignore : [ "FOOF" , "solid_FOOF" , "oxygen" , "liquid_oxygen" , "oxygen_ice" , "chlorine" , "liquid_chlorine" , "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "fire" , "smoke" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" , "hydrogen" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( Math . random ( ) < 0.01 && ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change && Math . random ( ) < 0.02 ) {
changePixel ( pixel , "fire" ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"salt_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"dirty_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"steam" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "hydrogen" } ,
"acid_gas" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "hydrogen" } ,
"neutral_acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : "hydrogen" } ,
"hydrogen" : { "elem1" : "hydrogen_fluoride" , "elem2" : null } ,
} ,
temp : - 198.1 ,
tempHigh : - 188.1 ,
stateHigh : "fluorine" ,
tempLow : - 219.7 ,
state : "liquid" ,
category : "liquids" ,
density : 1.7 ,
stain : 0.005 ,
}
elements . hydrofluoric _acid = {
color : [ "#c8cf91" , "#efff5e" , "#a0cc39" ] ,
2022-08-03 15:04:25 -04:00
ignore : [ "fire" , "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change ) {
if ( Math . random ( ) < 0.2 ) {
changePixel ( pixel , "hydrogen_fluoride" ) ;
} else {
deletePixel ( pixel . x , pixel . y ) ;
return ;
}
} else {
behaviors . LIQUID ( pixel ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "dirty_water" } ,
"salt_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "dirty_water" } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : "dirty_water" } ,
} ,
state : "liquid" ,
category : "liquids" ,
density : 1150 ,
stain : 0.005 ,
tempHigh : 400 ,
stateHigh : "fire" ,
tempLow : - 58.88 ,
}
elements . hydrofluoric _acid _gas = {
color : [ "#acb37d" , "#bfcc4b" , "#668224" ] ,
2022-08-03 15:04:25 -04:00
ignore : [ "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change ) {
if ( Math . random ( ) < 0.2 ) {
changePixel ( pixel , "hydrogen_fluoride" ) ;
} else {
deletePixel ( pixel . x , pixel . y ) ;
}
} else {
behaviors . GAS ( pixel ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "dirty_water" } ,
"salt_water" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "dirty_water" } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : "dirty_water" } ,
} ,
state : "gas" ,
density : 1.63 ,
stain : 0.005 ,
tempHigh : 400 ,
stateHigh : "fire" ,
tempLow : - 10 ,
stateLow : "hydrofluoric_acid" ,
category : "gases" ,
}
elements . hydrogen _fluoride = {
color : "#f2f28d" ,
behavior : behaviors . GAS ,
2022-08-03 15:04:25 -04:00
ignore : [ "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "fire" , "smoke" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" , "hydrogen" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change && Math . random ( ) < 0.2 ) {
changePixel ( pixel , "fire" ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"salt_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"dirty_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"steam" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : null } ,
"acid_gas" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : null } ,
"neutral_acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
} ,
state : "gas" ,
category : "gases" ,
density : 1.7 ,
stain : 0.005 ,
tempLow : - 19.5 ,
stateLow : "liquid_hydrogen_fluoride" ,
}
elements . liquid _hydrogen _fluoride = {
color : "#e2e28d" ,
behavior : behaviors . LIQUID ,
2022-08-03 15:04:25 -04:00
ignore : [ "liquid_hydrogen_fluoride" , "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" , "fire" , "smoke" , "acid_gas" , "neutral_acid" , "acid" , "acid_cloud" , "water" , "salt_water" , "sugar_water" , "dirty_water" , "steam" , "gold" , "hydrogen" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change && Math . random ( ) < 0.2 ) {
changePixel ( pixel , "fire" ) ;
}
} ,
reactions : {
"water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"salt_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"sugar_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"dirty_water" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"steam" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : null } ,
"acid_gas" : { "elem1" : "hydrofluoric_acid_gas" , "elem2" : null } ,
"neutral_acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
"acid" : { "elem1" : "hydrofluoric_acid" , "elem2" : null } ,
} ,
state : "liquid" ,
hidden : true ,
density : 1.7 ,
stain : 0.005 ,
temp : - 20.5 ,
tempHigh : - 19.5 ,
stateHigh : "hydrogen_fluoride" ,
tempLow : - 83.6 ,
}
elements . FOOF = {
color : "#fa1e1e" ,
behavior : behaviors . LIQUID ,
2022-08-03 15:10:30 -04:00
ignore : [ "FOOF" , "solid_FOOF" , "fluorine" , "liquid_fluorine" , "fluorine_ice" , "liquid_oxygen" , "oxygen_ice" , "oxygen" , "fire" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change && Math . random ( ) < 0.5 ) {
changePixel ( pixel , "explosion" ) ;
} else if ( Math . random ( ) < 0.0001 ) {
if ( Math . random ( ) < 0.5 ) {
changePixel ( pixel , "oxygen" ) ;
} else {
changePixel ( pixel , "fluorine" ) ;
}
}
} ,
state : "liquid" ,
category : "liquids" ,
density : 1450 ,
stain : 0.01 ,
temp : - 120 ,
tempHigh : - 57 ,
stateHigh : [ "oxygen" , "fluorine" , "explosion" ] ,
tempLow : - 154 ,
stateLow : "solid_FOOF" ,
}
elements . solid _FOOF = {
color : "#fa4a1e" ,
behavior : behaviors . WALL ,
2022-08-03 15:10:30 -04:00
ignore : [ "FOOF" , "solid_FOOF" , "fluorine" , "liquid_fluorine" , "fluorine_ice" , "liquid_oxygen" , "oxygen_ice" , "oxygen" , "fire" ] ,
2022-08-02 15:23:35 -04:00
tick : function ( pixel ) {
let change = false ;
for ( let i = - 1 ; i <= 1 ; i ++ ) {
for ( let j = - 1 ; j <= 1 ; j ++ ) {
if ( ! ( i === 0 && j === 0 ) && ! isEmpty ( pixel . x + i , pixel . y + j , true )
&& ! elements [ pixel . element ] . ignore . includes ( pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ) ) {
2022-08-03 14:40:53 -04:00
if ( ! elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness || Math . random ( ) > elements [ pixelMap [ pixel . x + i ] [ pixel . y + j ] . element ] . hardness ) {
2022-08-02 15:23:35 -04:00
changePixel ( pixelMap [ pixel . x + i ] [ pixel . y + j ] , "fire" ) ;
change = true ;
}
}
}
}
if ( change && Math . random ( ) < 0.5 ) {
changePixel ( pixel , "explosion" ) ;
} else if ( Math . random ( ) < 0.00005 ) {
if ( Math . random ( ) < 0.5 ) {
changePixel ( pixel , "oxygen" ) ;
} else {
changePixel ( pixel , "fluorine" ) ;
}
}
} ,
state : "solid" ,
category : "solids" ,
density : 1450 ,
stain : 0.01 ,
temp : - 160 ,
tempHigh : - 154 ,
stateHigh : "FOOF" ,
}
if ( ! elements . acid . ignore ) {
acid . ignore = [ ] ;
}
if ( ! elements . acid _gas . ignore ) {
acid _gas . ignore = [ ] ;
}
2022-08-03 15:04:25 -04:00
elements . acid . ignore . push ( "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" ) ;
elements . acid _gas . ignore . push ( "liquid_fluorine" , "fluorine" , "fluorine_ice" , "hydrogen_fluoride" , "hydrofluoric_acid" , "hydrofluoric_acid_gas" ) ;
2022-08-02 15:23:35 -04:00
elements . nitric _oxide = {
color : "#b8926c" ,
behavior : behaviors . GAS ,
reactions : {
"steam" : { "elem1" : "smog" , "elem2" : null , "chance" : 0.01 } ,
"oxygen" : { "elem1" : "nitrogen_dioxide" , "elem2" : null } ,
} ,
tempLow : - 152 ,
category : "gases" ,
state : "gas" ,
density : 1.34 ,
}
elements . liquid _nitric _oxide = {
tempLow : - 164 ,
hidden : true ,
}
elements . nitrogen _dioxide = {
color : "#964B00" ,
behavior : behaviors . GAS ,
reactions : {
"steam" : { "elem1" : "smog" , "elem2" : null , "chance" : 0.01 } ,
"ammonia" : { "elem1" : "fertilizer" , "elem2" : null } ,
"blood" : { "elem1" : null , "elem2" : "infection" , "chance" : 0.01 } ,
"water" : { "elem1" : null , "elem2" : "dirty_water" , "chance" : 0.01 } ,
"plant" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"grass" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"algae" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"mushroom_spore" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"lichen" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"rat" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
"frog" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
"fish" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
"head" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
"body" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
"ant" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"worm" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"fly" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"firefly" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"bee" : { "elem1" : null , "elem2" : null , "chance" : 0.01 } ,
"slug" : { "elem1" : null , "elem2" : "slime" , "chance" : 0.01 } ,
"snail" : { "elem1" : null , "elem2" : "calcium" , "chance" : 0.01 } ,
"sapling" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"root" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"flower_seed" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"pistil" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"petal" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"grass_seed" : { "elem1" : null , "elem2" : "dead_plant" , "chance" : 0.01 } ,
"meat" : { "elem1" : null , "elem2" : "rotten_meat" , "chance" : 0.01 } ,
} ,
temp : 30 ,
tempLow : 21.15 ,
category : "gases" ,
state : "gas" ,
density : 1.88 ,
}
elements . liquid _nitrogen _dioxide = {
tempLow : - 9.3 ,
hidden : true ,
}
elements . fertilizer = {
color : "#e6c3a1" ,
behavior : behaviors . POWDER ,
reactions : {
"plant" : { "elem1" : "plant" , "chance" : 0.5 } ,
"wheat_seed" : { "elem1" : "wheat" , "chance" : 0.5 } ,
"grass" : { "elem1" : "grass" , "chance" : 0.5 } ,
"grass_seed" : { "elem1" : "grass" , "chance" : 0.5 } ,
"bamboo_plant" : { "elem1" : "bamboo" , "chance" : 0.5 } ,
"flower_seed" : { "elem1" : "flower_seed" , "chance" : 0.5 } ,
"petal" : { "elem1" : "flower_seed" , "chance" : 0.5 } ,
"vine" : { "elem1" : "vine" , "chance" : 0.5 } ,
"sapling" : { "elem1" : "tree_branch" , "chance" : 0.5 } ,
"tree_branch" : { "elem1" : "tree_branch" , "chance" : 0.5 } ,
"corn_seed" : { "elem1" : "corn" , "chance" : 0.5 } ,
"root" : { "elem1" : "root" , "chance" : 0.5 } ,
"dirt" : { "elem1" : "grass" , "chance" : 0.5 } ,
"mud" : { "elem1" : "grass" , "chance" : 0.5 } ,
"potato_seed" : { "elem1" : "potato" , "chance" : 0.5 } ,
"yeast" : { "elem1" : "yeast" , "chance" : 0.5 } ,
} ,
tempHigh : 169.6 ,
stateHigh : "fire" ,
category : "powders" ,
state : "solid" ,
density : 1725 ,
}
elements . ammonia . reactions [ "oxygen" ] = { "elem1" : "steam" , "elem2" : "nitric_oxide" }
elements . supernova . behavior = [
"XX|XX|XX" ,
"XX|EX:80>plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,molten_iron,molten_uranium,molten_lead AND CH:neutronium,neutronium,neutronium,liquid_neutronium,quark_matter,void|XX" ,
"XX|XX|XX" ,
]
elements . gamma _ray _burst = {
color : [ "#ffb48f" , "#ffd991" , "#ffad91" ] ,
behavior : [
"XX|XX|XX" ,
"XX|EX:100>plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,plasma,molten_uranium,molten_gold,molten_tungsten,molten_lead AND CH:void|XX" ,
"XX|XX|XX" ,
] ,
temp : 99999999700 ,
category : "energy" ,
state : "gas" ,
density : 1000 ,
hardness : 1 ,
hidden : true ,
excludeRandom : true ,
maxSize : 1 ,
}
elements . neutronium = {
color : "#aaffff" ,
behavior : [
"XX|CR:neutron%0.1|XX" ,
"CR:neutron%0.1|XX|CR:neutron%0.1" ,
"XX|CR:neutron%0.1|XX" ,
] ,
temp : 1e6 ,
tempHigh : 1e7 ,
stateHigh : "liquid_neutronium" ,
breakInto : "gamma_ray_burst" ,
category : "special" ,
state : "solid" ,
density : 4e17 ,
}
elements . liquid _neutronium = {
color : "#ffffaa" ,
behavior2 : [
"XX|CR:neutron%0.2|XX" . split ( "|" ) ,
"M1 AND CR:neutron%0.2|XX|M1 AND CR:neutron%0.2" . split ( "|" ) ,
"M1|M1|M1" . split ( "|" ) ,
] ,
tick : function ( pixel ) {
if (
( ( ! isEmpty ( pixel . x + 1 , pixel . y , false ) &&
( isEmpty ( pixel . x + 1 , pixel . y , true ) || pixelMap [ pixel . x + 1 ] [ pixel . y ] . element !== "liquid_neutronium" ) ) ||
( ! isEmpty ( pixel . x - 1 , pixel . y , false ) &&
( isEmpty ( pixel . x - 1 , pixel . y , true ) || pixelMap [ pixel . x - 1 ] [ pixel . y ] . element !== "liquid_neutronium" ) ) ) &&
! ( outOfBounds ( pixel . x , pixel . y - 1 ) ||
! isEmpty ( pixel . x , pixel . y - 1 , true ) ) )
{
tryMove ( pixel , pixel . x , pixel . y - 1 ) ;
}
else
{
pixelTick ( pixel , elements . liquid _neutronium . behavior2 ) ;
}
doDefaults ( pixel ) ;
} ,
temp : 2e7 ,
tempLow : 1e7 ,
stateLow : "neutronium" ,
breakInto : "gamma_ray_burst" ,
category : "special" ,
state : "liquid" ,
density : 2e17 ,
}
elements . liquid _helium . behavior2 = [
"XX|XX|XX" . split ( "|" ) ,
"M1|XX|M1" . split ( "|" ) ,
"M1|M1|M1" . split ( "|" ) ,
] ;
elements . liquid _helium . behavior = null ;
elements . liquid _helium . tick = function ( pixel ) {
if (
( ( ! isEmpty ( pixel . x + 1 , pixel . y , false ) &&
( isEmpty ( pixel . x + 1 , pixel . y , true ) || pixelMap [ pixel . x + 1 ] [ pixel . y ] . element !== "liquid_helium" ) ) ||
( ! isEmpty ( pixel . x - 1 , pixel . y , false ) &&
( isEmpty ( pixel . x - 1 , pixel . y , true ) || pixelMap [ pixel . x - 1 ] [ pixel . y ] . element !== "liquid_helium" ) ) ) &&
! ( outOfBounds ( pixel . x , pixel . y - 1 ) ||
! isEmpty ( pixel . x , pixel . y - 1 , true ) ) )
{
tryMove ( pixel , pixel . x , pixel . y - 1 ) ;
}
else
{
pixelTick ( pixel , elements . liquid _helium . behavior2 ) ;
}
}
elements . quark _matter = {
color : [ "#ff0000" , "#00ff00" , "#0000ff" ] ,
behavior : [
"XX|CR:neutron%0.1 AND CR:proton%0.1|XX" ,
"M2 AND CR:neutron%0.1 AND CR:proton%0.1|XX|M2 AND CR:neutron%0.1 AND CR:proton%0.1" ,
"M1|M1|M1" ,
] ,
tick : function ( pixel ) {
pixel . color = pixelColorPick ( pixel ) ;
} ,
tempHigh : 1e8 ,
temp : 2e7 ,
stateHigh : "gamma_ray_burst" ,
breakInto : "gamma_ray_burst" ,
category : "special" ,
state : "liquid" ,
density : 4e18 ,
}