65 lines
3.2 KiB
CoffeeScript
65 lines
3.2 KiB
CoffeeScript
|
|
# 00000000 000 00000000 0000000 000000000 00000000 0000000
|
|
# 000 000 000 000 000 000 000 000 000
|
|
# 0000000 000 0000000 000 000 0000000 000 000
|
|
# 000 000 000 000 000 000 000 000 000
|
|
# 00000000 0000000 00000000 0000000 000 000 000 0000000
|
|
|
|
module.exports =
|
|
name: "electro"
|
|
scheme: "metal"
|
|
size: [9,7,9]
|
|
help: """
|
|
$scale(1.5)mission:
|
|
activate the exit!
|
|
|
|
to activate the exit
|
|
feed it with electricity:
|
|
|
|
connect the generator
|
|
with the motor
|
|
"""
|
|
player:
|
|
coordinates: [2,0,4]
|
|
orientation: rotz180
|
|
nostatus: 0
|
|
exits: [
|
|
name: "exit"
|
|
active: 0
|
|
position: [0,0,0]
|
|
],
|
|
create: ->
|
|
s = world.size
|
|
d = 2
|
|
{Gear, Generator, MotorCylinder, MotorGear, Wire, Face} = require '../items'
|
|
world.addObjectLine('WireStone', world.decenter(-d, s.y/2, 0), world.decenter(-d, 0, 0))
|
|
world.addObjectLine('WireStone', world.decenter( d, s.y/2, 0), world.decenter( d, 0, 0))
|
|
world.addObjectLine('WireStone', world.decenter( d, 0, 0), world.decenter( 0, 0, 0))
|
|
world.addObjectLine('WireStone', world.decenter(-d, 0, 0), world.decenter( 0, 0, 0))
|
|
|
|
world.addObjectAtPos(new Gear(Face.Y), s.x/2-1, 0, s.z/2-1)
|
|
|
|
world.addObjectAtPos(new Generator(Face.Y), s.x/2+1, 0, s.z/2+1)
|
|
world.addObjectAtPos(new MotorCylinder(Face.Y), s.x/2, 1, s.z/2)
|
|
world.addObjectAtPos(new MotorGear(Face.Y), s.x/2, 0, s.z/2)
|
|
|
|
# floor wire square
|
|
world.addObjectLine('new Wire(Face.Y, 10)', s.x/2-d+1, 0, s.z/2-d, s.x/2+d, 0, s.z/2-d)
|
|
world.addObjectLine('new Wire(Face.Y, 10)', s.x/2-d+1, 0, s.z/2+d, s.x/2+d, 0, s.z/2+d)
|
|
world.addObjectLine('new Wire(Face.Y, 5)', s.x/2-d, 0, s.z/2-d+1, s.x/2-d, 0, s.z/2+d)
|
|
world.addObjectLine('new Wire(Face.Y, 5)', s.x/2+d, 0, s.z/2-d+1, s.x/2+d, 0, s.z/2+d)
|
|
# corners of wire square
|
|
world.addObjectAtPos(new Wire(Face.Y, 6), s.x/2-d, 0, s.z/2-d)
|
|
world.addObjectAtPos(new Wire(Face.Y, 3), s.x/2-d, 0, s.z/2+d)
|
|
world.addObjectAtPos(new Wire(Face.Y, 9), s.x/2+d, 0, s.z/2+d)
|
|
world.addObjectAtPos(new Wire(Face.Y, 12), s.x/2+d, 0, s.z/2-d)
|
|
|
|
world.addObjectLine('new Wire(Face.X, 5)', 0, 0, s.z/2, 0, s.y, s.z/2)
|
|
world.addObjectLine('new Wire(Face.NX, 5)', s.x-1, 0, s.z/2, s.x-1, s.y, s.z/2)
|
|
world.addObjectLine('new Wire(Face.NY, 10)', 0, s.y-1, s.z/2, s.x/2-d, s.y-1, s.z/2)
|
|
world.addObjectLine('new Wire(Face.NY, 10)', s.x-d, s.y-1, s.z/2, s.x, s.y-1, s.z/2)
|
|
world.addObjectLine('new Wire(Face.Y, 10)', 0, 0, s.z/2, s.x/2-d, 0, s.z/2)
|
|
world.addObjectLine('new Wire(Face.Y, 10)', s.x-d, 0, s.z/2, s.x, 0, s.z/2)
|
|
world.addObjectAtPos(new Wire(Face.Y, 13), s.x/2-d, 0, s.z/2)
|
|
world.addObjectAtPos(new Wire(Face.Y, 7), s.x/2+d, 0, s.z/2)
|
|
|