diff --git a/game/begin.coffee b/game/begin.coffee index 323815c..ff2b22c 100644 --- a/game/begin.coffee +++ b/game/begin.coffee @@ -37,10 +37,11 @@ $(document).ready(() -> salet.beginGame() ) -salet.initGame = () -> +salet.init = () -> names = "names".l() salet.character.name = names[salet.rnd.randomInt(names.length)] salet.character.id = salet.rnd.randn() + salet.character.color = 0 button.color = salet.rnd.randomInt(button.colors.length) ### @@ -69,6 +70,7 @@ button = unit "button", @color = @color + 1 if @color >= @colors.length @color = 0 + salet.character.color = @color salet.rooms["entry"].canChoose = true salet.view.clearContent() salet.here().entering(salet.currentRoom) @@ -80,7 +82,7 @@ room "instance", choices: "#instance" optionText: () -> "begin_game".l() exit: () -> - client.record.listen('presence.*', (match, isSubscribed, response) => + client.record.listen("presence.#{salet.character.color}.*", (match, isSubscribed, response) => if (isSubscribed) response.accept() else @@ -93,23 +95,18 @@ salet.rooms["instance"].take(button) croom = (name, options) -> options.enter = () -> if (salet.interactive) - status = client.record.getRecord('presence.'+@room) - status.set('presence.'+@room+'.'+salet.character.id, salet.character.name) - players = status.get() + color = salet.character.color.toString() + status = client.record.getRecord('presence.'+color) + status.set("players."+salet.character.id, salet.character.name) + players = status.get("players") if players.length > 1 salet.view.write("room_present".l()) names = [] - for player in players - if player == 'presence.'+@room+'.'+salet.character.id + for id, name of players + if name == salet.character.id continue - i = client.record.getRecord(player) - names.push(i) + names.push(name) salet.view.write(names.join(', ')) - options.exit = () -> - if (salet.interactive) - status = client.record.getRecord('presence') - status.delete('presence.'+@name+'.'+salet.character.id) - options.dsc = () -> "### #{@title()}\n" + @desc() return room(name,options)