Start refactoring leader and rank

This commit is contained in:
calzoneman 2013-11-08 22:12:17 -06:00
parent 7fc50db879
commit 30c5f67d4d
3 changed files with 68 additions and 17 deletions

View file

@ -1004,13 +1004,15 @@ Channel.prototype.sendUserlist = function(user) {
users.push({
name: this.users[i].name,
rank: this.users[i].rank,
leader: this.users[i] == this.leader,
meta: this.users[i].meta,
profile: this.users[i].profile
});
}
}
user.socket.emit("userlist", users);
if (this.leader !== null) {
user.socket.emit("setLeader", this.leader.name);
}
}
// Send the last 15 messages for context
@ -1101,7 +1103,6 @@ Channel.prototype.broadcastNewUser = function(user) {
self.sendAll("addUser", {
name: user.name,
rank: user.rank,
leader: self.leader == user,
meta: user.meta,
profile: user.profile
});
@ -1130,7 +1131,6 @@ Channel.prototype.broadcastUserUpdate = function(user) {
this.sendAll("updateUser", {
name: user.name,
rank: user.rank,
leader: this.leader == user,
meta: user.meta,
profile: user.profile
});
@ -2354,15 +2354,20 @@ Channel.prototype.changeLeader = function(name) {
if(old.rank == 1.5) {
old.rank = old.oldrank;
}
this.broadcastUserUpdate(old);
this.sendAll("setUserRank", {
name: name,
rank: old.rank
});
}
if(name == "") {
this.sendAll("setLeader", "");
this.logger.log("*** Resuming autolead");
this.playlist.lead(true);
return;
}
for(var i = 0; i < this.users.length; i++) {
if(this.users[i].name == name) {
this.sendAll("setLeader", name);
this.logger.log("*** Assigned leader: " + name);
this.playlist.lead(false);
this.leader = this.users[i];
@ -2370,7 +2375,10 @@ Channel.prototype.changeLeader = function(name) {
this.users[i].oldrank = this.users[i].rank;
this.users[i].rank = 1.5;
}
this.broadcastUserUpdate(this.leader);
this.sendAll("setUserRank", {
name: name,
rank: this.users[i].rank
});
}
}
}