Fixes missing commands
This commit is contained in:
@@ -395,60 +395,6 @@ namespace Game.Chat
|
||||
[CommandGroup("set", RBACPermissions.CommandAccountSet, true)]
|
||||
class SetCommands
|
||||
{
|
||||
[Command("password", RBACPermissions.CommandAccountSetPassword, true)]
|
||||
static bool HandleAccountSetPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get the command line arguments
|
||||
string accountName = args.NextString();
|
||||
string password = args.NextString();
|
||||
string passwordConfirmation = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(accountName) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(passwordConfirmation))
|
||||
return false;
|
||||
|
||||
uint targetAccountId = Global.AccountMgr.GetId(accountName);
|
||||
if (targetAccountId == 0)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.AccountNotExist, accountName);
|
||||
return false;
|
||||
}
|
||||
|
||||
// can set password only for target with less security
|
||||
// This also restricts setting handler's own password
|
||||
if (handler.HasLowerSecurityAccount(null, targetAccountId, true))
|
||||
return false;
|
||||
|
||||
if (!password.Equals(passwordConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewPasswordsNotMatch);
|
||||
return false;
|
||||
}
|
||||
|
||||
AccountOpResult result = Global.AccountMgr.ChangePassword(targetAccountId, password);
|
||||
switch (result)
|
||||
{
|
||||
case AccountOpResult.Ok:
|
||||
handler.SendSysMessage(CypherStrings.CommandPassword);
|
||||
break;
|
||||
case AccountOpResult.NameNotExist:
|
||||
handler.SendSysMessage(CypherStrings.AccountNotExist, accountName);
|
||||
return false;
|
||||
case AccountOpResult.PassTooLong:
|
||||
handler.SendSysMessage(CypherStrings.PasswordTooLong);
|
||||
return false;
|
||||
default:
|
||||
handler.SendSysMessage(CypherStrings.CommandNotchangepassword);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("addon", RBACPermissions.CommandAccountSetAddon, true)]
|
||||
static bool HandleAccountSetAddonCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
@@ -512,6 +458,65 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gmlevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
||||
static bool HandleAccountSetGmLevelCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
return HandleAccountSetSecLevelCommand(args, handler);
|
||||
}
|
||||
|
||||
[Command("password", RBACPermissions.CommandAccountSetPassword, true)]
|
||||
static bool HandleAccountSetPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get the command line arguments
|
||||
string accountName = args.NextString();
|
||||
string password = args.NextString();
|
||||
string passwordConfirmation = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(accountName) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(passwordConfirmation))
|
||||
return false;
|
||||
|
||||
uint targetAccountId = Global.AccountMgr.GetId(accountName);
|
||||
if (targetAccountId == 0)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.AccountNotExist, accountName);
|
||||
return false;
|
||||
}
|
||||
|
||||
// can set password only for target with less security
|
||||
// This also restricts setting handler's own password
|
||||
if (handler.HasLowerSecurityAccount(null, targetAccountId, true))
|
||||
return false;
|
||||
|
||||
if (!password.Equals(passwordConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewPasswordsNotMatch);
|
||||
return false;
|
||||
}
|
||||
|
||||
AccountOpResult result = Global.AccountMgr.ChangePassword(targetAccountId, password);
|
||||
switch (result)
|
||||
{
|
||||
case AccountOpResult.Ok:
|
||||
handler.SendSysMessage(CypherStrings.CommandPassword);
|
||||
break;
|
||||
case AccountOpResult.NameNotExist:
|
||||
handler.SendSysMessage(CypherStrings.AccountNotExist, accountName);
|
||||
return false;
|
||||
case AccountOpResult.PassTooLong:
|
||||
handler.SendSysMessage(CypherStrings.PasswordTooLong);
|
||||
return false;
|
||||
default:
|
||||
handler.SendSysMessage(CypherStrings.CommandNotchangepassword);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("seclevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
||||
static bool HandleAccountSetSecLevelCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
|
||||
@@ -107,7 +107,36 @@ namespace Game.Chat
|
||||
[Command("despawngroup", RBACPermissions.CommandGobjectDespawngroup)]
|
||||
static bool HandleGameObjectDespawnGroup(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
return NPCCommands.HandleNpcDespawnGroup(args, handler);
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
bool deleteRespawnTimes = false;
|
||||
uint groupId = 0;
|
||||
|
||||
// Decode arguments
|
||||
string arg = args.NextString();
|
||||
while (!arg.IsEmpty())
|
||||
{
|
||||
string thisArg = arg.ToLower();
|
||||
if (thisArg == "removerespawntime")
|
||||
deleteRespawnTimes = true;
|
||||
else if (thisArg.IsEmpty() || !thisArg.IsNumber())
|
||||
return false;
|
||||
else
|
||||
groupId = uint.Parse(thisArg);
|
||||
|
||||
arg = args.NextString();
|
||||
}
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (!player.GetMap().SpawnGroupDespawn(groupId, deleteRespawnTimes))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.SpawngroupBadgroup, groupId);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandGobjectInfo)]
|
||||
@@ -311,7 +340,44 @@ namespace Game.Chat
|
||||
[Command("spawngroup", RBACPermissions.CommandGobjectSpawngroup)]
|
||||
static bool HandleGameObjectSpawnGroup(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
return NPCCommands.HandleNpcSpawnGroup(args, handler);
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
bool ignoreRespawn = false;
|
||||
bool force = false;
|
||||
uint groupId = 0;
|
||||
|
||||
// Decode arguments
|
||||
string arg = args.NextString();
|
||||
while (!arg.IsEmpty())
|
||||
{
|
||||
string thisArg = arg.ToLower();
|
||||
if (thisArg == "ignorerespawn")
|
||||
ignoreRespawn = true;
|
||||
else if (thisArg == "force")
|
||||
force = true;
|
||||
else if (thisArg.IsEmpty() || !thisArg.IsNumber())
|
||||
return false;
|
||||
else
|
||||
groupId = uint.Parse(thisArg);
|
||||
|
||||
arg = args.NextString();
|
||||
}
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
List<WorldObject> creatureList = new List<WorldObject>();
|
||||
if (!player.GetMap().SpawnGroupSpawn(groupId, ignoreRespawn, force, creatureList))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.SpawngroupBadgroup, groupId);
|
||||
return false;
|
||||
}
|
||||
|
||||
handler.SendSysMessage(CypherStrings.SpawngroupSpawncount, creatureList.Count);
|
||||
foreach (WorldObject obj in creatureList)
|
||||
handler.SendSysMessage($"{obj.GetName()} ({obj.GetGUID()})");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("target", RBACPermissions.CommandGobjectTarget)]
|
||||
@@ -495,8 +561,6 @@ namespace Game.Chat
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
[CommandGroup("add", RBACPermissions.CommandGobjectAdd)]
|
||||
class AddCommands
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Game.Chat
|
||||
class NPCCommands
|
||||
{
|
||||
[Command("despawngroup", RBACPermissions.CommandNpcDespawngroup)]
|
||||
public static bool HandleNpcDespawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcDespawnGroup(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -418,7 +418,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spawngroup", RBACPermissions.CommandNpcSpawngroup)]
|
||||
public static bool HandleNpcSpawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSpawnGroup(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1468,8 +1468,6 @@ namespace Game.Chat
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user