mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-09-07 16:55:29 -05:00
Moderators can no longer alt check administrators' alts, and so on
This commit is contained in:
@@ -103,8 +103,15 @@ function parseCommandLocal(user, cmd, target, room, socket, message)
|
||||
}
|
||||
|
||||
var alts = targetUser.getAlts();
|
||||
var altGroup = targetUser.getAltGroup();
|
||||
|
||||
socket.emit('console', 'User: '+targetUser.name);
|
||||
|
||||
if (!user.canMod(altGroup))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
var output = '';
|
||||
for (var i in targetUser.prevNames)
|
||||
{
|
||||
@@ -116,7 +123,8 @@ function parseCommandLocal(user, cmd, target, room, socket, message)
|
||||
for (var j=0; j<alts.length; j++)
|
||||
{
|
||||
var targetAlt = getUser(alts[j]);
|
||||
if (!targetAlt || !user.canMod(targetAlt)) continue;
|
||||
if (!targetAlt || !user.canMod(targetAlt.group)) continue;
|
||||
if (!targetAlt.named && !targetAlt.connected) continue;
|
||||
|
||||
socket.emit('console', 'Alt: '+targetAlt.name);
|
||||
output = '';
|
||||
|
||||
17
users.js
17
users.js
@@ -490,6 +490,23 @@ function User(name, socket, token)
|
||||
}
|
||||
return alts;
|
||||
};
|
||||
this.getAltGroup = function() {
|
||||
var groupRanks = {'+': 1, '%': 2, '@': 3, '&': 100};
|
||||
var group = selfP.group;
|
||||
var groupRank = (groupRanks[group] || 0);
|
||||
for (var i in users)
|
||||
{
|
||||
if (users[i].ip === selfP.ip && users[i] !== selfP)
|
||||
{
|
||||
if ((groupRanks[users[i].group]||0) > groupRank)
|
||||
{
|
||||
group = users[i].group;
|
||||
groupRank = (groupRanks[group] || 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
return group;
|
||||
};
|
||||
this.ban = function(noRecurse) {
|
||||
bannedIps[selfP.ip] = selfP.userid;
|
||||
// no need to recurse, since the root for-loop already bans everything with your IP
|
||||
|
||||
Reference in New Issue
Block a user