Create fuel_generators.js
This commit is contained in:
parent
32f8ac5d89
commit
4261c6cb23
|
|
@ -0,0 +1,131 @@
|
||||||
|
elements.gasoline = {
|
||||||
|
color: ["#FFFF66", "#FFFF66", "#FFFF66", "#FFFF66", "#FFFF66"],
|
||||||
|
burn: 15,
|
||||||
|
burnTime: 300,
|
||||||
|
viscosity: 0.6,
|
||||||
|
density: 750,
|
||||||
|
category: "fuels",
|
||||||
|
behavior: behaviors.LIQUID,
|
||||||
|
state: "liquid",
|
||||||
|
desc: "Used in Gas Generators!"
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.diesel = {
|
||||||
|
color: "#EBFBB5",
|
||||||
|
burn: 10,
|
||||||
|
burnTime: 600,
|
||||||
|
viscosity: 3,
|
||||||
|
density: 860,
|
||||||
|
category: "fuels",
|
||||||
|
behavior: behaviors.LIQUID,
|
||||||
|
state: "liquid",
|
||||||
|
desc: "Used in Diesel Generators!"
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.gasoline_generator = {
|
||||||
|
color: "#6d5f5d",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
state: "solid",
|
||||||
|
density: 1000,
|
||||||
|
category: "machines",
|
||||||
|
properties: {
|
||||||
|
shocksToDo: 0
|
||||||
|
},
|
||||||
|
hoverStat: function(pixel){return pixel.shocksToDo || 0},
|
||||||
|
tick: function(pixel){
|
||||||
|
if (pixel.shocksToDo <= 40){
|
||||||
|
for (var i = 0; i < adjacentCoords.length; i++){
|
||||||
|
var coord = adjacentCoords[i]
|
||||||
|
var x = pixel.x + coord[0]
|
||||||
|
var y = pixel.y + coord[1]
|
||||||
|
if (!isEmpty(x, y, true)){
|
||||||
|
var otherPixel = pixelMap[x][y]
|
||||||
|
if (otherPixel.element == "gasoline"){
|
||||||
|
deletePixel(x, y)
|
||||||
|
if(!pixel.shocksToDo){pixel.shocksToDo = 0}
|
||||||
|
pixel.shocksToDo += 10
|
||||||
|
}
|
||||||
|
else if (otherPixel.element == "gasoline_generator"){
|
||||||
|
var otherPixel = pixelMap[x][y]
|
||||||
|
var otherShock = otherPixel.shocksToDo || 0
|
||||||
|
var currentShock = pixel.shocksToDo || 0
|
||||||
|
if (otherShock > currentShock){
|
||||||
|
otherPixel.shocksToDo --
|
||||||
|
pixel.shocksToDo ++
|
||||||
|
} else if (currentShock > otherShock) {
|
||||||
|
otherPixel.shocksToDo ++
|
||||||
|
pixel.shocksToDo --
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
if (!pixel.charge && !pixel.chargeCD && pixel.shocksToDo){
|
||||||
|
for (var i = 0; i < adjacentCoords.length; i++){
|
||||||
|
var coord = adjacentCoords[i]
|
||||||
|
var x = pixel.x + coord[0]
|
||||||
|
var y = pixel.y + coord[1]
|
||||||
|
if (!isEmpty(x, y, true)){
|
||||||
|
if (elements[pixelMap[x][y].element].conduct > 0){
|
||||||
|
pixel.charge = 1
|
||||||
|
pixel.shocksToDo --
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elements.diesel_generator = {
|
||||||
|
color: "#FF9C27",
|
||||||
|
behavior: behaviors.WALL,
|
||||||
|
state: "solid",
|
||||||
|
density: 1000,
|
||||||
|
category: "machines",
|
||||||
|
properties: {
|
||||||
|
shocksToDo: 0
|
||||||
|
},
|
||||||
|
hoverStat: function(pixel){return pixel.shocksToDo || 0},
|
||||||
|
tick: function(pixel){
|
||||||
|
if (pixel.shocksToDo <= 80){
|
||||||
|
for (var i = 0; i < adjacentCoords.length; i++){
|
||||||
|
var coord = adjacentCoords[i]
|
||||||
|
var x = pixel.x + coord[0]
|
||||||
|
var y = pixel.y + coord[1]
|
||||||
|
if (!isEmpty(x, y, true)){
|
||||||
|
var otherPixel = pixelMap[x][y]
|
||||||
|
if (otherPixel.element == "diesel"){
|
||||||
|
deletePixel(x, y)
|
||||||
|
if(!pixel.shocksToDo){pixel.shocksToDo = 0}
|
||||||
|
pixel.shocksToDo += 20
|
||||||
|
}
|
||||||
|
else if (otherPixel.element == "diesel_generator"){
|
||||||
|
var otherPixel = pixelMap[x][y]
|
||||||
|
var otherShock = otherPixel.shocksToDo || 0
|
||||||
|
var currentShock = pixel.shocksToDo || 0
|
||||||
|
if (otherShock > currentShock){
|
||||||
|
otherPixel.shocksToDo --
|
||||||
|
pixel.shocksToDo ++
|
||||||
|
} else if (currentShock > otherShock) {
|
||||||
|
otherPixel.shocksToDo ++
|
||||||
|
pixel.shocksToDo --
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
if (!pixel.charge && !pixel.chargeCD && pixel.shocksToDo){
|
||||||
|
for (var i = 0; i < adjacentCoords.length; i++){
|
||||||
|
var coord = adjacentCoords[i]
|
||||||
|
var x = pixel.x + coord[0]
|
||||||
|
var y = pixel.y + coord[1]
|
||||||
|
if (!isEmpty(x, y, true)){
|
||||||
|
if (elements[pixelMap[x][y].element].conduct > 0){
|
||||||
|
pixel.charge = 1
|
||||||
|
pixel.shocksToDo --
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue