Fixes missing commands
This commit is contained in:
@@ -395,60 +395,6 @@ namespace Game.Chat
|
|||||||
[CommandGroup("set", RBACPermissions.CommandAccountSet, true)]
|
[CommandGroup("set", RBACPermissions.CommandAccountSet, true)]
|
||||||
class SetCommands
|
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)]
|
[Command("addon", RBACPermissions.CommandAccountSetAddon, true)]
|
||||||
static bool HandleAccountSetAddonCommand(StringArguments args, CommandHandler handler)
|
static bool HandleAccountSetAddonCommand(StringArguments args, CommandHandler handler)
|
||||||
{
|
{
|
||||||
@@ -512,6 +458,65 @@ namespace Game.Chat
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("gmlevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
[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)]
|
[Command("seclevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
||||||
static bool HandleAccountSetSecLevelCommand(StringArguments args, CommandHandler handler)
|
static bool HandleAccountSetSecLevelCommand(StringArguments args, CommandHandler handler)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -107,7 +107,36 @@ namespace Game.Chat
|
|||||||
[Command("despawngroup", RBACPermissions.CommandGobjectDespawngroup)]
|
[Command("despawngroup", RBACPermissions.CommandGobjectDespawngroup)]
|
||||||
static bool HandleGameObjectDespawnGroup(StringArguments args, CommandHandler handler)
|
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)]
|
[Command("info", RBACPermissions.CommandGobjectInfo)]
|
||||||
@@ -311,7 +340,44 @@ namespace Game.Chat
|
|||||||
[Command("spawngroup", RBACPermissions.CommandGobjectSpawngroup)]
|
[Command("spawngroup", RBACPermissions.CommandGobjectSpawngroup)]
|
||||||
static bool HandleGameObjectSpawnGroup(StringArguments args, CommandHandler handler)
|
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)]
|
[Command("target", RBACPermissions.CommandGobjectTarget)]
|
||||||
@@ -495,8 +561,6 @@ namespace Game.Chat
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[CommandGroup("add", RBACPermissions.CommandGobjectAdd)]
|
[CommandGroup("add", RBACPermissions.CommandGobjectAdd)]
|
||||||
class AddCommands
|
class AddCommands
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace Game.Chat
|
|||||||
class NPCCommands
|
class NPCCommands
|
||||||
{
|
{
|
||||||
[Command("despawngroup", RBACPermissions.CommandNpcDespawngroup)]
|
[Command("despawngroup", RBACPermissions.CommandNpcDespawngroup)]
|
||||||
public static bool HandleNpcDespawnGroup(StringArguments args, CommandHandler handler)
|
static bool HandleNpcDespawnGroup(StringArguments args, CommandHandler handler)
|
||||||
{
|
{
|
||||||
if (args.Empty())
|
if (args.Empty())
|
||||||
return false;
|
return false;
|
||||||
@@ -418,7 +418,7 @@ namespace Game.Chat
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Command("spawngroup", RBACPermissions.CommandNpcSpawngroup)]
|
[Command("spawngroup", RBACPermissions.CommandNpcSpawngroup)]
|
||||||
public static bool HandleNpcSpawnGroup(StringArguments args, CommandHandler handler)
|
static bool HandleNpcSpawnGroup(StringArguments args, CommandHandler handler)
|
||||||
{
|
{
|
||||||
if (args.Empty())
|
if (args.Empty())
|
||||||
return false;
|
return false;
|
||||||
@@ -1468,8 +1468,6 @@ namespace Game.Chat
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user