70 lines
2.6 KiB
CoffeeScript
70 lines
2.6 KiB
CoffeeScript
|
|
# 0000000 0000000 00 00 00 00 0000000
|
|
# 000 000 000 000 000 000 000 000 000
|
|
# 000 0000 000000000 000000000 000000000 000000000
|
|
# 000 000 000 000 000 0 000 000 0 000 000 000
|
|
# 0000000 000 000 000 000 000 000 000 000
|
|
|
|
schemes = ['tron', 'candy', 'default', 'green', 'yellow', 'blue', 'red', 'metal', 'bronze', 'crazy']
|
|
|
|
module.exports =
|
|
name: "gamma"
|
|
design: 'Michael Abel'
|
|
scheme: "tron"
|
|
size: [10,10,10]
|
|
help: """
|
|
$scale(1.5)mission:
|
|
activate the exit!
|
|
|
|
shoot at the 4 switches to activate the exit
|
|
"""
|
|
player:
|
|
coordinates: [5,5,4]
|
|
orientation: XupY
|
|
exits: [
|
|
name: "exit"
|
|
active: 0
|
|
coordinates: [2,7,4]
|
|
]
|
|
create: ->
|
|
s = world.size
|
|
world.scheme_counter = 0
|
|
world.switch_counter = 0
|
|
{Switch} = require '../items'
|
|
schemesw = ->
|
|
world.scheme_counter = (world.scheme_counter+1) % schemes.length
|
|
world.applyScheme schemes[world.scheme_counter]
|
|
switched = (swtch) ->
|
|
world.switch_counter += swtch.active and 1 or -1
|
|
exit = world.getObjectWithName "exit"
|
|
exit.setActive world.switch_counter == 4
|
|
|
|
a = new Switch
|
|
b = new Switch
|
|
c = new Switch
|
|
d = new Switch
|
|
e = new Switch
|
|
|
|
a.getEventWithName("switched").addAction world.continuous schemesw
|
|
b.getEventWithName("switched").addAction world.continuous -> switched(b)
|
|
c.getEventWithName("switched").addAction world.continuous -> switched(c)
|
|
d.getEventWithName("switched").addAction world.continuous -> switched(d)
|
|
e.getEventWithName("switched").addAction world.continuous -> switched(e)
|
|
|
|
world.addObjectAtPos a, s.x-1,0,0
|
|
world.addObjectAtPos b, 0,0,0
|
|
world.addObjectAtPos c , s.x-3,4,4
|
|
world.addObjectAtPos d , 4,4,s.z-3
|
|
world.addObjectAtPos e , 4,s.y-3,6
|
|
|
|
world.addObjectAtPos 'Mutant', s.x/2,0,0
|
|
world.addObjectLine 'Wall', 0,0,1, s.x,0,1
|
|
world.addObjectLine 'Wall', 0,1,0, s.x,1,0
|
|
world.addObjectLine 'Wall', 0,2,2, s.x-3,2,2
|
|
world.addObjectLine 'Wall', 2,2,2, 2,2,s.z-3
|
|
world.addObjectLine 'Wall', 2,2,4, 2,s.y-3,4
|
|
world.addObjectLine 'Wall', 2,4,4, s.x-4,4,4
|
|
world.addObjectLine 'Wall', 4,4,4, 4,4,s.z-4
|
|
world.addObjectLine 'Wall', 4,4,6, 4,s.y-4,6
|
|
|
|
|