891 lines
24 KiB
JavaScript
891 lines
24 KiB
JavaScript
var tileClasses = []
|
|
|
|
//Hier sind alle im Tiles welche im Spiel präsent sind
|
|
|
|
class Conveyorbelt extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "conveyorbelt"
|
|
this.hasNoInventory = true
|
|
this.i = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 20
|
|
}]
|
|
this.texture = {
|
|
"0": ["conveyorbelt00", "conveyorbelt01", "conveyorbelt02", "conveyorbelt03", "conveyorbelt04", "conveyorbelt05", "conveyorbelt06"],
|
|
"1": []
|
|
}
|
|
this.loadImages()
|
|
}
|
|
}
|
|
|
|
class Treefarm extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 5
|
|
this.currentwork = 0
|
|
this.name = "treefarm"
|
|
this.i = 1
|
|
this.hasNoInventory = true
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 30
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["treefarm10", "treefarm10", "treefarm10", "treefarm11", "treefarm11", "treefarm11", "treefarm12", "treefarm12", "treefarm12", "treefarm13", "treefarm13", "treefarm13", "treefarm14", "treefarm14", "treefarm14", "treefarm15", "treefarm15", "treefarm15"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
this.currentwork = ((this.currentwork + 1) % this.maxwork)
|
|
if (this.currentwork == 0) {
|
|
var item = new Item(1, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
}
|
|
}
|
|
|
|
class Saw extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 48
|
|
this.currentwork = 0
|
|
this.name = "saw"
|
|
this.i = 2
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 750
|
|
},
|
|
{
|
|
"id": 1,
|
|
"count": 50
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["saw10", "saw10", "saw10", "saw10", "saw11", "saw11", "saw11", "saw11", "saw12", "saw12", "saw12", "saw12", "saw13", "saw13", "saw13", "saw13"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 5
|
|
if (this.input.countOf(1) >= requieredCount || this.input.countOf(2) >= 1) {
|
|
if (this.currentwork == this.maxwork) {
|
|
if (this.input.countOf(1) >= requieredCount) {
|
|
this.input.take(1, requieredCount, this.factory)
|
|
for (var i = 0; i < 4; i++) {
|
|
var item = new Item(2, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
} else {
|
|
this.input.take(2, 1, this.factory)
|
|
var item = new Item(5, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class Weaver extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 48 * 3
|
|
this.currentwork = 0
|
|
this.name = "weaver"
|
|
this.i = 10
|
|
this.cost = [{
|
|
"id": 2,
|
|
"count": 200
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 100
|
|
},
|
|
{
|
|
"id": 0,
|
|
"count": 25000
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["weaver10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 5
|
|
if (this.input.countOf(2) >= requieredCount) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.currentwork = 0
|
|
this.input.take(2, requieredCount, this.factory)
|
|
var item = new Item(9, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else if (this.input.countOf(9) >= 1 && this.input.countOf(7) >= 1) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.currentwork = 0
|
|
this.input.take(9, 1, this.factory)
|
|
this.input.take(7, 1, this.factory)
|
|
var item = new Item(10, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class Papermanufactory extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 48 * 10
|
|
this.currentwork = 0
|
|
this.name = "papermanufactory"
|
|
this.i = 11
|
|
this.cost = [{
|
|
"id": 2,
|
|
"count": 200
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 500
|
|
},
|
|
{
|
|
"id": 0,
|
|
"count": 10000
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["papermanufactory10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 5
|
|
if (this.input.countOf(9) >= 10 && this.input.countOf(5) >= 100) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(9, 10, this.factory)
|
|
this.input.take(5, 100, this.factory)
|
|
this.currentwork = 0
|
|
for (var i = 0; i < 10; i++) {
|
|
var item = new Item(7, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class Charcoalmeiler extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 10
|
|
this.currentwork = 0
|
|
this.name = "charcoalmeiler"
|
|
this.i = 3
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 1000
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 30
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["charcoalmeiler10", "charcoalmeiler10", "charcoalmeiler10", "charcoalmeiler11", "charcoalmeiler11", "charcoalmeiler11", "charcoalmeiler12", "charcoalmeiler12", "charcoalmeiler12", "charcoalmeiler13", "charcoalmeiler13", "charcoalmeiler13", "charcoalmeiler14", "charcoalmeiler14", "charcoalmeiler14", "charcoalmeiler15", "charcoalmeiler15", "charcoalmeiler15", "charcoalmeiler16", "charcoalmeiler16", "charcoalmeiler16", "charcoalmeiler17", "charcoalmeiler17", "charcoalmeiler17", "charcoalmeiler18", "charcoalmeiler18", "charcoalmeiler18", "charcoalmeiler19", "charcoalmeiler19", "charcoalmeiler19", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler110", "charcoalmeiler111", "charcoalmeiler112", "charcoalmeiler112", "charcoalmeiler112", "charcoalmeiler112", "charcoalmeiler112", "charcoalmeiler113", "charcoalmeiler113", "charcoalmeiler113", "charcoalmeiler113", "charcoalmeiler113", "charcoalmeiler114", "charcoalmeiler114", "charcoalmeiler114", "charcoalmeiler114", "charcoalmeiler114"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 4)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 10
|
|
if (this.input.countOf(2) >= requieredCount) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(2, requieredCount, this.factory)
|
|
for (var i = 0; i < 5; i++) {
|
|
var item = new Item(4, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class AdvancedCharcoalmeiler extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 10
|
|
this.currentwork = 0
|
|
this.name = "advancedcharcoalmeiler"
|
|
this.i = 12
|
|
this.dust = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 50000
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 1000
|
|
},
|
|
{
|
|
"id": 10,
|
|
"count": 200
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["advancedcharcoalmeiler10", "advancedcharcoalmeiler10", "advancedcharcoalmeiler10", "advancedcharcoalmeiler11", "advancedcharcoalmeiler11", "advancedcharcoalmeiler11", "advancedcharcoalmeiler12", "advancedcharcoalmeiler12", "advancedcharcoalmeiler12", "advancedcharcoalmeiler13", "advancedcharcoalmeiler13", "advancedcharcoalmeiler13", "advancedcharcoalmeiler14", "advancedcharcoalmeiler14", "advancedcharcoalmeiler14", "advancedcharcoalmeiler15", "advancedcharcoalmeiler15", "advancedcharcoalmeiler15", "advancedcharcoalmeiler16", "advancedcharcoalmeiler16", "advancedcharcoalmeiler16", "advancedcharcoalmeiler17", "advancedcharcoalmeiler17", "advancedcharcoalmeiler17", "advancedcharcoalmeiler18", "advancedcharcoalmeiler18", "advancedcharcoalmeiler18", "advancedcharcoalmeiler19", "advancedcharcoalmeiler19", "advancedcharcoalmeiler19", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler110", "advancedcharcoalmeiler111", "advancedcharcoalmeiler112", "advancedcharcoalmeiler112", "advancedcharcoalmeiler112", "advancedcharcoalmeiler112", "advancedcharcoalmeiler112", "advancedcharcoalmeiler113", "advancedcharcoalmeiler113", "advancedcharcoalmeiler113", "advancedcharcoalmeiler113", "advancedcharcoalmeiler113", "advancedcharcoalmeiler114", "advancedcharcoalmeiler114", "advancedcharcoalmeiler114", "advancedcharcoalmeiler114", "advancedcharcoalmeiler114"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 4)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 10
|
|
if (this.input.countOf(2) >= requieredCount) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(2, requieredCount, this.factory)
|
|
for (var i = 0; i < 5; i++) {
|
|
var item = new Item(4, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
this.dust++
|
|
if (this.dust == 4) {
|
|
var item = new Item(6, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
this.dust = 0
|
|
}
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class Briquettepress extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96
|
|
this.currentwork = 0
|
|
this.name = "briquettepress"
|
|
this.i = 13
|
|
this.dust = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 100000
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["briquettepress10", "briquettepress11", "briquettepress12", "briquettepress13", "briquettepress14", "briquettepress15", "briquettepress16", "briquettepress17", "briquettepress18", "briquettepress17", "briquettepress16", "briquettepress15", "briquettepress14", "briquettepress13", "briquettepress12", "briquettepress11", "briquettepress10", "briquettepress10", "briquettepress10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 4)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
var requieredCount = 5
|
|
if (this.input.countOf(6) >= requieredCount) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(6, requieredCount, this.factory)
|
|
var item = new Item(12, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
class Cokery extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 10
|
|
this.currentwork = 0
|
|
this.name = "cokery"
|
|
this.i = 14
|
|
this.dust = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 60000
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 1400
|
|
},
|
|
{
|
|
"id": 6,
|
|
"count": 20
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["cokery10", "cokery11", "cokery12", "cokery13"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 6)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
work() {
|
|
//Items für ein Pank
|
|
if (this.input.countOf(4) >= 15 && this.input.countOf(12) >= 2) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(12, 2, this.factory)
|
|
this.input.take(4, 15, this.factory)
|
|
for (var i = 0; i < 15; i++) {
|
|
var item = new Item(11, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else if (this.input.countOf(4) >= 15 && this.input.countOf(11) >= 2) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.input.take(11, 2, this.factory)
|
|
this.input.take(4, 15, this.factory)
|
|
for (var i = 0; i < 15; i++) {
|
|
var item = new Item(11, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
this.currentwork = 0
|
|
} else {
|
|
this.currentwork++
|
|
}
|
|
} else {
|
|
this.currentwork = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
class BlastfurnaceLower extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 10
|
|
this.currentwork = 0
|
|
this.name = "blastfurnacelower"
|
|
this.i = 16
|
|
this.dust = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 60000
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 1400
|
|
},
|
|
{
|
|
"id": 6,
|
|
"count": 20
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["blastfurnacelower10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 6)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
isUpperPartAttached() {
|
|
switch (this.direction) {
|
|
case "up":
|
|
if (this.factory.tiles[this.x - 1][this.y] != undefined && this.factory.tiles[this.x - 1][this.y] != 0)
|
|
if (this.factory.tiles[this.x - 1][this.y].i == 17)
|
|
return true;
|
|
break;
|
|
case "right":
|
|
if (this.factory.tiles[this.x][this.y - 1] != undefined && this.factory.tiles[this.x][this.y - 1] != 0)
|
|
if (this.factory.tiles[this.x][this.y - 1].i == 17)
|
|
return true;
|
|
break;
|
|
case "down":
|
|
if (this.factory.tiles[this.x + 1][this.y] != undefined && this.factory.tiles[this.x + 1][this.y] != 0)
|
|
if (this.factory.tiles[this.x + 1][this.y].i = 17)
|
|
return true;
|
|
break;
|
|
case "left":
|
|
if (this.factory.tiles[this.x][this.y + 1] != undefined && this.factory.tiles[this.x][this.y + 1] != 0)
|
|
if (this.factory.tiles[this.x][this.y + 1].i == 17)
|
|
return true;
|
|
break;
|
|
default:
|
|
|
|
}
|
|
}
|
|
|
|
work() {
|
|
|
|
if (this.isUpperPartAttached()) {
|
|
if (this.input.countOf(16) >= 40 && this.input.countOf(11) >= 10) {
|
|
if (this.currentwork == this.maxwork) {
|
|
this.currentwork = 0
|
|
this.input.take(16, 40, this.factory)
|
|
this.input.take(11, 10, this.factory)
|
|
for (var i = 0; i < 15; i++) {
|
|
var item = new Item(11, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
} else
|
|
this.currentwork++
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
class BlastfurnaceUpper extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 10
|
|
this.currentwork = 0
|
|
this.name = "blastfurnaceupper"
|
|
this.i = 17
|
|
this.dust = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 60000
|
|
},
|
|
{
|
|
"id": 3,
|
|
"count": 1400
|
|
},
|
|
{
|
|
"id": 6,
|
|
"count": 20
|
|
}
|
|
]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["blastfurnaceupper10", "blastfurnaceupper11", "blastfurnaceupper12", "blastfurnaceupper13", "blastfurnaceupper14", "blastfurnaceupper15", "blastfurnaceupper16"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 6)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
|
|
work() {}
|
|
}
|
|
|
|
class Quarry extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 96 * 3
|
|
this.i = 4
|
|
this.currentwork = 0
|
|
this.name = "quarry"
|
|
this.hasNoInventory = true
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 5000
|
|
}, {
|
|
"id": 2,
|
|
"count": 50
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["quarry10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
this.currentwork = ((this.currentwork + 1) % this.maxwork)
|
|
if (this.currentwork == 0) {
|
|
var item = new Item(3, this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
}
|
|
}
|
|
|
|
class MineralWasher extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.maxwork = 48 * 45
|
|
this.i = 15
|
|
this.currentwork = 0
|
|
this.name = "mineralwasher"
|
|
this.hasNoInventory = true
|
|
this.lastore = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 50000
|
|
}, {
|
|
"id": 9,
|
|
"count": 500
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["mineralwasher10", "mineralwasher11", "mineralwasher12", "mineralwasher11"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
this.currentwork = ((this.currentwork + 1) % this.maxwork)
|
|
if (this.currentwork == 0) {
|
|
var goodores = [];
|
|
for (var i = 0; i < 4; i++) {
|
|
if (minerals[minerals.nameFromId[this.factory.ores[i]]].depth <= 1) {
|
|
if (minerals[minerals.nameFromId[this.factory.ores[i]]].oreid != undefined) {
|
|
goodores.push(minerals[minerals.nameFromId[this.factory.ores[i]]].oreid)
|
|
}
|
|
}
|
|
}
|
|
if (goodores.length >= 1) {
|
|
this.lastore = ((this.lastore + 1) % goodores.length)
|
|
var item = new Item(goodores[this.lastore], this.x * 48, this.y * 48)
|
|
this.factory.items.push(item)
|
|
item.setDFromDirection(this.direction)
|
|
}
|
|
}
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 6)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
}
|
|
|
|
class Collector extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "collector"
|
|
this.hasNoInventory = true
|
|
this.i = 5
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 50
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["collector13", "collector10", "collector11", "collector12", "collector13", "collector13", "collector13"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
while (this.input.items.length > 0) {
|
|
var item = this.input.items.pop()
|
|
inventory.addItem(item)
|
|
this.factory.deleteItem(item)
|
|
}
|
|
}
|
|
|
|
getImage(fulltime, layer) {
|
|
fulltime = Math.round(fulltime / 6)
|
|
if (this.images[layer].length == 0)
|
|
return "0"
|
|
return this.images[layer][(fulltime % this.images[layer].length)]
|
|
}
|
|
}
|
|
|
|
class Spliter extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "spliter"
|
|
this.hasNoInventory = true
|
|
this.i = 6
|
|
this.odd = true
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 200
|
|
}]
|
|
this.texture = {
|
|
"0": ["conveyorbelt00", "conveyorbelt01", "conveyorbelt02", "conveyorbelt03", "conveyorbelt04", "conveyorbelt05", "conveyorbelt06"],
|
|
"1": ["spliter10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
while (this.input.items.length > 0) {
|
|
var item = this.input.items.pop()
|
|
var d = "right"
|
|
if (this.odd) {
|
|
switch (this.direction) {
|
|
case "right":
|
|
d = "down"
|
|
break;
|
|
case "down":
|
|
d = "left"
|
|
break;
|
|
case "left":
|
|
d = "up"
|
|
break;
|
|
case "up":
|
|
d = "right"
|
|
break;
|
|
}
|
|
} else {
|
|
switch (this.direction) {
|
|
case "right":
|
|
d = "up"
|
|
break;
|
|
case "down":
|
|
d = "right"
|
|
break;
|
|
case "left":
|
|
d = "down"
|
|
break;
|
|
case "up":
|
|
d = "left"
|
|
break;
|
|
}
|
|
}
|
|
item.setDFromDirection(d)
|
|
this.odd = !this.odd
|
|
}
|
|
}
|
|
}
|
|
|
|
class FilterRight extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "filterright"
|
|
this.hasNoInventory = true
|
|
this.i = 9
|
|
this.filter = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 50000
|
|
}, {
|
|
"id": 2,
|
|
"count": 200
|
|
}]
|
|
this.options = [{
|
|
"type": "item",
|
|
"var": "filter"
|
|
}]
|
|
this.texture = {
|
|
"0": ["conveyorbelt00", "conveyorbelt01", "conveyorbelt02", "conveyorbelt03", "conveyorbelt04", "conveyorbelt05", "conveyorbelt06"],
|
|
"1": ["filterright10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
while (this.input.items.length > 0) {
|
|
var item = this.input.items.pop()
|
|
var d = this.direction
|
|
if (item.id == this.filter)
|
|
switch (this.direction) {
|
|
case "right":
|
|
d = "down"
|
|
break;
|
|
case "down":
|
|
d = "left"
|
|
break;
|
|
case "left":
|
|
d = "up"
|
|
break;
|
|
case "up":
|
|
d = "right"
|
|
break;
|
|
}
|
|
item.setDFromDirection(d)
|
|
}
|
|
}
|
|
}
|
|
|
|
class FilterLeft extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "filterleft"
|
|
this.hasNoInventory = true
|
|
this.i = 8
|
|
this.filter = 0
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 50000
|
|
}, {
|
|
"id": 2,
|
|
"count": 200
|
|
}]
|
|
this.options = [{
|
|
"type": "item",
|
|
"var": "filter"
|
|
}]
|
|
this.texture = {
|
|
"0": ["conveyorbelt00", "conveyorbelt01", "conveyorbelt02", "conveyorbelt03", "conveyorbelt04", "conveyorbelt05", "conveyorbelt06"],
|
|
"1": ["filterleft10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
while (this.input.items.length > 0) {
|
|
var item = this.input.items.pop()
|
|
var d = this.direction
|
|
if (item.id == this.filter)
|
|
switch (this.direction) {
|
|
case "right":
|
|
d = "up"
|
|
break;
|
|
case "down":
|
|
d = "right"
|
|
break;
|
|
case "left":
|
|
d = "down"
|
|
break;
|
|
case "up":
|
|
d = "left"
|
|
break;
|
|
}
|
|
item.setDFromDirection(d)
|
|
}
|
|
}
|
|
}
|
|
|
|
class Warehouse extends Tile {
|
|
constructor(x, y, factory) {
|
|
super(x, y, factory)
|
|
this.name = "warehouse"
|
|
this.hasNoInventory = true
|
|
this.maxwork = 48 * 10
|
|
this.sellPower = 500
|
|
this.i = 7
|
|
this.cost = [{
|
|
"id": 0,
|
|
"count": 20000
|
|
}]
|
|
this.pivot = 0
|
|
this.toSell = 0
|
|
this.options = [{
|
|
"type": "item",
|
|
"var": "toSell"
|
|
}, {
|
|
"type": "amount",
|
|
"var": "pivot"
|
|
}]
|
|
this.texture = {
|
|
"0": [],
|
|
"1": ["warehouse10"]
|
|
}
|
|
this.loadImages()
|
|
}
|
|
|
|
work() {
|
|
if (this.toSell != 0) {
|
|
this.currentwork = ((this.currentwork + 1) % this.maxwork)
|
|
if (this.currentwork == 0) {
|
|
var sellAmount = inventory.countOf(this.toSell) - this.pivot
|
|
if (sellAmount > 0) {
|
|
sellAmount = Math.min(sellAmount, this.sellPower)
|
|
if (inventory.take(this.toSell, sellAmount))
|
|
money += items[this.toSell].value * sellAmount
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
tileClasses.push(Conveyorbelt) //0
|
|
tileClasses.push(Treefarm) //1
|
|
tileClasses.push(Saw) //2
|
|
tileClasses.push(Charcoalmeiler) //3
|
|
tileClasses.push(Quarry) //4
|
|
tileClasses.push(Collector) //5
|
|
tileClasses.push(Spliter) //6
|
|
tileClasses.push(Warehouse) //7
|
|
tileClasses.push(FilterLeft) //8
|
|
tileClasses.push(FilterRight) //9
|
|
tileClasses.push(Weaver) //10
|
|
tileClasses.push(Papermanufactory) //11
|
|
tileClasses.push(AdvancedCharcoalmeiler) //12
|
|
tileClasses.push(Briquettepress) //13
|
|
tileClasses.push(Cokery) //14
|
|
tileClasses.push(MineralWasher) //15
|
|
tileClasses.push(BlastfurnaceLower) //16
|
|
tileClasses.push(BlastfurnaceUpper) //17
|