Ok really add the new command stuff.
This commit is contained in:
@@ -29,6 +29,13 @@ namespace Framework.IO
|
||||
activeposition = -1;
|
||||
}
|
||||
|
||||
public StringArguments(StringArguments args)
|
||||
{
|
||||
activestring = args.activestring;
|
||||
activeposition = args.activeposition;
|
||||
Current = args.Current;
|
||||
}
|
||||
|
||||
public bool Empty()
|
||||
{
|
||||
return activestring.IsEmpty();
|
||||
@@ -227,6 +234,21 @@ namespace Framework.IO
|
||||
Current = null;
|
||||
}
|
||||
|
||||
public bool IsAtEnd()
|
||||
{
|
||||
return activeposition == activestring.Length;
|
||||
}
|
||||
|
||||
public int GetCurrentPosition()
|
||||
{
|
||||
return activeposition;
|
||||
}
|
||||
|
||||
public void SetCurrentPosition(int currentPosition)
|
||||
{
|
||||
activeposition = currentPosition;
|
||||
}
|
||||
|
||||
bool MoveNext(string delimiters)
|
||||
{
|
||||
//the stringtotokenize was never set:
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Framework.Constants;
|
||||
using Framework.IO;
|
||||
using Game.DataStorage;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
class CommandArgs
|
||||
{
|
||||
public static object[] Parse(Type[] parameterTypes, StringArguments args)
|
||||
{
|
||||
List<object> arguments = new();
|
||||
//for each arg we need to see if its a:
|
||||
//1: hyperlink
|
||||
//2: Optional arg
|
||||
//3: reg arg.
|
||||
int index = 1;
|
||||
while (index < parameterTypes.Length)
|
||||
{
|
||||
int oldPos = args.GetCurrentPosition();
|
||||
|
||||
//Is this a hyperlink?
|
||||
if (Hyperlink.TryConsume(out dynamic value, parameterTypes[index], args) || ParseArgument(out value, parameterTypes[index], args))
|
||||
index++;
|
||||
|
||||
if (args.IsAtEnd() && index < parameterTypes.Length)
|
||||
{
|
||||
//We found a optional arg and we dont have the correct amount of args
|
||||
args.SetCurrentPosition(oldPos);
|
||||
arguments.Add(default);
|
||||
}
|
||||
else
|
||||
arguments.Add(value);
|
||||
|
||||
}
|
||||
|
||||
return arguments.ToArray();
|
||||
}
|
||||
|
||||
public static bool ParseArgument(out dynamic value, Type type, StringArguments args)
|
||||
{
|
||||
value = default;
|
||||
|
||||
if (args.IsAtEnd())
|
||||
return false;
|
||||
|
||||
if (Hyperlink.TryConsume(out value, type, args))
|
||||
return value;
|
||||
|
||||
switch (Type.GetTypeCode(type))
|
||||
{
|
||||
case TypeCode.SByte:
|
||||
value = args.NextSByte();
|
||||
break;
|
||||
case TypeCode.Int16:
|
||||
value = args.NextInt16();
|
||||
break;
|
||||
case TypeCode.Int32:
|
||||
value = args.NextInt32();
|
||||
break;
|
||||
case TypeCode.Int64:
|
||||
value = args.NextInt64();
|
||||
break;
|
||||
case TypeCode.Byte:
|
||||
value = args.NextByte();
|
||||
break;
|
||||
case TypeCode.UInt16:
|
||||
value = args.NextUInt16();
|
||||
break;
|
||||
case TypeCode.UInt32:
|
||||
value = args.NextUInt32();
|
||||
break;
|
||||
case TypeCode.UInt64:
|
||||
value = args.NextUInt64();
|
||||
break;
|
||||
case TypeCode.Single:
|
||||
value = args.NextSingle();
|
||||
break;
|
||||
case TypeCode.String:
|
||||
value = args.NextString();
|
||||
break;
|
||||
case TypeCode.Boolean:
|
||||
value = args.NextBoolean();
|
||||
break;
|
||||
case TypeCode.Char:
|
||||
value = args.NextChar();
|
||||
break;
|
||||
case TypeCode.Object:
|
||||
if (type.IsGenericType)
|
||||
type = type.GenericTypeArguments[0].UnderlyingSystemType;
|
||||
|
||||
switch (type.Name)
|
||||
{
|
||||
case nameof(AchievementRecord):
|
||||
value = CliDB.AchievementStorage.LookupByKey(args.NextUInt32());
|
||||
break;
|
||||
case nameof(CurrencyTypesRecord):
|
||||
value = CliDB.CurrencyTypesStorage.LookupByKey(args.NextUInt32());
|
||||
break;
|
||||
case nameof(GameTele):
|
||||
value = Global.ObjectMgr.GetGameTele(args.NextString());
|
||||
break;
|
||||
case nameof(SpellInfo):
|
||||
value = Global.SpellMgr.GetSpellInfo(args.NextUInt32(), Difficulty.None);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,9 +78,6 @@ namespace Game.Chat
|
||||
|
||||
foreach (var command in table)
|
||||
{
|
||||
//if (!command.Name.Equals(cmd))
|
||||
//continue;
|
||||
|
||||
if (!HasStringAbbr(command.Name, cmd))
|
||||
continue;
|
||||
|
||||
@@ -122,11 +119,11 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
// must be available and have handler
|
||||
if (command.Handler == null || !IsAvailable(command))
|
||||
if (!command.HasHandler() || !IsAvailable(command))
|
||||
continue;
|
||||
|
||||
_sentErrorMessage = false;
|
||||
if (command.Handler(new StringArguments(!command.Name.IsEmpty() ? args.NextString("") : text), this))
|
||||
if (command.Invoke(this, new StringArguments(!command.Name.IsEmpty() ? args.NextString("") : text)))
|
||||
{
|
||||
if (GetSession() == null) // ignore console
|
||||
return true;
|
||||
|
||||
@@ -30,45 +30,70 @@ namespace Game.Chat
|
||||
{
|
||||
static CommandManager()
|
||||
{
|
||||
try
|
||||
foreach (var type in Assembly.GetExecutingAssembly().GetTypes())
|
||||
{
|
||||
foreach (var type in Assembly.GetExecutingAssembly().GetTypes())
|
||||
if (type.Attributes.HasAnyFlag(TypeAttributes.NestedPrivate | TypeAttributes.NestedPublic))
|
||||
continue;
|
||||
|
||||
var groupAttribute = type.GetCustomAttribute<CommandGroupAttribute>(true);
|
||||
if (groupAttribute != null)
|
||||
{
|
||||
ChatCommand command = new(groupAttribute);
|
||||
BuildChildCommandsForCommand(command, type);
|
||||
_commands.Add(groupAttribute.Name, command);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (type.Attributes.HasAnyFlag(TypeAttributes.NestedPrivate))
|
||||
continue;
|
||||
|
||||
var groupAttribute = type.GetCustomAttribute<CommandGroupAttribute>(true);
|
||||
if (groupAttribute != null)
|
||||
{
|
||||
_commands.Add(groupAttribute.Name, new ChatCommand(type, groupAttribute));
|
||||
}
|
||||
|
||||
foreach (var method in type.GetMethods(BindingFlags.Static | BindingFlags.NonPublic))
|
||||
{
|
||||
var commandAttribute = method.GetCustomAttribute<CommandNonGroupAttribute>(true);
|
||||
if (commandAttribute != null)
|
||||
_commands.Add(commandAttribute.Name, new ChatCommand(commandAttribute, (HandleCommandDelegate)method.CreateDelegate(typeof(HandleCommandDelegate))));
|
||||
_commands.Add(commandAttribute.Name, new ChatCommand(commandAttribute, method));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PreparedStatement stmt = DB.World.GetPreparedStatement(WorldStatements.SEL_COMMANDS);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
if (!result.IsEmpty())
|
||||
{
|
||||
do
|
||||
{
|
||||
string name = result.Read<string>(0);
|
||||
SetDataForCommandInTable(GetCommands(), name, result.Read<uint>(1), result.Read<string>(2), name);
|
||||
}
|
||||
while (result.NextRow());
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
PreparedStatement stmt = DB.World.GetPreparedStatement(WorldStatements.SEL_COMMANDS);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
if (!result.IsEmpty())
|
||||
{
|
||||
Log.outException(ex);
|
||||
do
|
||||
{
|
||||
string name = result.Read<string>(0);
|
||||
SetDataForCommandInTable(GetCommands(), name, result.Read<uint>(1), result.Read<string>(2), name);
|
||||
}
|
||||
while (result.NextRow());
|
||||
}
|
||||
}
|
||||
|
||||
static void BuildChildCommandsForCommand(ChatCommand command, Type type)
|
||||
{
|
||||
foreach (var nestedType in type.GetNestedTypes(BindingFlags.NonPublic))
|
||||
{
|
||||
var groupAttribute = nestedType.GetCustomAttribute<CommandGroupAttribute>(true);
|
||||
if (groupAttribute == null)
|
||||
continue;
|
||||
|
||||
ChatCommand childCommand = new(groupAttribute);
|
||||
BuildChildCommandsForCommand(childCommand, nestedType);
|
||||
command.AddChildCommand(childCommand);
|
||||
}
|
||||
|
||||
foreach (var method in type.GetMethods(BindingFlags.Static | BindingFlags.NonPublic))
|
||||
{
|
||||
CommandAttribute commandAttribute = method.GetCustomAttribute<CommandAttribute>(false);
|
||||
if (commandAttribute == null)
|
||||
continue;
|
||||
|
||||
if (commandAttribute.GetType() == typeof(CommandNonGroupAttribute))
|
||||
continue;
|
||||
|
||||
command.AddChildCommand(new ChatCommand(commandAttribute, method));
|
||||
}
|
||||
|
||||
command.SortChildCommands();
|
||||
}
|
||||
|
||||
static bool SetDataForCommandInTable(ICollection<ChatCommand> table, string text, uint permission, string help, string fullcommand)
|
||||
{
|
||||
StringArguments args = new(text);
|
||||
@@ -143,55 +168,60 @@ namespace Game.Chat
|
||||
static SortedDictionary<string, ChatCommand> _commands = new();
|
||||
}
|
||||
|
||||
public delegate bool HandleCommandDelegate(StringArguments args, CommandHandler handler);
|
||||
public delegate bool HandleCommandDelegate(CommandHandler handler, StringArguments args);
|
||||
|
||||
public class ChatCommand
|
||||
{
|
||||
public ChatCommand(CommandAttribute attribute, HandleCommandDelegate handler)
|
||||
{
|
||||
Name = attribute.Name;
|
||||
Permission = attribute.RBAC;
|
||||
AllowConsole = attribute.AllowConsole;
|
||||
Handler = handler;
|
||||
Help = attribute.Help;
|
||||
}
|
||||
|
||||
public ChatCommand(Type type, CommandAttribute attribute)
|
||||
{
|
||||
Name = attribute.Name;
|
||||
Permission = attribute.RBAC;
|
||||
AllowConsole = attribute.AllowConsole;
|
||||
Help = attribute.Help;
|
||||
|
||||
foreach (var method in type.GetMethods(BindingFlags.Static | BindingFlags.NonPublic))
|
||||
{
|
||||
CommandAttribute commandAttribute = method.GetCustomAttribute<CommandAttribute>(false);
|
||||
if (commandAttribute == null)
|
||||
continue;
|
||||
|
||||
if (commandAttribute.GetType() == typeof(CommandNonGroupAttribute))
|
||||
continue;
|
||||
|
||||
ChildCommands.Add(new ChatCommand(commandAttribute, (HandleCommandDelegate)method.CreateDelegate(typeof(HandleCommandDelegate))));
|
||||
}
|
||||
|
||||
foreach (var nestedType in type.GetNestedTypes(BindingFlags.NonPublic))
|
||||
{
|
||||
var groupAttribute = nestedType.GetCustomAttribute<CommandGroupAttribute>(true);
|
||||
if (groupAttribute == null)
|
||||
continue;
|
||||
|
||||
ChildCommands.Add(new ChatCommand(nestedType, groupAttribute));
|
||||
}
|
||||
|
||||
ChildCommands = ChildCommands.OrderBy(p => string.IsNullOrEmpty(p.Name)).ThenBy(p => p.Name).ToList();
|
||||
}
|
||||
|
||||
public string Name;
|
||||
public RBACPermissions Permission;
|
||||
public bool AllowConsole;
|
||||
public HandleCommandDelegate Handler;
|
||||
public string Help;
|
||||
public List<ChatCommand> ChildCommands = new();
|
||||
|
||||
MethodInfo _methodInfo;
|
||||
Type[] parameterTypes;
|
||||
|
||||
public ChatCommand(CommandAttribute attribute)
|
||||
{
|
||||
Name = attribute.Name;
|
||||
Permission = attribute.RBAC;
|
||||
AllowConsole = attribute.AllowConsole;
|
||||
Help = attribute.Help;
|
||||
}
|
||||
|
||||
public ChatCommand(CommandAttribute attribute, MethodInfo methodInfo) : this(attribute)
|
||||
{
|
||||
_methodInfo = methodInfo;
|
||||
parameterTypes = (from parameter in methodInfo.GetParameters() select parameter.ParameterType).ToArray();
|
||||
}
|
||||
|
||||
public void AddChildCommand(ChatCommand command)
|
||||
{
|
||||
ChildCommands.Add(command);
|
||||
}
|
||||
|
||||
public void SortChildCommands()
|
||||
{
|
||||
ChildCommands = ChildCommands.OrderBy(p => string.IsNullOrEmpty(p.Name)).ThenBy(p => p.Name).ToList();
|
||||
}
|
||||
|
||||
public bool Invoke(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (parameterTypes.Contains(typeof(StringArguments)))//Old system, can remove once all commands are changed.
|
||||
return (bool)_methodInfo.Invoke(null, new object[] { handler, args });
|
||||
else
|
||||
return (bool)_methodInfo.Invoke(null, new object[] { handler }.Combine(CommandArgs.Parse(parameterTypes, args)));
|
||||
|
||||
}
|
||||
|
||||
public bool HasHandler()
|
||||
{
|
||||
return _methodInfo != null;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"Name: {Name} Permission: {Permission} AllowConsole: {AllowConsole} ChildCommandCount: {ChildCommands.Count}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
|
||||
using Framework.Constants;
|
||||
using Framework.Database;
|
||||
using Framework.IO;
|
||||
using Game.Accounts;
|
||||
using Game.Entities;
|
||||
using System;
|
||||
|
||||
@@ -28,7 +26,7 @@ namespace Game.Chat
|
||||
class AccountCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandAccount)]
|
||||
static bool HandleAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountCommand(CommandHandler handler)
|
||||
{
|
||||
if (handler.GetSession() == null)
|
||||
return false;
|
||||
@@ -71,18 +69,9 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("addon", RBACPermissions.CommandAccountAddon)]
|
||||
static bool HandleAccountAddonCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountAddonCommand(CommandHandler handler, byte expansion)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint accountId = handler.GetSession().GetAccountId();
|
||||
|
||||
int expansion = args.NextInt32(); //get int anyway (0 if error)
|
||||
if (expansion < 0 || expansion > WorldConfig.GetIntValue(WorldCfg.Expansion))
|
||||
if (expansion > WorldConfig.GetIntValue(WorldCfg.Expansion))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.ImproperValue);
|
||||
return false;
|
||||
@@ -90,7 +79,7 @@ namespace Game.Chat
|
||||
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_EXPANSION);
|
||||
stmt.AddValue(0, expansion);
|
||||
stmt.AddValue(1, accountId);
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
DB.Login.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage(CypherStrings.AccountAddon, expansion);
|
||||
@@ -98,18 +87,8 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("create", RBACPermissions.CommandAccountCreate, true)]
|
||||
static bool HandleAccountCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountCreateCommand(CommandHandler handler, string accountName, string password, string email)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
var accountName = args.NextString().ToUpper();
|
||||
var password = args.NextString();
|
||||
string email = "";
|
||||
|
||||
if (string.IsNullOrEmpty(accountName) || string.IsNullOrEmpty(password))
|
||||
return false;
|
||||
|
||||
if (accountName.Contains("@"))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.AccountUseBnetCommands);
|
||||
@@ -150,16 +129,8 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandAccountDelete, true)]
|
||||
static bool HandleAccountDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountDeleteCommand(CommandHandler handler, string accountName)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
string accountName = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(accountName))
|
||||
return false;
|
||||
|
||||
uint accountId = Global.AccountMgr.GetId(accountName);
|
||||
if (accountId == 0)
|
||||
{
|
||||
@@ -190,27 +161,9 @@ namespace Game.Chat
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("email", RBACPermissions.CommandAccountSetSecEmail)]
|
||||
static bool HandleAccountEmailCommand(StringArguments args, CommandHandler handler)
|
||||
[Command("email", RBACPermissions.CommandAccountEmail)]
|
||||
static bool HandleAccountEmailCommand(CommandHandler handler, string oldEmail, string password, string email, string emailConfirm)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
string oldEmail = args.NextString();
|
||||
string password = args.NextString();
|
||||
string email = args.NextString();
|
||||
string emailConfirmation = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(oldEmail) || string.IsNullOrEmpty(password)
|
||||
|| string.IsNullOrEmpty(email) || string.IsNullOrEmpty(emailConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!Global.AccountMgr.CheckEmail(handler.GetSession().GetAccountId(), oldEmail))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandWrongemail);
|
||||
@@ -236,7 +189,7 @@ namespace Game.Chat
|
||||
return false;
|
||||
}
|
||||
|
||||
if (email != emailConfirmation)
|
||||
if (email != emailConfirm)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewEmailsNotMatch);
|
||||
Log.outInfo(LogFilter.Player, "Account: {0} (IP: {1}) Character:[{2}] (GUID: {3}) Tried to change email, but the provided password is wrong.",
|
||||
@@ -268,33 +221,11 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("password", RBACPermissions.CommandAccountPassword)]
|
||||
static bool HandleAccountPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountPasswordCommand(CommandHandler handler, string oldPassword, string newPassword, string confirmPassword, string confirmEmail)
|
||||
{
|
||||
// If no args are given at all, we can return false right away.
|
||||
if (args.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
// First, we check config. What security type (sec type) is it ? Depending on it, the command branches out
|
||||
uint pwConfig = WorldConfig.GetUIntValue(WorldCfg.AccPasschangesec); // 0 - PW_NONE, 1 - PW_EMAIL, 2 - PW_RBAC
|
||||
|
||||
// Command is supposed to be: .account password [$oldpassword] [$newpassword] [$newpasswordconfirmation] [$emailconfirmation]
|
||||
string oldPassword = args.NextString(); // This extracts [$oldpassword]
|
||||
string newPassword = args.NextString(); // This extracts [$newpassword]
|
||||
string passwordConfirmation = args.NextString(); // This extracts [$newpasswordconfirmation]
|
||||
string emailConfirmation = args.NextString(); // This defines the emailConfirmation variable, which is optional depending on sec type.
|
||||
|
||||
//Is any of those variables missing for any reason ? We return false.
|
||||
if (string.IsNullOrEmpty(oldPassword) || string.IsNullOrEmpty(newPassword)
|
||||
|| string.IsNullOrEmpty(passwordConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// We compare the old, saved password to the entered old password - no chance for the unauthorized.
|
||||
if (!Global.AccountMgr.CheckPassword(handler.GetSession().GetAccountId(), oldPassword))
|
||||
{
|
||||
@@ -307,19 +238,19 @@ namespace Game.Chat
|
||||
}
|
||||
// This compares the old, current email to the entered email - however, only...
|
||||
if ((pwConfig == 1 || (pwConfig == 2 && handler.GetSession().HasPermission(RBACPermissions.EmailConfirmForPassChange))) // ...if either PW_EMAIL or PW_RBAC with the Permission is active...
|
||||
&& !Global.AccountMgr.CheckEmail(handler.GetSession().GetAccountId(), emailConfirmation)) // ... and returns false if the comparison fails.
|
||||
&& !Global.AccountMgr.CheckEmail(handler.GetSession().GetAccountId(), confirmEmail)) // ... and returns false if the comparison fails.
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandWrongemail);
|
||||
|
||||
Log.outInfo(LogFilter.Player, "Account: {0} (IP: {1}) Character:[{2}] (GUID: {3}) Tried to change password, but the entered email [{4}] is wrong.",
|
||||
handler.GetSession().GetAccountId(), handler.GetSession().GetRemoteAddress(),
|
||||
handler.GetSession().GetPlayer().GetName(), handler.GetSession().GetPlayer().GetGUID().ToString(),
|
||||
emailConfirmation);
|
||||
confirmEmail);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Making sure that newly entered password is correctly entered.
|
||||
if (newPassword != passwordConfirmation)
|
||||
if (newPassword != confirmPassword)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewPasswordsNotMatch);
|
||||
return false;
|
||||
@@ -347,13 +278,12 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("onlinelist", RBACPermissions.CommandAccountOnlineList, true)]
|
||||
static bool HandleAccountOnlineListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountOnlineListCommand(CommandHandler handler)
|
||||
{
|
||||
// Get the list of accounts ID logged to the realm
|
||||
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_CHARACTER_ONLINE);
|
||||
|
||||
SQLResult result = DB.Characters.Query(stmt);
|
||||
|
||||
if (result.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.AccountListEmpty);
|
||||
@@ -396,35 +326,13 @@ namespace Game.Chat
|
||||
class SetCommands
|
||||
{
|
||||
[Command("addon", RBACPermissions.CommandAccountSetAddon, true)]
|
||||
static bool HandleAccountSetAddonCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetAddonCommand(CommandHandler handler, string accountName, byte expansion)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
// Get the command line arguments
|
||||
string account = args.NextString();
|
||||
string exp = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(account))
|
||||
return false;
|
||||
|
||||
string accountName;
|
||||
uint accountId;
|
||||
|
||||
if (string.IsNullOrEmpty(exp))
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
return false;
|
||||
|
||||
accountId = player.GetSession().GetAccountId();
|
||||
Global.AccountMgr.GetName(accountId, out accountName);
|
||||
exp = account;
|
||||
}
|
||||
else
|
||||
if (!accountName.IsEmpty())
|
||||
{
|
||||
// Convert Account name to Upper Format
|
||||
accountName = account.ToUpper();
|
||||
accountName = accountName.ToUpper();
|
||||
|
||||
accountId = Global.AccountMgr.GetId(accountName);
|
||||
if (accountId == 0)
|
||||
@@ -433,6 +341,15 @@ namespace Game.Chat
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
return false;
|
||||
|
||||
accountId = player.GetSession().GetAccountId();
|
||||
Global.AccountMgr.GetName(accountId, out accountName);
|
||||
}
|
||||
|
||||
// Let set addon state only for lesser (strong) security level
|
||||
// or to self account
|
||||
@@ -440,9 +357,6 @@ namespace Game.Chat
|
||||
handler.HasLowerSecurityAccount(null, accountId, true))
|
||||
return false;
|
||||
|
||||
if (!byte.TryParse(exp, out byte expansion))
|
||||
return false;
|
||||
|
||||
if (expansion > WorldConfig.GetIntValue(WorldCfg.Expansion))
|
||||
return false;
|
||||
|
||||
@@ -458,28 +372,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gmlevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
||||
static bool HandleAccountSetGmLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetGmLevelCommand(CommandHandler handler, string accountName, byte securityLevel, int realmId = -1)
|
||||
{
|
||||
return HandleAccountSetSecLevelCommand(args, handler);
|
||||
return HandleAccountSetSecLevelCommand(handler, accountName, securityLevel, realmId);
|
||||
}
|
||||
|
||||
[Command("password", RBACPermissions.CommandAccountSetPassword, true)]
|
||||
static bool HandleAccountSetPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetPasswordCommand(CommandHandler handler, string accountName, string password, string confirmPassword)
|
||||
{
|
||||
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)
|
||||
{
|
||||
@@ -492,7 +392,7 @@ namespace Game.Chat
|
||||
if (handler.HasLowerSecurityAccount(null, targetAccountId, true))
|
||||
return false;
|
||||
|
||||
if (!password.Equals(passwordConfirmation))
|
||||
if (!password.Equals(confirmPassword))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewPasswordsNotMatch);
|
||||
return false;
|
||||
@@ -514,48 +414,32 @@ namespace Game.Chat
|
||||
handler.SendSysMessage(CypherStrings.CommandNotchangepassword);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("seclevel", RBACPermissions.CommandAccountSetSecLevel, true)]
|
||||
static bool HandleAccountSetSecLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetSecLevelCommand(CommandHandler handler, string accountName, byte securityLevel, int realmId = -1)
|
||||
{
|
||||
if (args.Empty())
|
||||
uint accountId;
|
||||
if (!accountName.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
string accountName = "";
|
||||
|
||||
string arg1 = args.NextString();
|
||||
string arg2 = args.NextString();
|
||||
string arg3 = args.NextString();
|
||||
bool isAccountNameGiven = true;
|
||||
|
||||
if (string.IsNullOrEmpty(arg3))
|
||||
{
|
||||
if (!handler.GetSelectedPlayer())
|
||||
return false;
|
||||
isAccountNameGiven = false;
|
||||
}
|
||||
|
||||
if (!isAccountNameGiven && string.IsNullOrEmpty(arg2))
|
||||
return false;
|
||||
|
||||
if (isAccountNameGiven)
|
||||
{
|
||||
accountName = arg1;
|
||||
if (Global.AccountMgr.GetId(accountName) == 0)
|
||||
accountId = Global.AccountMgr.GetId(accountName);
|
||||
if (accountId == 0)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.AccountNotExist, accountName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
return false;
|
||||
|
||||
// Check for invalid specified GM level.
|
||||
if (!uint.TryParse(isAccountNameGiven ? arg2 : arg1, out uint securityLevel))
|
||||
return false;
|
||||
accountId = player.GetSession().GetAccountId();
|
||||
Global.AccountMgr.GetName(accountId, out accountName);
|
||||
}
|
||||
|
||||
if (securityLevel > (uint)AccountTypes.Console)
|
||||
{
|
||||
@@ -563,20 +447,15 @@ namespace Game.Chat
|
||||
return false;
|
||||
}
|
||||
|
||||
// command.getSession() == NULL only for console
|
||||
uint accountId = (isAccountNameGiven) ? Global.AccountMgr.GetId(accountName) : handler.GetSelectedPlayer().GetSession().GetAccountId();
|
||||
if (!int.TryParse(isAccountNameGiven ? arg3 : arg2, out int realmID))
|
||||
return false;
|
||||
|
||||
AccountTypes playerSecurity;
|
||||
if (handler.GetSession() != null)
|
||||
playerSecurity = Global.AccountMgr.GetSecurity(handler.GetSession().GetAccountId(), realmID);
|
||||
playerSecurity = Global.AccountMgr.GetSecurity(handler.GetSession().GetAccountId(), realmId);
|
||||
else
|
||||
playerSecurity = AccountTypes.Console;
|
||||
|
||||
// can set security level only for target with less security and to less security that we have
|
||||
// This is also reject self apply in fact
|
||||
AccountTypes targetSecurity = Global.AccountMgr.GetSecurity(accountId, realmID);
|
||||
AccountTypes targetSecurity = Global.AccountMgr.GetSecurity(accountId, realmId);
|
||||
if (targetSecurity >= playerSecurity || (AccountTypes)securityLevel >= playerSecurity)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.YoursSecurityIsLow);
|
||||
@@ -584,7 +463,7 @@ namespace Game.Chat
|
||||
}
|
||||
PreparedStatement stmt;
|
||||
// Check and abort if the target gm has a higher rank on one of the realms and the new realm is -1
|
||||
if (realmID == -1 && !Global.AccountMgr.IsConsoleAccount(playerSecurity))
|
||||
if (realmId == -1 && !Global.AccountMgr.IsConsoleAccount(playerSecurity))
|
||||
{
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_ACCOUNT_ACCESS_SECLEVEL_TEST);
|
||||
stmt.AddValue(0, accountId);
|
||||
@@ -600,14 +479,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
// Check if provided realmID has a negative value other than -1
|
||||
if (realmID < -1)
|
||||
if (realmId < -1)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidRealmid);
|
||||
return false;
|
||||
}
|
||||
|
||||
RBACData rbac = isAccountNameGiven ? null : handler.GetSelectedPlayer().GetSession().GetRBACData();
|
||||
Global.AccountMgr.UpdateAccountAccess(rbac, accountId, (byte)securityLevel, realmID);
|
||||
Global.AccountMgr.UpdateAccountAccess(null, accountId, (byte)securityLevel, realmId);
|
||||
|
||||
handler.SendSysMessage(CypherStrings.YouChangeSecurity, accountName, securityLevel);
|
||||
return true;
|
||||
}
|
||||
@@ -616,22 +495,8 @@ namespace Game.Chat
|
||||
class SetSecCommands
|
||||
{
|
||||
[Command("email", RBACPermissions.CommandAccountSetSecEmail, true)]
|
||||
static bool HandleAccountSetEmailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetEmailCommand(CommandHandler handler, string accountName, string email, string confirmEmail)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
// Get the command line arguments
|
||||
string accountName = args.NextString();
|
||||
string email = args.NextString();
|
||||
string emailConfirmation = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(accountName) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(emailConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint targetAccountId = Global.AccountMgr.GetId(accountName);
|
||||
if (targetAccountId == 0)
|
||||
{
|
||||
@@ -644,7 +509,7 @@ namespace Game.Chat
|
||||
if (handler.HasLowerSecurityAccount(null, targetAccountId, true))
|
||||
return false;
|
||||
|
||||
if (!email.Equals(emailConfirmation))
|
||||
if (!email.Equals(confirmEmail))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewEmailsNotMatch);
|
||||
return false;
|
||||
@@ -672,27 +537,8 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("regmail", RBACPermissions.CommandAccountSetSecRegmail, true)]
|
||||
static bool HandleAccountSetRegEmailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountSetRegEmailCommand(CommandHandler handler, string accountName, string email, string confirmEmail)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
//- We do not want anything short of console to use this by default.
|
||||
//- So we force that.
|
||||
if (handler.GetSession())
|
||||
return false;
|
||||
|
||||
// Get the command line arguments
|
||||
string accountName = args.NextString();
|
||||
string email = args.NextString();
|
||||
string emailConfirmation = args.NextString();
|
||||
|
||||
if (string.IsNullOrEmpty(accountName) || string.IsNullOrEmpty(email) || string.IsNullOrEmpty(emailConfirmation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CmdSyntax);
|
||||
return false;
|
||||
}
|
||||
|
||||
uint targetAccountId = Global.AccountMgr.GetId(accountName);
|
||||
if (targetAccountId == 0)
|
||||
{
|
||||
@@ -705,7 +551,7 @@ namespace Game.Chat
|
||||
if (handler.HasLowerSecurityAccount(null, targetAccountId, true))
|
||||
return false;
|
||||
|
||||
if (!email.Equals(emailConfirmation))
|
||||
if (!email.Equals(confirmEmail))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NewEmailsNotMatch);
|
||||
return false;
|
||||
@@ -738,87 +584,63 @@ namespace Game.Chat
|
||||
class LockCommands
|
||||
{
|
||||
[Command("country", RBACPermissions.CommandAccountLockCountry)]
|
||||
static bool HandleAccountLockCountryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountLockCountryCommand(CommandHandler handler, bool state)
|
||||
{
|
||||
if (args.Empty())
|
||||
if (state)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.UseBol);
|
||||
return false;
|
||||
}
|
||||
/*var ipBytes = System.Net.IPAddress.Parse(handler.GetSession().GetRemoteAddress()).GetAddressBytes();
|
||||
Array.Reverse(ipBytes);
|
||||
|
||||
string param = args.NextString();
|
||||
if (!param.IsEmpty())
|
||||
{
|
||||
if (param == "on")
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_LOGON_COUNTRY);
|
||||
stmt.AddValue(0, BitConverter.ToUInt32(ipBytes, 0));
|
||||
|
||||
SQLResult result = DB.Login.Query(stmt);
|
||||
if (!result.IsEmpty())
|
||||
{
|
||||
var ipBytes = System.Net.IPAddress.Parse(handler.GetSession().GetRemoteAddress()).GetAddressBytes();
|
||||
Array.Reverse(ipBytes);
|
||||
|
||||
/*PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_LOGON_COUNTRY);
|
||||
stmt.AddValue(0, BitConverter.ToUInt32(ipBytes, 0));
|
||||
|
||||
SQLResult result = DB.Login.Query(stmt);
|
||||
if (!result.IsEmpty())
|
||||
{
|
||||
string country = result.Read<string>(0);
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK_COUNTRY);
|
||||
stmt.AddValue(0, country);
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
DB.Login.Execute(stmt);
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclocklocked);
|
||||
}
|
||||
else
|
||||
{
|
||||
handler.SendSysMessage("[IP2NATION] Table empty");
|
||||
Log.outDebug(LogFilter.Server, "[IP2NATION] Table empty");
|
||||
}*/
|
||||
}
|
||||
else if (param == "off")
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK_COUNTRY);
|
||||
stmt.AddValue(0, "00");
|
||||
string country = result.Read<string>(0);
|
||||
stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK_COUNTRY);
|
||||
stmt.AddValue(0, country);
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
DB.Login.Execute(stmt);
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclockunlocked);
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclocklocked);
|
||||
}
|
||||
return true;
|
||||
else
|
||||
{
|
||||
handler.SendSysMessage("[IP2NATION] Table empty");
|
||||
Log.outDebug(LogFilter.Server, "[IP2NATION] Table empty");
|
||||
}*/
|
||||
}
|
||||
handler.SendSysMessage(CypherStrings.UseBol);
|
||||
return false;
|
||||
else
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK_COUNTRY);
|
||||
stmt.AddValue(0, "00");
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
DB.Login.Execute(stmt);
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclockunlocked);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandAccountLockIp)]
|
||||
static bool HandleAccountLockIpCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountLockIpCommand(CommandHandler handler, bool state)
|
||||
{
|
||||
if (args.Empty())
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK);
|
||||
|
||||
if (state)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.UseBol);
|
||||
return false;
|
||||
stmt.AddValue(0, true); // locked
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclocklocked);
|
||||
}
|
||||
else
|
||||
{
|
||||
stmt.AddValue(0, false); // unlocked
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclockunlocked);
|
||||
}
|
||||
|
||||
string param = args.NextString();
|
||||
if (!string.IsNullOrEmpty(param))
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK);
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
|
||||
if (param == "on")
|
||||
{
|
||||
stmt.AddValue(0, true); // locked
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclocklocked);
|
||||
}
|
||||
else if (param == "off")
|
||||
{
|
||||
stmt.AddValue(0, false); // unlocked
|
||||
handler.SendSysMessage(CypherStrings.CommandAcclockunlocked);
|
||||
}
|
||||
stmt.AddValue(1, handler.GetSession().GetAccountId());
|
||||
|
||||
DB.Login.Execute(stmt);
|
||||
return true;
|
||||
}
|
||||
|
||||
handler.SendSysMessage(CypherStrings.UseBol);
|
||||
return false;
|
||||
DB.Login.Execute(stmt);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Framework.Constants;
|
||||
using Framework.IO;
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Chat.Commands
|
||||
{
|
||||
[CommandGroup("achievement", RBACPermissions.CommandAchievement)]
|
||||
class AchievementCommand
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandAchievementAdd)]
|
||||
static bool Add(CommandHandler handler, AchievementRecord achievementEntry)
|
||||
{
|
||||
Player target = handler.GetSelectedPlayer();
|
||||
if (!target)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NoCharSelected);
|
||||
return false;
|
||||
}
|
||||
|
||||
target.CompletedAchievement(achievementEntry);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ namespace Game.Chat.Commands
|
||||
class AhBotCommands
|
||||
{
|
||||
[Command("rebuild", RBACPermissions.CommandAhbotRebuild, true)]
|
||||
static bool HandleAHBotRebuildCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotRebuildCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*char* arg = strtok((char*)args, " ");
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("reload", RBACPermissions.CommandAhbotReload, true)]
|
||||
static bool HandleAHBotReloadCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotReloadCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
//sAuctionBot->ReloadAllConfig();
|
||||
//handler->SendSysMessage(LANG_AHBOT_RELOAD_OK);
|
||||
@@ -46,7 +46,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("status", RBACPermissions.CommandAhbotStatus, true)]
|
||||
static bool HandleAHBotStatusCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotStatusCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/* char* arg = strtok((char*)args, " ");
|
||||
if (!arg)
|
||||
@@ -117,7 +117,7 @@ namespace Game.Chat.Commands
|
||||
class ItemsCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandAhbotItems, true)]
|
||||
static bool HandleAHBotItemsAmountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotItemsAmountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*public uint qVals[MAX_AUCTION_QUALITY];
|
||||
char* arg = strtok((char*)args, " ");
|
||||
@@ -138,27 +138,27 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("blue", RBACPermissions.CommandAhbotItemsBlue, true)]
|
||||
static bool HandleAHBotItemsAmountQualityBlue(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityBlue(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("gray", RBACPermissions.CommandAhbotItemsGray, true)]
|
||||
static bool HandleAHBotItemsAmountQualityGray(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityGray(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("green", RBACPermissions.CommandAhbotItemsGreen, true)]
|
||||
static bool HandleAHBotItemsAmountQualityGreen(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityGreen(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("orange", RBACPermissions.CommandAhbotItemsOrange, true)]
|
||||
static bool HandleAHBotItemsAmountQualityOrange(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityOrange(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("purple", RBACPermissions.CommandAhbotItemsPurple, true)]
|
||||
static bool HandleAHBotItemsAmountQualityPurple(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityPurple(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("white", RBACPermissions.CommandAhbotItemsWhite, true)]
|
||||
static bool HandleAHBotItemsAmountQualityWhite(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityWhite(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("yellow", RBACPermissions.CommandAhbotItemsYellow, true)]
|
||||
static bool HandleAHBotItemsAmountQualityYellow(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsAmountQualityYellow(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
static bool HandleAHBotItemsAmountQualityCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotItemsAmountQualityCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*
|
||||
char* arg = strtok((char*)args, " ");
|
||||
@@ -178,7 +178,7 @@ namespace Game.Chat.Commands
|
||||
class RatioCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandAhbotRatio, true)]
|
||||
static bool HandleAHBotItemsRatioCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotItemsRatioCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*public uint rVal[MAX_AUCTION_QUALITY];
|
||||
char* arg = strtok((char*)args, " ");
|
||||
@@ -199,15 +199,15 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("alliance", RBACPermissions.CommandAhbotRatioAlliance, true)]
|
||||
static bool HandleAHBotItemsRatioHouseAlliance(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsRatioHouseAlliance(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("horde", RBACPermissions.CommandAhbotRatioHorde, true)]
|
||||
static bool HandleAHBotItemsRatioHouseHorde(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsRatioHouseHorde(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("neutral", RBACPermissions.CommandAhbotRatioNeutral, true)]
|
||||
static bool HandleAHBotItemsRatioHouseNeutral(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleAHBotItemsRatioHouseNeutral(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
static bool HandleAHBotItemsRatioHouseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAHBotItemsRatioHouseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*char* arg = strtok((char*)args, " ");
|
||||
if (!arg)
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat
|
||||
class ArenaCommands
|
||||
{
|
||||
[Command("create", RBACPermissions.CommandArenaCreate, true)]
|
||||
static bool HandleArenaCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaCreateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -78,7 +78,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("disband", RBACPermissions.CommandArenaDisband, true)]
|
||||
static bool HandleArenaDisbandCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaDisbandCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -114,7 +114,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("rename", RBACPermissions.CommandArenaRename, true)]
|
||||
static bool HandleArenaRenameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaRenameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -169,7 +169,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("captain", RBACPermissions.CommandArenaCaptain)]
|
||||
static bool HandleArenaCaptainCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaCaptainCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -238,7 +238,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandArenaInfo, true)]
|
||||
static bool HandleArenaInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -263,7 +263,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("lookup", RBACPermissions.CommandArenaLookup)]
|
||||
static bool HandleArenaLookupCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleArenaLookupCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat.Commands
|
||||
class BNetAccountCommands
|
||||
{
|
||||
[Command("create", RBACPermissions.CommandBnetAccountCreate, true)]
|
||||
static bool HandleAccountCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountCreateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -79,7 +79,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("gameaccountcreate", RBACPermissions.CommandBnetAccountCreateGame, true)]
|
||||
static bool HandleGameAccountCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameAccountCreateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -132,7 +132,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("link", RBACPermissions.CommandBnetAccountLink, true)]
|
||||
static bool HandleAccountLinkCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountLinkCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -162,7 +162,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("listgameaccounts", RBACPermissions.CommandBnetAccountListGameAccounts, true)]
|
||||
static bool HandleListGameAccountsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListGameAccountsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -199,7 +199,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("password", RBACPermissions.CommandBnetAccountPassword, true)]
|
||||
static bool HandleAccountPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountPasswordCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// If no args are given at all, we can return false right away.
|
||||
if (args.Empty())
|
||||
@@ -258,7 +258,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("unlink", RBACPermissions.CommandBnetAccountUnlink, true)]
|
||||
static bool HandleAccountUnlinkCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAccountUnlinkCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -289,7 +289,7 @@ namespace Game.Chat.Commands
|
||||
class LockCommands
|
||||
{
|
||||
[Command("country", RBACPermissions.CommandBnetAccountLockCountry, true)]
|
||||
static bool HandleLockCountryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLockCountryCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -338,7 +338,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandBnetAccountLockIp, true)]
|
||||
static bool HandleLockIpCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLockIpCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -376,7 +376,7 @@ namespace Game.Chat.Commands
|
||||
class SetCommands
|
||||
{
|
||||
[Command("password", RBACPermissions.CommandBnetAccountSetPassword, true)]
|
||||
static bool HandleSetPasswordCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSetPasswordCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
|
||||
@@ -28,13 +28,13 @@ namespace Game.Chat.Commands
|
||||
class BanCommands
|
||||
{
|
||||
[Command("account", RBACPermissions.CommandBanAccount, true)]
|
||||
static bool HandleBanAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanAccountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleBanHelper(BanMode.Account, args, handler);
|
||||
}
|
||||
|
||||
[Command("character", RBACPermissions.CommandBanCharacter, true)]
|
||||
static bool HandleBanCharacterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanCharacterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -95,13 +95,13 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("playeraccount", RBACPermissions.CommandBanPlayeraccount, true)]
|
||||
static bool HandleBanAccountByCharCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanAccountByCharCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleBanHelper(BanMode.Character, args, handler);
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandBanIp, true)]
|
||||
static bool HandleBanIPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanIPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleBanHelper(BanMode.IP, args, handler);
|
||||
}
|
||||
@@ -186,7 +186,7 @@ namespace Game.Chat.Commands
|
||||
class BanInfoCommands
|
||||
{
|
||||
[Command("account", RBACPermissions.CommandBaninfoAccount, true)]
|
||||
static bool HandleBanInfoAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanInfoAccountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -206,7 +206,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("character", RBACPermissions.CommandBaninfoCharacter, true)]
|
||||
static bool HandleBanInfoCharacterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanInfoCharacterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -260,7 +260,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandBaninfoIp, true)]
|
||||
static bool HandleBanInfoIPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanInfoIPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -315,7 +315,7 @@ namespace Game.Chat.Commands
|
||||
class BanListCommands
|
||||
{
|
||||
[Command("account", RBACPermissions.CommandBanlistAccount, true)]
|
||||
static bool HandleBanListAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanListAccountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.DelExpiredIpBans);
|
||||
DB.Login.Execute(stmt);
|
||||
@@ -346,7 +346,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("character", RBACPermissions.CommandBanlistCharacter, true)]
|
||||
static bool HandleBanListCharacterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanListCharacterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -431,7 +431,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandBanlistIp, true)]
|
||||
static bool HandleBanListIPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBanListIPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.DelExpiredIpBans);
|
||||
DB.Login.Execute(stmt);
|
||||
@@ -595,13 +595,13 @@ namespace Game.Chat.Commands
|
||||
class UnBanCommands
|
||||
{
|
||||
[Command("account", RBACPermissions.CommandUnbanAccount, true)]
|
||||
static bool HandleUnBanAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnBanAccountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnBanHelper(BanMode.Account, args, handler);
|
||||
}
|
||||
|
||||
[Command("character", RBACPermissions.CommandUnbanCharacter, true)]
|
||||
static bool HandleUnBanCharacterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnBanCharacterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -623,13 +623,13 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("playeraccount", RBACPermissions.CommandUnbanPlayeraccount, true)]
|
||||
static bool HandleUnBanAccountByCharCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnBanAccountByCharCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnBanHelper(BanMode.Character, args, handler);
|
||||
}
|
||||
|
||||
[Command("ip", RBACPermissions.CommandUnbanIp, true)]
|
||||
static bool HandleUnBanIPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnBanIPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnBanHelper(BanMode.IP, args, handler);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Game.Chat
|
||||
class BattleFieldCommands
|
||||
{
|
||||
[Command("enable", RBACPermissions.CommandBfEnable)]
|
||||
static bool HandleBattlefieldEnable(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBattlefieldEnable(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint battleid = args.NextUInt32();
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldByBattleId(battleid);
|
||||
@@ -50,7 +50,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("start", RBACPermissions.CommandBfStart)]
|
||||
static bool HandleBattlefieldStart(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBattlefieldStart(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint battleid = args.NextUInt32();
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldByBattleId(battleid);
|
||||
@@ -67,7 +67,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stop", RBACPermissions.CommandBfStop)]
|
||||
static bool HandleBattlefieldEnd(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBattlefieldEnd(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint battleid = args.NextUInt32();
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldByBattleId(battleid);
|
||||
@@ -84,7 +84,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("switch", RBACPermissions.CommandBfSwitch)]
|
||||
static bool HandleBattlefieldSwitch(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBattlefieldSwitch(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint battleid = args.NextUInt32();
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldByBattleId(battleid);
|
||||
@@ -100,7 +100,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("timer", RBACPermissions.CommandBfTimer)]
|
||||
static bool HandleBattlefieldTimer(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBattlefieldTimer(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint battleid = args.NextUInt32();
|
||||
BattleField bf = Global.BattleFieldMgr.GetBattlefieldByBattleId(battleid);
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Game.Chat
|
||||
class CastCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandCast)]
|
||||
static bool HandleCastCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -59,7 +59,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("back", RBACPermissions.CommandCastBack)]
|
||||
static bool HandleCastBackCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastBackCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature caster = handler.GetSelectedCreature();
|
||||
if (!caster)
|
||||
@@ -91,7 +91,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("dist", RBACPermissions.CommandCastDist)]
|
||||
static bool HandleCastDistCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastDistCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -124,7 +124,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("self", RBACPermissions.CommandCastSelf)]
|
||||
static bool HandleCastSelfCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastSelfCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -150,7 +150,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("target", RBACPermissions.CommandCastTarget)]
|
||||
static bool HandleCastTargetCommad(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastTargetCommad(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature caster = handler.GetSelectedCreature();
|
||||
if (!caster)
|
||||
@@ -188,7 +188,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("dest", RBACPermissions.CommandCastDest)]
|
||||
static bool HandleCastDestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCastDestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit caster = handler.GetSelectedUnit();
|
||||
if (!caster)
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Game.Chat
|
||||
class CharacterCommands
|
||||
{
|
||||
[Command("titles", RBACPermissions.CommandCharacterTitles, true)]
|
||||
static bool HandleCharacterTitlesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterTitlesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -71,7 +71,7 @@ namespace Game.Chat
|
||||
|
||||
//rename characters
|
||||
[Command("rename", RBACPermissions.CommandCharacterRename, true)]
|
||||
static bool HandleCharacterRenameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterRenameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -195,7 +195,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("level", RBACPermissions.CommandCharacterLevel, true)]
|
||||
static bool HandleCharacterLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string nameStr;
|
||||
string levelStr;
|
||||
@@ -239,7 +239,7 @@ namespace Game.Chat
|
||||
|
||||
// customize characters
|
||||
[Command("customize", RBACPermissions.CommandCharacterCustomize, true)]
|
||||
static bool HandleCharacterCustomizeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterCustomizeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -267,7 +267,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("changeaccount", RBACPermissions.CommandCharacterChangeaccount, true)]
|
||||
static bool HandleCharacterChangeAccountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterChangeAccountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string playerNameStr;
|
||||
string accountName;
|
||||
@@ -341,7 +341,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("changefaction", RBACPermissions.CommandCharacterChangefaction, true)]
|
||||
static bool HandleCharacterChangeFactionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterChangeFactionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -369,7 +369,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("changerace", RBACPermissions.CommandCharacterChangerace, true)]
|
||||
static bool HandleCharacterChangeRaceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterChangeRaceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -399,7 +399,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reputation", RBACPermissions.CommandCharacterReputation, true)]
|
||||
static bool HandleCharacterReputationCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterReputationCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -443,7 +443,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("erase", RBACPermissions.CommandCharacterErase, true)]
|
||||
static bool HandleCharacterEraseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterEraseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -489,7 +489,7 @@ namespace Game.Chat
|
||||
class DeletedCommands
|
||||
{
|
||||
[Command("delete", RBACPermissions.CommandCharacterDeletedDelete, true)]
|
||||
static bool HandleCharacterDeletedDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterDeletedDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// It is required to submit at least one argument
|
||||
if (args.Empty())
|
||||
@@ -516,7 +516,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandCharacterDeletedList, true)]
|
||||
static bool HandleCharacterDeletedListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterDeletedListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
List<DeletedInfo> foundList = new();
|
||||
if (!GetDeletedCharacterInfoList(foundList, args.NextString()))
|
||||
@@ -535,7 +535,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("restore", RBACPermissions.CommandCharacterDeletedRestore, true)]
|
||||
static bool HandleCharacterDeletedRestoreCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterDeletedRestoreCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// It is required to submit at least one argument
|
||||
if (args.Empty())
|
||||
@@ -587,7 +587,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("old", RBACPermissions.CommandCharacterDeletedOld, true)]
|
||||
static bool HandleCharacterDeletedOldCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCharacterDeletedOldCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
int keepDays = WorldConfig.GetIntValue(WorldCfg.ChardeleteKeepDays);
|
||||
|
||||
@@ -730,7 +730,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("levelup", RBACPermissions.CommandLevelup)]
|
||||
static bool LevelUp(StringArguments args, CommandHandler handler)
|
||||
static bool LevelUp(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string nameStr;
|
||||
string levelStr;
|
||||
@@ -804,7 +804,7 @@ namespace Game.Chat
|
||||
class PdumpCommand
|
||||
{
|
||||
[Command("load", RBACPermissions.CommandPdumpLoad, true)]
|
||||
static bool HandlePDumpLoadCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePDumpLoadCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*
|
||||
if (args.Empty())
|
||||
@@ -917,7 +917,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("write", RBACPermissions.CommandPdumpWrite, true)]
|
||||
static bool HandlePDumpWriteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePDumpWriteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Game.Chat.Commands
|
||||
class CheatCommands
|
||||
{
|
||||
[Command("god", RBACPermissions.CommandCheatGod)]
|
||||
static bool HandleGodModeCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGodModeCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
if (args.Empty())
|
||||
@@ -48,7 +48,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("casttime", RBACPermissions.CommandCheatCasttime)]
|
||||
static bool HandleCasttimeCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCasttimeCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("cooldown", RBACPermissions.CommandCheatCooldown)]
|
||||
static bool HandleCoolDownCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCoolDownCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("power", RBACPermissions.CommandCheatPower)]
|
||||
static bool HandlePowerCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePowerCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
|
||||
@@ -125,7 +125,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("status", RBACPermissions.CommandCheatStatus)]
|
||||
static bool HandleCheatStatusCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCheatStatusCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -143,7 +143,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("waterwalk", RBACPermissions.CommandCheatWaterwalk)]
|
||||
static bool HandleWaterWalkCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWaterWalkCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
|
||||
@@ -170,7 +170,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("taxi", RBACPermissions.CommandCheatTaxi)]
|
||||
static bool HandleTaxiCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTaxiCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string argstr = args.NextString();
|
||||
|
||||
@@ -206,7 +206,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("explore", RBACPermissions.CommandCheatExplore)]
|
||||
static bool HandleExploreCheatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleExploreCheatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Game.Chat
|
||||
class DebugCommands
|
||||
{
|
||||
[Command("anim", RBACPermissions.CommandDebugAnim)]
|
||||
static bool HandleDebugAnimCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugAnimCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -48,7 +48,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("areatriggers", RBACPermissions.CommandDebugAreatriggers)]
|
||||
static bool HandleDebugAreaTriggersCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugAreaTriggersCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (!player.IsDebugAreaTriggers)
|
||||
@@ -65,21 +65,21 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("arena", RBACPermissions.CommandDebugArena, true)]
|
||||
static bool HandleDebugArenaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugArenaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Global.BattlegroundMgr.ToggleArenaTesting();
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("bg", RBACPermissions.CommandDebugBg, true)]
|
||||
static bool HandleDebugBattlegroundCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugBattlegroundCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Global.BattlegroundMgr.ToggleTesting();
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("boundary", RBACPermissions.CommandDebugBoundary)]
|
||||
static bool HandleDebugBoundaryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugBoundaryCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (!player)
|
||||
@@ -107,7 +107,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("conversation", RBACPermissions.CommandDebugConversation)]
|
||||
static bool HandleDebugConversationCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugConversationCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -127,14 +127,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("dummy", RBACPermissions.CommandDebugDummy)]
|
||||
static bool HandleDebugDummyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugDummyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage("This command does nothing right now. Edit your local core (DebugCommands.cs) to make it do whatever you need for testing.");
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("entervehicle", RBACPermissions.CommandDebugEntervehicle)]
|
||||
static bool HandleDebugEnterVehicleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugEnterVehicleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target || !target.IsVehicle())
|
||||
@@ -165,7 +165,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("getitemstate", RBACPermissions.CommandDebugGetitemstate)]
|
||||
static bool HandleDebugGetItemStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugGetItemStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -444,7 +444,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("combat", RBACPermissions.CommandDebugCombat)]
|
||||
static bool HandleDebugCombatListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugCombatListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -466,7 +466,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("instancespawn", RBACPermissions.CommandDebugInstancespawn)]
|
||||
static bool HandleDebugInstanceSpawns(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugInstanceSpawns(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (player == null)
|
||||
@@ -575,7 +575,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("itemexpire", RBACPermissions.CommandDebugItemexpire)]
|
||||
static bool HandleDebugItemExpireCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugItemExpireCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -594,7 +594,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("loadcells", RBACPermissions.CommandDebugLoadcells)]
|
||||
static bool HandleDebugLoadCellsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugLoadCellsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (!player)
|
||||
@@ -617,7 +617,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("lootrecipient", RBACPermissions.CommandDebugLootrecipient)]
|
||||
static bool HandleDebugGetLootRecipientCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugGetLootRecipientCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature target = handler.GetSelectedCreature();
|
||||
if (!target)
|
||||
@@ -629,7 +629,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("los", RBACPermissions.CommandDebugLos)]
|
||||
static bool HandleDebugLoSCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugLoSCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (unit)
|
||||
@@ -645,7 +645,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("moveflags", RBACPermissions.CommandDebugMoveflags)]
|
||||
static bool HandleDebugMoveflagsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugMoveflagsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -693,7 +693,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("neargraveyard", RBACPermissions.CommandNearGraveyard)]
|
||||
static bool HandleDebugNearGraveyard(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugNearGraveyard(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
WorldSafeLocsEntry nearestLoc = null;
|
||||
@@ -743,7 +743,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("phase", RBACPermissions.CommandDebugPhase)]
|
||||
static bool HandleDebugPhaseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugPhaseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -762,7 +762,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("raidreset", RBACPermissions.CommandInstanceUnbind)]
|
||||
static bool HandleDebugRaidResetCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugRaidResetCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (!int.TryParse(args.NextString(), out int map) || map <= 0)
|
||||
return false;
|
||||
@@ -822,7 +822,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("setaurastate", RBACPermissions.CommandDebugSetaurastate)]
|
||||
static bool HandleDebugSetAuraStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSetAuraStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -851,7 +851,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("setvid", RBACPermissions.CommandDebugSetvid)]
|
||||
static bool HandleDebugSetVehicleIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSetVehicleIdCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target || target.IsVehicle())
|
||||
@@ -866,7 +866,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spawnvehicle", RBACPermissions.CommandDebugSpawnvehicle)]
|
||||
static bool HandleDebugSpawnVehicleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSpawnVehicleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -902,7 +902,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("threat", RBACPermissions.CommandDebugThreat)]
|
||||
static bool HandleDebugThreatListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugThreatListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (target == null)
|
||||
@@ -962,7 +962,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("threatinfo", RBACPermissions.CommandDebugThreatinfo)]
|
||||
static bool HandleDebugThreatInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugThreatInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (target == null)
|
||||
@@ -1038,7 +1038,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("transport", RBACPermissions.CommandDebugTransport)]
|
||||
static bool HandleDebugTransportCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugTransportCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Transport transport = handler.GetSession().GetPlayer().GetTransport();
|
||||
if (!transport)
|
||||
@@ -1066,7 +1066,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("worldstate", RBACPermissions.CommandDebugWorldState)]
|
||||
static bool HandleDebugUpdateWorldStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugUpdateWorldStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (!uint.TryParse(args.NextString(), out uint variable) || variable == 0)
|
||||
return false;
|
||||
@@ -1077,7 +1077,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("worldstate", RBACPermissions.CommandDebug)]
|
||||
static bool HandleDebugWorldStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugWorldStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1110,7 +1110,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("wpgps", RBACPermissions.CommandWpgps)]
|
||||
static bool HandleWPGPSCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWPGPSCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -1121,7 +1121,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("wsexpression", RBACPermissions.CommandDebug)]
|
||||
static bool HandleDebugWSExpressionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugWSExpressionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1156,7 +1156,7 @@ namespace Game.Chat
|
||||
class PlayCommands
|
||||
{
|
||||
[Command("cinematic", RBACPermissions.CommandDebugPlayCinematic)]
|
||||
static bool HandleDebugPlayCinematicCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugPlayCinematicCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// USAGE: .debug play cinematic #cinematicid
|
||||
// #cinematicid - ID decimal number from CinemaicSequences.dbc (1st column)
|
||||
@@ -1194,7 +1194,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("movie", RBACPermissions.CommandDebugPlayMovie)]
|
||||
static bool HandleDebugPlayMovieCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugPlayMovieCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// USAGE: .debug play movie #movieid
|
||||
// #movieid - ID decimal number from Movie.dbc (1st column)
|
||||
@@ -1217,7 +1217,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("music", RBACPermissions.CommandDebugPlayMusic)]
|
||||
static bool HandleDebugPlayMusicCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugPlayMusicCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// USAGE: .debug play music #musicId
|
||||
// #musicId - ID decimal number from SoundEntries.dbc (1st column)
|
||||
@@ -1243,7 +1243,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("sound", RBACPermissions.CommandDebugPlaySound)]
|
||||
static bool HandleDebugPlaySoundCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugPlaySoundCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// USAGE: .debug playsound #soundid
|
||||
// #soundid - ID decimal number from SoundEntries.dbc (1st column)
|
||||
@@ -1287,7 +1287,7 @@ namespace Game.Chat
|
||||
class SendCommands
|
||||
{
|
||||
[Command("buyerror", RBACPermissions.CommandDebugSendBuyerror)]
|
||||
static bool HandleDebugSendBuyErrorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendBuyErrorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1298,7 +1298,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("channelnotify", RBACPermissions.CommandDebugSendChannelnotify)]
|
||||
static bool HandleDebugSendChannelNotifyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendChannelNotifyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1313,7 +1313,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("chatmessage", RBACPermissions.CommandDebugSendChatmessage)]
|
||||
static bool HandleDebugSendChatMsgCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendChatMsgCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1327,7 +1327,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("equiperror", RBACPermissions.CommandDebugSendEquiperror)]
|
||||
static bool HandleDebugSendEquipErrorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendEquipErrorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1338,7 +1338,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("largepacket", RBACPermissions.CommandDebugSendLargepacket)]
|
||||
static bool HandleDebugSendLargePacketCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendLargePacketCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
const string stuffingString = "This is a dummy string to push the packet's size beyond 128000 bytes. ";
|
||||
StringBuilder ss = new();
|
||||
@@ -1349,14 +1349,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("opcode", RBACPermissions.CommandDebugSendOpcode)]
|
||||
static bool HandleDebugSendOpcodeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendOpcodeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NoCmd);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("playerchoice", RBACPermissions.CommandDebugSendPlayerChoice)]
|
||||
static bool HandleDebugSendPlayerChoiceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendPlayerChoiceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1369,7 +1369,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("qpartymsg", RBACPermissions.CommandDebugSendQpartymsg)]
|
||||
static bool HandleDebugSendQuestPartyMsgCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendQuestPartyMsgCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint msg = args.NextUInt32();
|
||||
handler.GetSession().GetPlayer().SendPushToPartyResponse(handler.GetSession().GetPlayer(), (QuestPushReason)msg);
|
||||
@@ -1377,7 +1377,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("qinvalidmsg", RBACPermissions.CommandDebugSendQinvalidmsg)]
|
||||
static bool HandleDebugSendQuestInvalidMsgCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendQuestInvalidMsgCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
QuestFailedReasons msg = (QuestFailedReasons)args.NextUInt32();
|
||||
handler.GetSession().GetPlayer().SendCanTakeQuestResponse(msg);
|
||||
@@ -1385,7 +1385,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("sellerror", RBACPermissions.CommandDebugSendSellerror)]
|
||||
static bool HandleDebugSendSellErrorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendSellErrorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1396,7 +1396,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("setphaseshift", RBACPermissions.CommandDebugSendSetphaseshift)]
|
||||
static bool HandleDebugSendSetPhaseShiftCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendSetPhaseShiftCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1417,7 +1417,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spellfail", RBACPermissions.CommandDebugSendSpellfail)]
|
||||
static bool HandleDebugSendSpellFailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSendSpellFailCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -35,13 +35,13 @@ namespace Game.Chat.Commands
|
||||
class DeserterInstanceCommands
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandDeserterInstanceAdd)]
|
||||
static bool HandleDeserterInstanceAdd(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDeserterInstanceAdd(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeserterAdd(args, handler, true);
|
||||
}
|
||||
|
||||
[Command("remove", RBACPermissions.CommandDeserterInstanceRemove)]
|
||||
static bool HandleDeserterInstanceRemove(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDeserterInstanceRemove(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeserterRemove(args, handler, true);
|
||||
}
|
||||
@@ -51,13 +51,13 @@ namespace Game.Chat.Commands
|
||||
class DeserterBGCommands
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandDeserterBgAdd)]
|
||||
static bool HandleDeserterBGAdd(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDeserterBGAdd(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeserterAdd(args, handler, false);
|
||||
}
|
||||
|
||||
[Command("remove", RBACPermissions.CommandDeserterBgRemove)]
|
||||
static bool HandleDeserterBGRemove(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDeserterBGRemove(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeserterRemove(args, handler, false);
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("spell", RBACPermissions.CommandDisableAddSpell, true)]
|
||||
static bool HandleAddDisableSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -158,7 +158,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("quest", RBACPermissions.CommandDisableAddQuest, true)]
|
||||
static bool HandleAddDisableQuestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableQuestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -167,7 +167,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("map", RBACPermissions.CommandDisableAddMap, true)]
|
||||
static bool HandleAddDisableMapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableMapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -176,7 +176,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("Battleground", RBACPermissions.CommandDisableAddBattleground, true)]
|
||||
static bool HandleAddDisableBattlegroundCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableBattlegroundCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -185,7 +185,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("criteria", RBACPermissions.CommandDisableAddCriteria, true)]
|
||||
static bool HandleAddDisableCriteriaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableCriteriaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -194,7 +194,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("outdoorpvp", RBACPermissions.CommandDisableAddOutdoorpvp, true)]
|
||||
static bool HandleAddDisableOutdoorPvPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableOutdoorPvPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -204,7 +204,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("vmap", RBACPermissions.CommandDisableAddVmap, true)]
|
||||
static bool HandleAddDisableVmapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableVmapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -213,7 +213,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("mmap", RBACPermissions.CommandDisableAddMmap, true)]
|
||||
static bool HandleAddDisableMMapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddDisableMMapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -279,7 +279,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("spell", RBACPermissions.CommandDisableRemoveSpell, true)]
|
||||
static bool HandleRemoveDisableSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -288,7 +288,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("quest", RBACPermissions.CommandDisableRemoveQuest, true)]
|
||||
static bool HandleRemoveDisableQuestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableQuestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -297,7 +297,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("map", RBACPermissions.CommandDisableRemoveMap, true)]
|
||||
static bool HandleRemoveDisableMapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableMapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -306,7 +306,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("Battleground", RBACPermissions.CommandDisableRemoveBattleground, true)]
|
||||
static bool HandleRemoveDisableBattlegroundCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableBattlegroundCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -315,7 +315,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("criteria", RBACPermissions.CommandDisableRemoveCriteria, true)]
|
||||
static bool HandleRemoveDisableCriteriaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableCriteriaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -324,7 +324,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("outdoorpvp", RBACPermissions.CommandDisableRemoveOutdoorpvp, true)]
|
||||
static bool HandleRemoveDisableOutdoorPvPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableOutdoorPvPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -333,7 +333,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("vmap", RBACPermissions.CommandDisableRemoveVmap, true)]
|
||||
static bool HandleRemoveDisableVmapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableVmapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -342,7 +342,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("mmap", RBACPermissions.CommandDisableRemoveMmap, true)]
|
||||
static bool HandleRemoveDisableMMapCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRemoveDisableMMapCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Game.Chat
|
||||
class EventCommands
|
||||
{
|
||||
[Command("info", RBACPermissions.CommandEvent, true)]
|
||||
static bool HandleEventInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleEventInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -71,7 +71,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("activelist", RBACPermissions.CommandEventActivelist, true)]
|
||||
static bool HandleEventActiveListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleEventActiveListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint counter = 0;
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("start", RBACPermissions.CommandEventStart, true)]
|
||||
static bool HandleEventStartCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleEventStartCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -138,7 +138,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stop", RBACPermissions.CommandEventStop, true)]
|
||||
static bool HandleEventStopCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleEventStopCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat
|
||||
class GMCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandGm)]
|
||||
static bool HandleGMCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player _player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("chat", RBACPermissions.CommandGmChat)]
|
||||
static bool HandleGMChatCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMChatCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
WorldSession session = handler.GetSession();
|
||||
if (session != null)
|
||||
@@ -93,7 +93,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("fly", RBACPermissions.CommandGmFly)]
|
||||
static bool HandleGMFlyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMFlyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -124,7 +124,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("ingame", RBACPermissions.CommandGmIngame, true)]
|
||||
static bool HandleGMListIngameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMListIngameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
bool first = true;
|
||||
bool footer = false;
|
||||
@@ -165,7 +165,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandGmList, true)]
|
||||
static bool HandleGMListFullCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMListFullCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Get the accounts with GM Level >0
|
||||
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_GM_ACCOUNTS);
|
||||
@@ -200,7 +200,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("visible", RBACPermissions.CommandGmVisible)]
|
||||
static bool HandleGMVisibleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMVisibleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player _player = handler.GetSession().GetPlayer();
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Game.Chat
|
||||
class GameObjectCommands
|
||||
{
|
||||
[Command("activate", RBACPermissions.CommandGobjectActivate)]
|
||||
static bool HandleGameObjectActivateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectActivateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -62,7 +62,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandGobjectDelete)]
|
||||
static bool HandleGameObjectDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Hgameobject:go_guid|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hgameobject");
|
||||
@@ -101,7 +101,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("despawngroup", RBACPermissions.CommandGobjectDespawngroup)]
|
||||
static bool HandleGameObjectDespawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectDespawnGroup(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -136,7 +136,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandGobjectInfo)]
|
||||
static bool HandleGameObjectInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -233,7 +233,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("move", RBACPermissions.CommandGobjectMove)]
|
||||
static bool HandleGameObjectMoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectMoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Hgameobject:go_guid|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hgameobject");
|
||||
@@ -302,7 +302,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("near", RBACPermissions.CommandGobjectNear)]
|
||||
static bool HandleGameObjectNearCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectNearCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float distance = args.Empty() ? 10.0f : args.NextSingle();
|
||||
uint count = 0;
|
||||
@@ -346,7 +346,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spawngroup", RBACPermissions.CommandGobjectSpawngroup)]
|
||||
static bool HandleGameObjectSpawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectSpawnGroup(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -389,7 +389,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("target", RBACPermissions.CommandGobjectTarget)]
|
||||
static bool HandleGameObjectTargetCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectTargetCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
SQLResult result;
|
||||
@@ -504,7 +504,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("turn", RBACPermissions.CommandGobjectTurn)]
|
||||
static bool HandleGameObjectTurnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectTurnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Hgameobject:go_id|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hgameobject");
|
||||
@@ -573,7 +573,7 @@ namespace Game.Chat
|
||||
class AddCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandGobjectAdd)]
|
||||
static bool HandleGameObjectAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectAddCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -633,7 +633,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("temp", RBACPermissions.CommandGobjectAddTemp)]
|
||||
static bool HandleGameObjectAddTempCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectAddTempCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -667,7 +667,7 @@ namespace Game.Chat
|
||||
class SetCommands
|
||||
{
|
||||
[Command("phase", RBACPermissions.CommandGobjectSetPhase)]
|
||||
static bool HandleGameObjectSetPhaseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectSetPhaseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*// number or [name] Shift-click form |color|Hgameobject:go_id|h[name]|h|r
|
||||
string id = handler.extractKeyFromLink(args, "Hgameobject");
|
||||
@@ -704,7 +704,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("state", RBACPermissions.CommandGobjectSetState)]
|
||||
static bool HandleGameObjectSetStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGameObjectSetStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Hgameobject:go_id|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hgameobject");
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
|
||||
using Framework.Constants;
|
||||
using Framework.Database;
|
||||
using Framework.IO;
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
@@ -24,36 +23,40 @@ using Game.Maps;
|
||||
using Game.SupportSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Game.Chat.Commands
|
||||
{
|
||||
[CommandGroup("go", RBACPermissions.CommandGo)]
|
||||
class GoCommands
|
||||
{
|
||||
[Command("bugticket", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoBugTicketCommand(StringArguments args, CommandHandler handler)
|
||||
[Command("areatrigger", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoAreaTriggerCommand(CommandHandler handler, uint areaTriggerId)
|
||||
{
|
||||
return HandleGoTicketCommand<BugTicket>(args, handler);
|
||||
var at = CliDB.AreaTriggerStorage.LookupByKey(areaTriggerId);
|
||||
if (at == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGoareatrnotfound, areaTriggerId);
|
||||
return false;
|
||||
}
|
||||
return DoTeleport(handler, new Position(at.Pos.X, at.Pos.Y, at.Pos.Z), at.ContinentID);
|
||||
}
|
||||
|
||||
[Command("bugticket", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoBugTicketCommand(CommandHandler handler, uint ticketId)
|
||||
{
|
||||
return HandleGoTicketCommand<BugTicket>(handler, ticketId);
|
||||
}
|
||||
|
||||
[Command("complaintticket", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoComplaintTicketCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoComplaintTicketCommand(CommandHandler handler, uint ticketId)
|
||||
{
|
||||
return HandleGoTicketCommand<ComplaintTicket>(args, handler);
|
||||
return HandleGoTicketCommand<ComplaintTicket>(handler, ticketId);
|
||||
}
|
||||
|
||||
[Command("graveyard", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoGraveyardCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoGraveyardCommand(CommandHandler handler, uint graveyardId)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
uint graveyardId = args.NextUInt32();
|
||||
if (graveyardId == 0)
|
||||
return false;
|
||||
|
||||
WorldSafeLocsEntry gy = Global.ObjectMgr.GetWorldSafeLoc(graveyardId);
|
||||
if (gy == null)
|
||||
{
|
||||
@@ -67,9 +70,10 @@ namespace Game.Chat.Commands
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
@@ -78,22 +82,10 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("grid", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoGridCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoGridCommand(CommandHandler handler, float gridX, float gridY, uint mapId)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (!float.TryParse(args.NextString(), out float gridX))
|
||||
return false;
|
||||
|
||||
if (!float.TryParse(args.NextString(), out float gridY))
|
||||
return false;
|
||||
|
||||
if (!uint.TryParse(args.NextString(), out uint mapId))
|
||||
mapId = player.GetMapId();
|
||||
|
||||
// center of grid
|
||||
float x = (gridX - MapConst.CenterGridId + 0.5f) * MapConst.SizeofGrids;
|
||||
float y = (gridY - MapConst.CenterGridId + 0.5f) * MapConst.SizeofGrids;
|
||||
@@ -118,51 +110,34 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("instance", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoInstanceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoInstanceCommand(CommandHandler handler, string[] labels)
|
||||
{
|
||||
if (args.Empty())
|
||||
if (labels.Empty())
|
||||
return false;
|
||||
|
||||
uint mapId = 0;
|
||||
string mapIdOrScriptNameStr = args.NextString();
|
||||
if (mapIdOrScriptNameStr.IsNumber())
|
||||
mapId = uint.Parse(mapIdOrScriptNameStr);
|
||||
|
||||
if (mapId == 0)
|
||||
MultiMap<uint, Tuple<uint, string, string>> matches = new();
|
||||
foreach (var pair in Global.ObjectMgr.GetInstanceTemplates())
|
||||
{
|
||||
List<Tuple<uint, string>> matches = new();
|
||||
foreach (var pair in Global.ObjectMgr.GetInstanceTemplates())
|
||||
{
|
||||
string scriptName = Global.ObjectMgr.GetScriptName(pair.Value.ScriptId);
|
||||
if (scriptName.Contains(mapIdOrScriptNameStr))
|
||||
matches.Add(Tuple.Create(pair.Key, scriptName));
|
||||
}
|
||||
uint count = 0;
|
||||
string scriptName = Global.ObjectMgr.GetScriptName(pair.Value.ScriptId);
|
||||
string mapName1 = CliDB.MapStorage.LookupByKey(pair.Key).MapName[handler.GetSessionDbcLocale()];
|
||||
foreach (var label in labels)
|
||||
if (scriptName.Contains(label))
|
||||
++count;
|
||||
|
||||
if (matches.Empty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandNoInstancesMatch);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (matches.Count > 1)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandMultipleInstancesMatch);
|
||||
return false;
|
||||
}
|
||||
|
||||
mapId = matches[0].Item1;
|
||||
if (count != 0)
|
||||
matches.Add(count, Tuple.Create(pair.Key, mapName1, scriptName));
|
||||
}
|
||||
|
||||
if (mapId == 0)
|
||||
return false;
|
||||
|
||||
InstanceTemplate temp = Global.ObjectMgr.GetInstanceTemplate(mapId);
|
||||
if (temp == null)
|
||||
if (matches.Empty())
|
||||
{
|
||||
//handler.SendSysMessage(CypherStrings.CommandMapNotInstance, mapId);
|
||||
handler.SendSysMessage(CypherStrings.CommandNoInstancesMatch);
|
||||
return false;
|
||||
}
|
||||
string scriptname = Global.ObjectMgr.GetScriptName(temp.ScriptId);
|
||||
|
||||
var it = matches.Last();
|
||||
uint mapId = it.Value.Item1;
|
||||
string mapName = it.Value.Item2;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (player.IsInFlight())
|
||||
@@ -176,14 +151,18 @@ namespace Game.Chat.Commands
|
||||
{
|
||||
if (player.TeleportTo(exit.target_mapId, exit.target_X, exit.target_Y, exit.target_Z, exit.target_Orientation + MathF.PI))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandWentToInstanceGate, mapId, scriptname);
|
||||
handler.SendSysMessage(CypherStrings.CommandWentToInstanceGate, mapName, mapId);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage(CypherStrings.CommandGoInstanceGateFailed, mapId, scriptname, exit.target_mapId);
|
||||
{
|
||||
uint parentMapId = exit.target_mapId;
|
||||
string parentMapName = CliDB.MapStorage.LookupByKey(parentMapId).MapName[handler.GetSessionDbcLocale()];
|
||||
handler.SendSysMessage(CypherStrings.CommandGoInstanceGateFailed, mapName, mapId, parentMapName, parentMapId);
|
||||
}
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage(CypherStrings.CommandInstanceNoExit, mapId, scriptname);
|
||||
handler.SendSysMessage(CypherStrings.CommandInstanceNoExit, mapName, mapId);
|
||||
|
||||
// try going to start
|
||||
AreaTriggerStruct entrance = Global.ObjectMgr.GetMapEntranceTrigger(mapId);
|
||||
@@ -191,60 +170,29 @@ namespace Game.Chat.Commands
|
||||
{
|
||||
if (player.TeleportTo(entrance.target_mapId, entrance.target_X, entrance.target_Y, entrance.target_Z, entrance.target_Orientation))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandWentToInstanceStart, mapId, scriptname);
|
||||
handler.SendSysMessage(CypherStrings.CommandWentToInstanceStart, mapName, mapId);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage(CypherStrings.CommandGoInstanceStartFailed, mapId, scriptname);
|
||||
handler.SendSysMessage(CypherStrings.CommandGoInstanceStartFailed, mapName, mapId);
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage(CypherStrings.CommandInstanceNoEntrance, mapId, scriptname);
|
||||
handler.SendSysMessage(CypherStrings.CommandInstanceNoEntrance, mapName, mapId);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
[Command("offset", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoOffsetCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoOffsetCommand(CommandHandler handler, float dX, float dY, float dZ, float dO)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
Position loc = handler.GetSession().GetPlayer().GetPosition();
|
||||
loc.RelocateOffset(new Position(dX, dY, dZ, dO));
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
string goX = args.NextString();
|
||||
string goY = args.NextString();
|
||||
string goZ = args.NextString();
|
||||
string port = args.NextString();
|
||||
|
||||
float x, y, z, o;
|
||||
player.GetPosition(out x, out y, out z, out o);
|
||||
if (!goX.IsEmpty())
|
||||
x += float.Parse(goX);
|
||||
if (!goY.IsEmpty())
|
||||
y += float.Parse(goY);
|
||||
if (!goZ.IsEmpty())
|
||||
z += float.Parse(goZ);
|
||||
if (!port.IsEmpty())
|
||||
o += float.Parse(port);
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(x, y, z, o))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, x, y, player.GetMapId());
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(player.GetMapId(), x, y, z, o);
|
||||
return true;
|
||||
return DoTeleport(handler, loc);
|
||||
}
|
||||
|
||||
[Command("quest", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoQuestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoQuestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -303,115 +251,32 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("suggestionticket", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoSuggestionTicketCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoSuggestionTicketCommand(CommandHandler handler, uint ticketId)
|
||||
{
|
||||
return HandleGoTicketCommand<SuggestionTicket>(args, handler);
|
||||
return HandleGoTicketCommand<SuggestionTicket>(handler, ticketId);
|
||||
}
|
||||
|
||||
[Command("taxinode", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoTaxinodeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoTaxinodeCommand(CommandHandler handler, uint nodeId)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
string id = handler.ExtractKeyFromLink(args, "Htaxinode");
|
||||
if (string.IsNullOrEmpty(id))
|
||||
return false;
|
||||
|
||||
if (!uint.TryParse(id, out uint nodeId) || nodeId == 0)
|
||||
return false;
|
||||
|
||||
TaxiNodesRecord node = CliDB.TaxiNodesStorage.LookupByKey(nodeId);
|
||||
var node = CliDB.TaxiNodesStorage.LookupByKey(nodeId);
|
||||
if (node == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGotaxinodenotfound, nodeId);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((node.Pos.X == 0.0f && node.Pos.Y == 0.0f && node.Pos.Z == 0.0f) ||
|
||||
!GridDefines.IsValidMapCoord(node.ContinentID, node.Pos.X, node.Pos.Y, node.Pos.Z))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, node.Pos.X, node.Pos.Y, node.ContinentID);
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(node.ContinentID, node.Pos.X, node.Pos.Y, node.Pos.Z, player.GetOrientation());
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("areatrigger", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoAreaTriggerCommand(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
uint areaTriggerId = args.NextUInt32();
|
||||
if (areaTriggerId == 0)
|
||||
return false;
|
||||
|
||||
AreaTriggerRecord at = CliDB.AreaTriggerStorage.LookupByKey(areaTriggerId);
|
||||
if (at == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGoareatrnotfound, areaTriggerId);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(at.ContinentID, at.Pos.X, at.Pos.Y, at.Pos.Z))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, at.Pos.X, at.Pos.Y, at.ContinentID);
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(at.ContinentID, at.Pos.X, at.Pos.Y, at.Pos.Z, player.GetOrientation());
|
||||
return true;
|
||||
return DoTeleport(handler, new Position(node.Pos.X, node.Pos.Y, node.Pos.Z), node.ContinentID);
|
||||
}
|
||||
|
||||
//teleport at coordinates, including Z and orientation
|
||||
[Command("xyz", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoXYZCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoXYZCommand(CommandHandler handler, float x, float y, float? z, uint? id, float? o)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (!float.TryParse(args.NextString(), out float x))
|
||||
return false;
|
||||
|
||||
if (!float.TryParse(args.NextString(), out float y))
|
||||
return false;
|
||||
|
||||
string goZ = args.NextString();
|
||||
|
||||
if (!uint.TryParse(args.NextString(), out uint mapId))
|
||||
mapId = player.GetMapId();
|
||||
|
||||
if (!float.TryParse(args.NextString(), out float ort))
|
||||
ort = player.GetOrientation();
|
||||
|
||||
float z;
|
||||
if (!goZ.IsEmpty())
|
||||
uint mapId = id.HasValue ? id.Value : player.GetMapId();
|
||||
if (z.HasValue)
|
||||
{
|
||||
if (!float.TryParse(goZ, out z))
|
||||
return false;
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(mapId, x, y, z))
|
||||
if (!GridDefines.IsValidMapCoord(mapId, x, y, z.Value))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, x, y, mapId);
|
||||
return false;
|
||||
@@ -428,19 +293,12 @@ namespace Game.Chat.Commands
|
||||
z = Math.Max(map.GetStaticHeight(PhasingHandler.EmptyPhaseShift, x, y, MapConst.MaxHeight), map.GetWaterLevel(PhasingHandler.EmptyPhaseShift, x, y));
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(mapId, x, y, z, ort);
|
||||
return true;
|
||||
return DoTeleport(handler, new Position(x, y, z.Value, o.Value), mapId);
|
||||
}
|
||||
|
||||
//teleport at coordinates
|
||||
[Command("zonexy", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoZoneXYCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoZoneXYCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -503,15 +361,8 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGoTicketCommand<T>(StringArguments args, CommandHandler handler)where T : Ticket
|
||||
static bool HandleGoTicketCommand<T>(CommandHandler handler, uint ticketId) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
uint ticketId = args.NextUInt32();
|
||||
if (ticketId == 0)
|
||||
return false;
|
||||
|
||||
T ticket = Global.SupportMgr.GetTicket<T>(ticketId);
|
||||
if (ticket == null)
|
||||
{
|
||||
@@ -531,90 +382,70 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool DoTeleport(CommandHandler handler, Position pos, uint mapId = 0xFFFFFFFF)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
if (mapId == 0xFFFFFFFF)
|
||||
mapId = player.GetMapId();
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(mapId, pos) || Global.ObjectMgr.IsTransportMap(mapId))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, pos.GetPositionX(), pos.GetPositionY(), mapId);
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(new WorldLocation(mapId, pos));
|
||||
return true;
|
||||
}
|
||||
|
||||
[CommandGroup("creature", RBACPermissions.CommandGo)]
|
||||
class GoCommandCreature
|
||||
{
|
||||
[Command("", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoCreatureSpawnIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoCreatureSpawnIdCommand(CommandHandler handler, ulong spawnId)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
// "id" or number or [name] Shift-click form |color|Hcreature_entry:creature_id|h[name]|h|r
|
||||
string param1 = handler.ExtractKeyFromLink(args, "Hcreature");
|
||||
if (param1.IsEmpty())
|
||||
return false;
|
||||
|
||||
string whereClause = "";
|
||||
|
||||
// User wants to teleport to the NPC's template entry
|
||||
if (param1.Equals("id"))
|
||||
{
|
||||
// Get the "creature_template.entry"
|
||||
// number or [name] Shift-click form |color|Hcreature_entry:creature_id|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hcreature_entry");
|
||||
if (id.IsEmpty())
|
||||
return false;
|
||||
|
||||
if (!uint.TryParse(id, out uint entry))
|
||||
return false;
|
||||
|
||||
whereClause += "WHERE id = '" + entry + '\'';
|
||||
}
|
||||
else
|
||||
{
|
||||
ulong.TryParse(param1, out ulong guidLow);
|
||||
if (guidLow != 0)
|
||||
{
|
||||
whereClause += "WHERE guid = '" + guidLow + '\'';
|
||||
}
|
||||
else
|
||||
{
|
||||
// param1 is not a number, must be mob's name
|
||||
whereClause += ", creature_template WHERE creature.id = creature_template.entry AND creature_template.name LIKE '" + args.GetString() + '\'';
|
||||
}
|
||||
}
|
||||
|
||||
SQLResult result = DB.World.Query("SELECT position_x, position_y, position_z, orientation, map FROM creature {0}", whereClause);
|
||||
if (result.IsEmpty())
|
||||
CreatureData spawnpoint = Global.ObjectMgr.GetCreatureData(spawnId);
|
||||
if (spawnpoint == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGocreatnotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
float x = result.Read<float>(0);
|
||||
float y = result.Read<float>(1);
|
||||
float z = result.Read<float>(2);
|
||||
float o = result.Read<float>(3);
|
||||
uint mapId = result.Read<ushort>(4);
|
||||
|
||||
if (result.NextRow())
|
||||
handler.SendSysMessage(CypherStrings.CommandGocreatmultiple);
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(mapId, x, y, z, o) || Global.ObjectMgr.IsTransportMap(mapId))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, x, y, mapId);
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(mapId, x, y, z, o);
|
||||
|
||||
return true;
|
||||
return DoTeleport(handler, spawnpoint.SpawnPoint, spawnpoint.MapId);
|
||||
}
|
||||
|
||||
[Command("id", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoCreatureCIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoCreatureCIdCommand(CommandHandler handler, uint id)
|
||||
{
|
||||
//temp fix till rework command system.
|
||||
return HandleGoCreatureSpawnIdCommand(args, handler);
|
||||
CreatureData spawnpoint = null;
|
||||
foreach (var pair in Global.ObjectMgr.GetAllCreatureData())
|
||||
{
|
||||
if (pair.Value.Id != id)
|
||||
continue;
|
||||
|
||||
if (spawnpoint == null)
|
||||
spawnpoint = pair.Value;
|
||||
else
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGocreatmultiple);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (spawnpoint == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGocreatnotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
return DoTeleport(handler, spawnpoint.SpawnPoint, spawnpoint.MapId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,50 +453,43 @@ namespace Game.Chat.Commands
|
||||
class GoCommandGameobject
|
||||
{
|
||||
[Command("", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoGameObjectSpawnIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoGameObjectSpawnIdCommand(CommandHandler handler, uint spawnId)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
// number or [name] Shift-click form |color|Hgameobject:go_guid|h[name]|h|r
|
||||
string id = handler.ExtractKeyFromLink(args, "Hgameobject");
|
||||
if (string.IsNullOrEmpty(id))
|
||||
return false;
|
||||
|
||||
if (!ulong.TryParse(id, out ulong guidLow) || guidLow == 0)
|
||||
return false;
|
||||
|
||||
// by DB guid
|
||||
GameObjectData goData = Global.ObjectMgr.GetGameObjectData(guidLow);
|
||||
if (goData == null)
|
||||
GameObjectData spawnpoint = Global.ObjectMgr.GetGameObjectData(spawnId);
|
||||
if (spawnpoint == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGoobjnotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!GridDefines.IsValidMapCoord(goData.MapId, goData.SpawnPoint) || Global.ObjectMgr.IsTransportMap(goData.MapId))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, goData.SpawnPoint.GetPositionX(), goData.SpawnPoint.GetPositionY(), goData.MapId);
|
||||
return false;
|
||||
}
|
||||
|
||||
// stop flight if need
|
||||
if (player.IsInFlight())
|
||||
player.FinishTaxiFlight();
|
||||
else
|
||||
player.SaveRecallPosition(); // save only in non-flight case
|
||||
|
||||
player.TeleportTo(new WorldLocation(goData.MapId, goData.SpawnPoint));
|
||||
return true;
|
||||
return DoTeleport(handler, spawnpoint.SpawnPoint, spawnpoint.MapId);
|
||||
}
|
||||
|
||||
[Command("id", RBACPermissions.CommandGo)]
|
||||
static bool HandleGoGameObjectGOIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGoGameObjectGOIdCommand(CommandHandler handler, uint goId)
|
||||
{
|
||||
//temp fix till rework command system.
|
||||
return HandleGoGameObjectSpawnIdCommand(args, handler);
|
||||
GameObjectData spawnpoint = null;
|
||||
foreach (var pair in Global.ObjectMgr.GetAllGameObjectData())
|
||||
{
|
||||
if (pair.Value.Id != goId)
|
||||
continue;
|
||||
|
||||
if (spawnpoint == null)
|
||||
spawnpoint = pair.Value;
|
||||
else
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGocreatmultiple);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (spawnpoint == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandGoobjnotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
return DoTeleport(handler, spawnpoint.SpawnPoint, spawnpoint.MapId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Game.Chat
|
||||
{
|
||||
// Summon group of player
|
||||
[Command("summon", RBACPermissions.CommandGroupSummon)]
|
||||
static bool HandleGroupSummonCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupSummonCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -123,7 +123,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("leader", RBACPermissions.CommandGroupLeader)]
|
||||
static bool HandleGroupLeaderCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupLeaderCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player;
|
||||
Group group;
|
||||
@@ -148,7 +148,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("disband", RBACPermissions.CommandGroupDisband)]
|
||||
static bool HandleGroupDisbandCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupDisbandCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player;
|
||||
Group group;
|
||||
@@ -168,7 +168,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("remove", RBACPermissions.CommandGroupRemove)]
|
||||
static bool HandleGroupRemoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupRemoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player;
|
||||
Group group;
|
||||
@@ -189,7 +189,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("join", RBACPermissions.CommandGroupJoin)]
|
||||
static bool HandleGroupJoinCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupJoinCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -232,7 +232,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandGroupList)]
|
||||
static bool HandleGroupListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Get ALL the variables!
|
||||
Player playerTarget;
|
||||
@@ -347,25 +347,25 @@ namespace Game.Chat
|
||||
class GroupSetCommands
|
||||
{
|
||||
[Command("assistant", RBACPermissions.CommandGroupAssistant)]
|
||||
static bool HandleGroupSetAssistantCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupSetAssistantCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return GroupFlagCommand(args, handler, GroupMemberFlags.Assistant, "Assistant");
|
||||
}
|
||||
|
||||
[Command("leader", RBACPermissions.CommandGroupLeader)]
|
||||
static bool HandleGroupSetLeaderCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupSetLeaderCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleGroupLeaderCommand(args, handler);
|
||||
return HandleGroupLeaderCommand(handler, args);
|
||||
}
|
||||
|
||||
[Command("mainassist", RBACPermissions.CommandGroupMainassist)]
|
||||
static bool HandleGroupSetMainAssistCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupSetMainAssistCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return GroupFlagCommand(args, handler, GroupMemberFlags.MainAssist, "Main Assist");
|
||||
}
|
||||
|
||||
[Command("maintank", RBACPermissions.CommandGroupMaintank)]
|
||||
static bool HandleGroupSetMainTankCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGroupSetMainTankCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return GroupFlagCommand(args, handler, GroupMemberFlags.MainTank, "Main Tank");
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat
|
||||
class GuildCommands
|
||||
{
|
||||
[Command("create", RBACPermissions.CommandGuildCreate, true)]
|
||||
static bool HandleGuildCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildCreateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -70,7 +70,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandGuildDelete, true)]
|
||||
static bool HandleGuildDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string guildName = handler.ExtractQuotedArg(args.NextString());
|
||||
if (string.IsNullOrEmpty(guildName))
|
||||
@@ -85,7 +85,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("invite", RBACPermissions.CommandGuildInvite, true)]
|
||||
static bool HandleGuildInviteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildInviteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -108,7 +108,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("uninvite", RBACPermissions.CommandGuildUninvite, true)]
|
||||
static bool HandleGuildUninviteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildUninviteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -128,7 +128,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("rank", RBACPermissions.CommandGuildRank, true)]
|
||||
static bool HandleGuildRankCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildRankCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string nameStr;
|
||||
string rankStr;
|
||||
@@ -156,7 +156,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("rename", RBACPermissions.CommandGuildRename, true)]
|
||||
static bool HandleGuildRenameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildRenameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -199,7 +199,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandGuildInfo, true)]
|
||||
static bool HandleGuildInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGuildInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Guild guild = null;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Game.Chat.Commands
|
||||
class HonorCommands
|
||||
{
|
||||
[Command("update", RBACPermissions.CommandHonorUpdate)]
|
||||
static bool HandleHonorUpdateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleHonorUpdateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target = handler.GetSelectedPlayer();
|
||||
if (!target)
|
||||
@@ -46,7 +46,7 @@ namespace Game.Chat.Commands
|
||||
class HonorAddCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandHonorAdd)]
|
||||
static bool HandleHonorAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleHonorAddCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -68,7 +68,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("kill", RBACPermissions.CommandHonorAddKill)]
|
||||
static bool HandleHonorAddKillCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleHonorAddKillCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class InstanceCommands
|
||||
{
|
||||
[Command("listbinds", RBACPermissions.CommandInstanceListbinds)]
|
||||
static bool HandleInstanceListBinds(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceListBinds(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
@@ -72,7 +72,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("unbind", RBACPermissions.CommandInstanceUnbind)]
|
||||
static bool HandleInstanceUnbind(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceUnbind(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -116,7 +116,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stats", RBACPermissions.CommandInstanceStats, true)]
|
||||
static bool HandleInstanceStats(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceStats(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage("instances loaded: {0}", Global.MapMgr.GetNumInstances());
|
||||
handler.SendSysMessage("players in instances: {0}", Global.MapMgr.GetNumPlayersInInstances());
|
||||
@@ -128,7 +128,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("savedata", RBACPermissions.CommandInstanceSavedata)]
|
||||
static bool HandleInstanceSaveData(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceSaveData(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
InstanceMap map = player.GetMap().ToInstanceMap();
|
||||
@@ -150,7 +150,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("setbossstate", RBACPermissions.CommandInstanceSetBossState)]
|
||||
static bool HandleInstanceSetBossState(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceSetBossState(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -214,7 +214,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("getbossstate", RBACPermissions.CommandInstanceGetBossState)]
|
||||
static bool HandleInstanceGetBossState(StringArguments args, CommandHandler handler)
|
||||
static bool HandleInstanceGetBossState(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class LFGCommands
|
||||
{
|
||||
[Command("player", RBACPermissions.CommandLfgPlayer, true)]
|
||||
static bool HandleLfgPlayerInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLfgPlayerInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -39,7 +39,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("group", RBACPermissions.CommandLfgGroup, true)]
|
||||
static bool HandleLfgGroupInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLfgGroupInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -91,7 +91,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("options", RBACPermissions.CommandLfgOptions, true)]
|
||||
static bool HandleLfgOptionsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLfgOptionsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string str = args.NextString();
|
||||
int options = -1;
|
||||
@@ -111,14 +111,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("queue", RBACPermissions.CommandLfgQueue, true)]
|
||||
static bool HandleLfgQueueInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLfgQueueInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage(Global.LFGMgr.DumpQueueInfo(args.NextBoolean()));
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("clean", RBACPermissions.CommandLfgClean, true)]
|
||||
static bool HandleLfgCleanCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLfgCleanCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.LfgClean);
|
||||
Global.LFGMgr.Clean();
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Game.Chat.Commands
|
||||
class LearnCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandLearn)]
|
||||
static bool HandleLearnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player targetPlayer = handler.GetSelectedPlayerOrSelf();
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace Game.Chat.Commands
|
||||
class LearnAllCommands
|
||||
{
|
||||
[Command("gm", RBACPermissions.CommandLearnAllGm)]
|
||||
static bool HandleLearnAllGMCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllGMCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
foreach (var skillSpell in Global.SpellMgr.GetSkillLineAbilityMapBounds((uint)SkillType.Internal))
|
||||
{
|
||||
@@ -92,7 +92,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("lang", RBACPermissions.CommandLearnAllLang)]
|
||||
static bool HandleLearnAllLangCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllLangCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// skipping UNIVERSAL language (0)
|
||||
Global.LanguageMgr.ForEachLanguage((lang, languageDesc) =>
|
||||
@@ -108,7 +108,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("default", RBACPermissions.CommandLearnAllDefault)]
|
||||
static bool HandleLearnAllDefaultCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllDefaultCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -123,7 +123,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("crafts", RBACPermissions.CommandLearnAllCrafts)]
|
||||
static bool HandleLearnAllCraftsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllCraftsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -142,7 +142,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("recipes", RBACPermissions.CommandLearnAllRecipes)]
|
||||
static bool HandleLearnAllRecipesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllRecipesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Learns all recipes of specified profession and sets skill to max
|
||||
// Example: .learn all_recipes enchanting
|
||||
@@ -243,15 +243,15 @@ namespace Game.Chat.Commands
|
||||
class LearnAllMyCommands
|
||||
{
|
||||
[Command("class", RBACPermissions.CommandLearnAllMyClass)]
|
||||
static bool HandleLearnAllMyClassCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllMyClassCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleLearnAllMySpellsCommand(args, handler);
|
||||
HandleLearnAllMyTalentsCommand(args, handler);
|
||||
HandleLearnAllMySpellsCommand(handler, args);
|
||||
HandleLearnAllMyTalentsCommand(handler, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("spells", RBACPermissions.CommandLearnAllMySpells)]
|
||||
static bool HandleLearnAllMySpellsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllMySpellsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
ChrClassesRecord classEntry = CliDB.ChrClassesStorage.LookupByKey(handler.GetSession().GetPlayer().GetClass());
|
||||
if (classEntry == null)
|
||||
@@ -288,7 +288,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("talents", RBACPermissions.CommandLearnAllMyTalents)]
|
||||
static bool HandleLearnAllMyTalentsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLearnAllMyTalentsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
uint playerClass = (uint)player.GetClass();
|
||||
@@ -312,12 +312,12 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("pettalents", RBACPermissions.CommandLearnAllMyPettalents)]
|
||||
static bool HandleLearnAllMyPetTalentsCommand(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleLearnAllMyPetTalentsCommand(CommandHandler handler, StringArguments args) { return true; }
|
||||
}
|
||||
}
|
||||
|
||||
[CommandNonGroup("unlearn", RBACPermissions.CommandUnlearn)]
|
||||
static bool HandleUnLearnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnLearnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Game.Chat.Commands
|
||||
class ListCommands
|
||||
{
|
||||
[Command("auras", RBACPermissions.CommandListAuras)]
|
||||
static bool HandleListAurasCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListAurasCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (!unit)
|
||||
@@ -77,7 +77,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("creature", RBACPermissions.CommandListCreature, true)]
|
||||
static bool HandleListCreatureCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListCreatureCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -173,7 +173,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("item", RBACPermissions.CommandListItem, true)]
|
||||
static bool HandleListItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -364,7 +364,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("mail", RBACPermissions.CommandListMail, true)]
|
||||
static bool HandleListMailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListMailCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -469,7 +469,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("object", RBACPermissions.CommandListObject, true)]
|
||||
static bool HandleListObjectCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListObjectCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -566,7 +566,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("respawns", RBACPermissions.CommandListRespawns)]
|
||||
static bool HandleListRespawnsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListRespawnsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
Map map = player.GetMap();
|
||||
@@ -624,7 +624,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("scenes", RBACPermissions.CommandListScenes)]
|
||||
static bool HandleListScenesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListScenesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target = handler.GetSelectedPlayer();
|
||||
if (!target)
|
||||
@@ -647,7 +647,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("spawnpoints", RBACPermissions.CommandListSpawnpoints)]
|
||||
static bool HandleListSpawnPointsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListSpawnPointsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
Map map = player.GetMap();
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Game.Chat
|
||||
static int maxResults = 50;
|
||||
|
||||
[Command("area", RBACPermissions.CommandLookupArea, true)]
|
||||
static bool Area(StringArguments args, CommandHandler handler)
|
||||
static bool Area(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -97,7 +97,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature", RBACPermissions.CommandLookupCreature, true)]
|
||||
static bool Creature(StringArguments args, CommandHandler handler)
|
||||
static bool Creature(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -169,7 +169,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("event", RBACPermissions.CommandLookupEvent, true)]
|
||||
static bool Event(StringArguments args, CommandHandler handler)
|
||||
static bool Event(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -217,7 +217,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("faction", RBACPermissions.CommandLookupFaction, true)]
|
||||
static bool Faction(StringArguments args, CommandHandler handler)
|
||||
static bool Faction(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -310,7 +310,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("item", RBACPermissions.CommandLookupItem, true)]
|
||||
static bool Item(StringArguments args, CommandHandler handler)
|
||||
static bool Item(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -353,7 +353,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("itemset", RBACPermissions.CommandLookupItemset, true)]
|
||||
static bool ItemSet(StringArguments args, CommandHandler handler)
|
||||
static bool ItemSet(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -413,7 +413,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("object", RBACPermissions.CommandLookupObject, true)]
|
||||
static bool Object(StringArguments args, CommandHandler handler)
|
||||
static bool Object(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -485,7 +485,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("quest", RBACPermissions.CommandLookupQuest, true)]
|
||||
static bool Quest(StringArguments args, CommandHandler handler)
|
||||
static bool Quest(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -633,7 +633,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("skill", RBACPermissions.CommandLookupSkill, true)]
|
||||
static bool Skill(StringArguments args, CommandHandler handler)
|
||||
static bool Skill(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -710,7 +710,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("taxinode", RBACPermissions.CommandLookupTaxinode, true)]
|
||||
static bool TaxiNode(StringArguments args, CommandHandler handler)
|
||||
static bool TaxiNode(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -756,7 +756,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("tele", RBACPermissions.CommandLookupTele, true)]
|
||||
static bool Tele(StringArguments args, CommandHandler handler)
|
||||
static bool Tele(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -799,7 +799,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("title", RBACPermissions.CommandLookupTitle, true)]
|
||||
static bool Title(StringArguments args, CommandHandler handler)
|
||||
static bool Title(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -876,7 +876,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("map", RBACPermissions.CommandLookupMap, true)]
|
||||
static bool Map(StringArguments args, CommandHandler handler)
|
||||
static bool Map(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -956,7 +956,7 @@ namespace Game.Chat
|
||||
class PlayerCommandGroup
|
||||
{
|
||||
[Command("ip", RBACPermissions.CommandLookupPlayerIp)]
|
||||
static bool IP(StringArguments args, CommandHandler handler)
|
||||
static bool IP(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string ip;
|
||||
int limit;
|
||||
@@ -986,7 +986,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("account", RBACPermissions.CommandLookupPlayerAccount)]
|
||||
static bool Account(StringArguments args, CommandHandler handler)
|
||||
static bool Account(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1002,7 +1002,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("email", RBACPermissions.CommandLookupPlayerEmail)]
|
||||
static bool Email(StringArguments args, CommandHandler handler)
|
||||
static bool Email(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1072,7 +1072,7 @@ namespace Game.Chat
|
||||
class SpellCommandGroup
|
||||
{
|
||||
[Command("", RBACPermissions.CommandLookupSpell)]
|
||||
static bool Default(StringArguments args, CommandHandler handler)
|
||||
static bool Default(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1173,7 +1173,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("id", RBACPermissions.CommandLookupSpellId)]
|
||||
static bool SpellId(StringArguments args, CommandHandler handler)
|
||||
static bool SpellId(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class MMapsCommands
|
||||
{
|
||||
[Command("path", RBACPermissions.CommandMmapPath)]
|
||||
static bool PathCommand(StringArguments args, CommandHandler handler)
|
||||
static bool PathCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MMapMgr.GetNavMesh(handler.GetPlayer().GetMapId()) == null)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("loc", RBACPermissions.CommandMmapLoc)]
|
||||
static bool LocCommand(StringArguments args, CommandHandler handler)
|
||||
static bool LocCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage("mmap tileloc:");
|
||||
|
||||
@@ -155,7 +155,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("loadedtiles", RBACPermissions.CommandMmapLoadedtiles)]
|
||||
static bool LoadedTilesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool LoadedTilesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
uint terrainMapId = PhasingHandler.GetTerrainMapId(player.GetPhaseShift(), player.GetMap(), player.GetPositionX(), player.GetPositionY());
|
||||
@@ -181,7 +181,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stats", RBACPermissions.CommandMmapStats)]
|
||||
static bool HandleMmapStatsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleMmapStatsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
uint terrainMapId = PhasingHandler.GetTerrainMapId(player.GetPhaseShift(), player.GetMap(), player.GetPositionX(), player.GetPositionY());
|
||||
@@ -225,7 +225,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("testarea", RBACPermissions.CommandMmapTestarea)]
|
||||
static bool TestArea(StringArguments args, CommandHandler handler)
|
||||
static bool TestArea(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float radius = 40.0f;
|
||||
WorldObject obj = handler.GetPlayer();
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class MessageCommands
|
||||
{
|
||||
[CommandNonGroup("nameannounce", RBACPermissions.CommandNameannounce, true)]
|
||||
static bool HandleNameAnnounceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNameAnnounceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -43,7 +43,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("gmnameannounce", RBACPermissions.CommandGmnameannounce, true)]
|
||||
static bool HandleGMNameAnnounceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMNameAnnounceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -58,7 +58,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("announce", RBACPermissions.CommandAnnounce, true)]
|
||||
static bool HandleAnnounceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAnnounceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -69,7 +69,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("gmannounce", RBACPermissions.CommandGmannounce, true)]
|
||||
static bool HandleGMAnnounceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMAnnounceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -79,7 +79,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("notify", RBACPermissions.CommandNotify, true)]
|
||||
static bool HandleNotifyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNotifyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -93,7 +93,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("gmnotify", RBACPermissions.CommandGmnotify, true)]
|
||||
static bool HandleGMNotifyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGMNotifyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -107,7 +107,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("whispers", RBACPermissions.CommandWhispers)]
|
||||
static bool HandleWhispersCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWhispersCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -165,7 +165,7 @@ namespace Game.Chat
|
||||
class ChannelSetCommands
|
||||
{
|
||||
[Command("ownership", RBACPermissions.CommandChannelSetOwnership)]
|
||||
static bool HandleChannelSetOwnership(StringArguments args, CommandHandler handler)
|
||||
static bool HandleChannelSetOwnership(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Game.Chat
|
||||
class MiscCommands
|
||||
{
|
||||
[CommandNonGroup("additem", RBACPermissions.CommandAdditem)]
|
||||
static bool HandleAddItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -188,7 +188,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("additemset", RBACPermissions.CommandAdditemset)]
|
||||
static bool HandleAddItemSetCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAddItemSetCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -276,7 +276,7 @@ namespace Game.Chat
|
||||
|
||||
// Teleport to Player
|
||||
[CommandNonGroup("appear", RBACPermissions.CommandAppear)]
|
||||
static bool HandleAppearCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAppearCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -413,14 +413,14 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("bank", RBACPermissions.CommandBank)]
|
||||
static bool HandleBankCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBankCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.GetSession().SendShowBank(handler.GetSession().GetPlayer().GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
[CommandNonGroup("bindsight", RBACPermissions.CommandBindsight)]
|
||||
static bool HandleBindSightCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleBindSightCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (!unit)
|
||||
@@ -431,7 +431,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("combatstop", RBACPermissions.CommandCombatstop, true)]
|
||||
static bool HandleCombatStopCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCombatStopCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target = null;
|
||||
|
||||
@@ -460,7 +460,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("cometome", RBACPermissions.CommandCometome)]
|
||||
static bool HandleComeToMeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleComeToMeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature caster = handler.GetSelectedCreature();
|
||||
if (!caster)
|
||||
@@ -476,7 +476,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("commands", RBACPermissions.CommandCommands, true)]
|
||||
static bool HandleCommandsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCommandsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string list = "";
|
||||
foreach (var command in CommandManager.GetCommands())
|
||||
@@ -504,7 +504,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("damage", RBACPermissions.CommandDamage)]
|
||||
static bool HandleDamageCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDamageCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -632,7 +632,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("dev", RBACPermissions.CommandDev)]
|
||||
static bool HandleDevCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDevCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
{
|
||||
@@ -664,7 +664,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("die", RBACPermissions.CommandDie)]
|
||||
static bool HandleDieCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDieCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
|
||||
@@ -686,7 +686,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("dismount", RBACPermissions.CommandDismount)]
|
||||
static bool HandleDismountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDismountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayerOrSelf();
|
||||
|
||||
@@ -709,7 +709,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("distance", RBACPermissions.CommandDistance)]
|
||||
static bool HandleGetDistanceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGetDistanceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
WorldObject obj;
|
||||
|
||||
@@ -770,7 +770,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("freeze", RBACPermissions.CommandFreeze)]
|
||||
static bool HandleFreezeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleFreezeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer(); // Selected player, if any. Might be null.
|
||||
int freezeDuration = 0; // Freeze Duration (in seconds)
|
||||
@@ -862,7 +862,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("gps", RBACPermissions.CommandGps)]
|
||||
static bool HandleGPSCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGPSCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
WorldObject obj;
|
||||
if (!args.Empty())
|
||||
@@ -987,7 +987,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("guid", RBACPermissions.CommandGuid)]
|
||||
static bool HandleGUIDCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleGUIDCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
ObjectGuid guid = handler.GetSession().GetPlayer().GetTarget();
|
||||
|
||||
@@ -1002,7 +1002,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("help", RBACPermissions.CommandHelp, true)]
|
||||
static bool HandleHelpCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleHelpCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string cmd = args.NextString("");
|
||||
if (cmd.IsEmpty())
|
||||
@@ -1020,7 +1020,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("hidearea", RBACPermissions.CommandHidearea)]
|
||||
static bool HandleHideAreaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleHideAreaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1061,7 +1061,7 @@ namespace Game.Chat
|
||||
|
||||
// move item to other slot
|
||||
[CommandNonGroup("itemmove", RBACPermissions.CommandItemmove)]
|
||||
static bool HandleItemMoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleItemMoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1088,7 +1088,7 @@ namespace Game.Chat
|
||||
|
||||
// kick player
|
||||
[CommandNonGroup("kick", RBACPermissions.CommandKick, true)]
|
||||
static bool HandleKickPlayerCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleKickPlayerCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
string playerName;
|
||||
@@ -1121,7 +1121,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("linkgrave", RBACPermissions.CommandLinkgrave)]
|
||||
static bool HandleLinkGraveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleLinkGraveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1168,7 +1168,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("listfreeze", RBACPermissions.CommandListfreeze)]
|
||||
static bool HandleListFreezeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleListFreezeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Get names from DB
|
||||
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_CHARACTER_AURA_FROZEN);
|
||||
@@ -1205,7 +1205,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("mailbox", RBACPermissions.CommandMailbox)]
|
||||
static bool HandleMailBoxCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleMailBoxCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -1214,7 +1214,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("movegens", RBACPermissions.CommandMovegens)]
|
||||
static bool HandleMovegensCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleMovegensCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (!unit)
|
||||
@@ -1299,7 +1299,7 @@ namespace Game.Chat
|
||||
|
||||
// mute player for some times
|
||||
[CommandNonGroup("mute", RBACPermissions.CommandMute, true)]
|
||||
static bool HandleMuteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleMuteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string nameStr;
|
||||
string delayStr;
|
||||
@@ -1382,7 +1382,7 @@ namespace Game.Chat
|
||||
|
||||
// mutehistory command
|
||||
[CommandNonGroup("mutehistory", RBACPermissions.CommandMutehistory, true)]
|
||||
static bool HandleMuteInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleMuteInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1424,7 +1424,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("neargrave", RBACPermissions.CommandNeargrave)]
|
||||
static bool HandleNearGraveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNearGraveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string px2 = args.NextString();
|
||||
Team team;
|
||||
@@ -1484,7 +1484,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("pinfo", RBACPermissions.CommandPinfo, true)]
|
||||
static bool HandlePInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Define ALL the player variables!
|
||||
Player target;
|
||||
@@ -1838,7 +1838,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("playall", RBACPermissions.CommandPlayall)]
|
||||
static bool HandlePlayAllCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePlayAllCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1860,7 +1860,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("possess", RBACPermissions.CommandPossess)]
|
||||
static bool HandlePossessCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePossessCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (!unit)
|
||||
@@ -1871,7 +1871,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("pvpstats", RBACPermissions.CommandPvpstats, true)]
|
||||
static bool HandlePvPstatsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePvPstatsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.BattlegroundStoreStatisticsEnable))
|
||||
{
|
||||
@@ -1900,7 +1900,7 @@ namespace Game.Chat
|
||||
|
||||
// Teleport player to last position
|
||||
[CommandNonGroup("recall", RBACPermissions.CommandRecall)]
|
||||
static bool HandleRecallCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRecallCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -1925,7 +1925,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("repairitems", RBACPermissions.CommandRepairitems, true)]
|
||||
static bool HandleRepairitemsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRepairitemsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -1946,7 +1946,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("respawn", RBACPermissions.CommandRespawn)]
|
||||
static bool HandleRespawnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRespawnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -1984,7 +1984,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("revive", RBACPermissions.CommandRevive, true)]
|
||||
static bool HandleReviveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReviveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -2005,7 +2005,7 @@ namespace Game.Chat
|
||||
|
||||
// Save all players in the world
|
||||
[CommandNonGroup("saveall", RBACPermissions.CommandSaveall, true)]
|
||||
static bool HandleSaveAllCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSaveAllCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Global.ObjAccessor.SaveAllPlayers();
|
||||
handler.SendSysMessage(CypherStrings.PlayersSaved);
|
||||
@@ -2013,7 +2013,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("save", RBACPermissions.CommandSave)]
|
||||
static bool HandleSaveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSaveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -2038,7 +2038,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("showarea", RBACPermissions.CommandShowarea)]
|
||||
static bool HandleShowAreaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleShowAreaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -2079,7 +2079,7 @@ namespace Game.Chat
|
||||
|
||||
// Summon Player
|
||||
[CommandNonGroup("summon", RBACPermissions.CommandSummon)]
|
||||
static bool HandleSummonCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSummonCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -2191,7 +2191,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("unbindsight", RBACPermissions.CommandUnbindsight)]
|
||||
static bool HandleUnbindSightCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnbindSightCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
|
||||
@@ -2203,7 +2203,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("unfreeze", RBACPermissions.CommandUnfreeze)]
|
||||
static bool HandleUnFreezeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnFreezeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string name = "";
|
||||
Player player;
|
||||
@@ -2263,7 +2263,7 @@ namespace Game.Chat
|
||||
|
||||
// unmute player
|
||||
[CommandNonGroup("unmute", RBACPermissions.CommandUnmute, true)]
|
||||
static bool HandleUnmuteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnmuteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -2314,7 +2314,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("unpossess", RBACPermissions.CommandUnpossess)]
|
||||
static bool HandleUnPossessCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnPossessCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit unit = handler.GetSelectedUnit();
|
||||
if (!unit)
|
||||
@@ -2326,7 +2326,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("unstuck", RBACPermissions.CommandUnstuck, true)]
|
||||
static bool HandleUnstuckCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleUnstuckCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint SPELL_UNSTUCK_ID = 7355;
|
||||
uint SPELL_UNSTUCK_VISUAL = 2683;
|
||||
@@ -2401,7 +2401,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("wchange", RBACPermissions.CommandWchange)]
|
||||
static bool HandleChangeWeather(StringArguments args, CommandHandler handler)
|
||||
static bool HandleChangeWeather(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -2436,34 +2436,4 @@ namespace Game.Chat
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
[CommandGroup("achievement", RBACPermissions.CommandAchievement)]
|
||||
class AchievementCommand
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandAchievementAdd)]
|
||||
static bool Add(StringArguments args, CommandHandler handler)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
string idStr = handler.ExtractKeyFromLink(args, "Hachievement");
|
||||
if (string.IsNullOrEmpty(idStr))
|
||||
return false;
|
||||
|
||||
if (!uint.TryParse(idStr, out uint achievementId) || achievementId == 0)
|
||||
return false;
|
||||
|
||||
Player target = handler.GetSelectedPlayer();
|
||||
if (!target)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NoCharSelected);
|
||||
return false;
|
||||
}
|
||||
AchievementRecord achievementEntry = CliDB.AchievementStorage.LookupByKey(achievementId);
|
||||
if (achievementEntry != null)
|
||||
target.CompletedAchievement(achievementEntry);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ namespace Game.Chat
|
||||
class ModifyCommand
|
||||
{
|
||||
[Command("hp", RBACPermissions.CommandModifyHp)]
|
||||
static bool HandleModifyHPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyHPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
if (CheckModifyResources(args, handler, target, out int hp, out int hpmax))
|
||||
@@ -43,7 +43,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("mana", RBACPermissions.CommandModifyMana)]
|
||||
static bool HandleModifyManaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyManaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
int mana, manamax;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -60,7 +60,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("energy", RBACPermissions.CommandModifyEnergy)]
|
||||
static bool HandleModifyEnergyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyEnergyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
int energy, energymax;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -76,7 +76,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("rage", RBACPermissions.CommandModifyRage)]
|
||||
static bool HandleModifyRageCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyRageCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
int rage, ragemax;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -92,7 +92,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("runicpower", RBACPermissions.CommandModifyRunicpower)]
|
||||
static bool HandleModifyRunicPowerCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyRunicPowerCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
int rune, runemax;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -108,7 +108,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("faction", RBACPermissions.CommandModifyFaction)]
|
||||
static bool HandleModifyFactionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyFactionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string pfactionid = handler.ExtractKeyFromLink(args, "Hfaction");
|
||||
|
||||
@@ -156,7 +156,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell", RBACPermissions.CommandModifySpell)]
|
||||
static bool HandleModifySpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifySpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -205,10 +205,10 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("talentpoints", RBACPermissions.CommandModifyTalentpoints)]
|
||||
static bool HandleModifyTalentCommand(StringArguments args, CommandHandler handler) { return false; }
|
||||
static bool HandleModifyTalentCommand(CommandHandler handler, StringArguments args) { return false; }
|
||||
|
||||
[Command("scale", RBACPermissions.CommandModifyScale)]
|
||||
static bool HandleModifyScaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyScaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float Scale;
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
@@ -226,7 +226,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("mount", RBACPermissions.CommandModifyMount)]
|
||||
static bool HandleModifyMountCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyMountCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -263,7 +263,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("money", RBACPermissions.CommandModifyMoney)]
|
||||
static bool HandleModifyMoneyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyMoneyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
if (!target)
|
||||
@@ -323,7 +323,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("honor", RBACPermissions.CommandModifyHonor)]
|
||||
static bool HandleModifyHonorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyHonorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -349,7 +349,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("drunk", RBACPermissions.CommandModifyDrunk)]
|
||||
static bool HandleModifyDrunkCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyDrunkCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -366,7 +366,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reputation", RBACPermissions.CommandModifyReputation)]
|
||||
static bool HandleModifyRepCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyRepCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -458,7 +458,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("phase", RBACPermissions.CommandModifyPhase)]
|
||||
static bool HandleModifyPhaseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyPhaseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -501,7 +501,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("power", RBACPermissions.CommandModifyPower)]
|
||||
static bool HandleModifyPowerCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyPowerCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -548,7 +548,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("standstate", RBACPermissions.CommandModifyStandstate)]
|
||||
static bool HandleModifyStandStateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyStandStateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -560,7 +560,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gender", RBACPermissions.CommandModifyGender)]
|
||||
static bool HandleModifyGenderCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyGenderCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -648,7 +648,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("currency", RBACPermissions.CommandModifyCurrency)]
|
||||
static bool HandleModifyCurrencyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyCurrencyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -675,7 +675,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("morph", RBACPermissions.CommandMorph)]
|
||||
static bool HandleModifyMorphCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyMorphCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -696,7 +696,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("demorph", RBACPermissions.CommandDemorph)]
|
||||
static bool HandleDeMorphCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDeMorphCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -712,7 +712,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("xp", RBACPermissions.CommandModifyXp)]
|
||||
static bool HandleModifyXPCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyXPCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -744,13 +744,13 @@ namespace Game.Chat
|
||||
class ModifySpeed
|
||||
{
|
||||
[Command("", RBACPermissions.CommandModifySpeed)]
|
||||
static bool HandleModifySpeedCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifySpeedCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleModifyASpeedCommand(args, handler);
|
||||
return HandleModifyASpeedCommand(handler, args);
|
||||
}
|
||||
|
||||
[Command("all", RBACPermissions.CommandModifySpeedAll)]
|
||||
static bool HandleModifyASpeedCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyASpeedCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float allSpeed;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -767,7 +767,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("swim", RBACPermissions.CommandModifySpeedSwim)]
|
||||
static bool HandleModifySwimCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifySwimCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float swimSpeed;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -781,7 +781,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("backwalk", RBACPermissions.CommandModifySpeedBackwalk)]
|
||||
static bool HandleModifyBWalkCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyBWalkCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float backSpeed;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -795,7 +795,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("fly", RBACPermissions.CommandModifySpeedFly)]
|
||||
static bool HandleModifyFlyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyFlyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float flySpeed;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
@@ -809,7 +809,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("walk", RBACPermissions.CommandModifySpeedWalk)]
|
||||
static bool HandleModifyWalkSpeedCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleModifyWalkSpeedCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float Speed;
|
||||
Player target = handler.GetSelectedPlayerOrSelf();
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Game.Chat
|
||||
class NPCCommands
|
||||
{
|
||||
[Command("despawngroup", RBACPermissions.CommandNpcDespawngroup)]
|
||||
static bool HandleNpcDespawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcDespawnGroup(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -69,7 +69,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("evade", RBACPermissions.CommandNpcEvade)]
|
||||
static bool HandleNpcEvadeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcEvadeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature creatureTarget = handler.GetSelectedCreature();
|
||||
if (!creatureTarget || creatureTarget.IsPet())
|
||||
@@ -113,7 +113,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandNpcInfo)]
|
||||
static bool HandleNpcInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature target = handler.GetSelectedCreature();
|
||||
if (!target)
|
||||
@@ -202,7 +202,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("move", RBACPermissions.CommandNpcMove)]
|
||||
static bool HandleNpcMoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcMoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
ulong lowguid;
|
||||
|
||||
@@ -268,7 +268,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("near", RBACPermissions.CommandNpcNear)]
|
||||
static bool HandleNpcNearCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcNearCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
float distance = args.Empty() ? 10.0f : args.NextSingle();
|
||||
uint count = 0;
|
||||
@@ -314,7 +314,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("playemote", RBACPermissions.CommandNpcPlayemote)]
|
||||
static bool HandleNpcPlayEmoteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcPlayEmoteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint emote = args.NextUInt32();
|
||||
|
||||
@@ -331,7 +331,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("say", RBACPermissions.CommandNpcSay)]
|
||||
static bool HandleNpcSayCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSayCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -363,7 +363,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("showloot", RBACPermissions.CommandNpcShowloot)]
|
||||
static bool HandleNpcShowLootCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcShowLootCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature creatureTarget = handler.GetSelectedCreature();
|
||||
if (creatureTarget == null || creatureTarget.IsPet())
|
||||
@@ -424,7 +424,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spawngroup", RBACPermissions.CommandNpcSpawngroup)]
|
||||
static bool HandleNpcSpawnGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSpawnGroup(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -465,7 +465,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("tame", RBACPermissions.CommandNpcTame)]
|
||||
static bool HandleNpcTameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcTameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature creatureTarget = handler.GetSelectedCreature();
|
||||
if (!creatureTarget || creatureTarget.IsPet())
|
||||
@@ -528,7 +528,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("textemote", RBACPermissions.CommandNpcTextemote)]
|
||||
static bool HandleNpcTextEmoteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcTextEmoteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -547,7 +547,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("whisper", RBACPermissions.CommandNpcWhisper)]
|
||||
static bool HandleNpcWhisperCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcWhisperCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -583,7 +583,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("yell", RBACPermissions.CommandNpcYell)]
|
||||
static bool HandleNpcYellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcYellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -639,7 +639,7 @@ namespace Game.Chat
|
||||
class AddCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandNpcAdd)]
|
||||
static bool HandleNpcAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcAddCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -694,7 +694,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("item", RBACPermissions.CommandNpcAddItem)]
|
||||
static bool HandleNpcAddVendorItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcAddVendorItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -757,7 +757,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("move", RBACPermissions.CommandNpcAddMove)]
|
||||
static bool HandleNpcAddMoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcAddMoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -788,7 +788,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("formation", RBACPermissions.CommandNpcAddFormation)]
|
||||
static bool HandleNpcAddFormationCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcAddFormationCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -834,7 +834,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("temp", RBACPermissions.CommandNpcAddTemp)]
|
||||
static bool HandleNpcAddTempSpawnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcAddTempSpawnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -867,7 +867,7 @@ namespace Game.Chat
|
||||
class DeleteCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandNpcDelete)]
|
||||
static bool HandleNpcDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
ulong spawnId;
|
||||
|
||||
@@ -914,7 +914,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("item", RBACPermissions.CommandNpcDeleteItem)]
|
||||
static bool HandleNpcDeleteVendorItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcDeleteVendorItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -954,7 +954,7 @@ namespace Game.Chat
|
||||
class FollowCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandNpcFollow)]
|
||||
static bool HandleNpcFollowCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcFollowCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
Creature creature = handler.GetSelectedCreature();
|
||||
@@ -973,7 +973,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stop", RBACPermissions.CommandNpcFollowStop)]
|
||||
static bool HandleNpcUnFollowCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcUnFollowCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetPlayer();
|
||||
Creature creature = handler.GetSelectedCreature();
|
||||
@@ -1010,7 +1010,7 @@ namespace Game.Chat
|
||||
class SetCommands
|
||||
{
|
||||
[Command("allowmove", RBACPermissions.CommandNpcSetAllowmove)]
|
||||
static bool HandleNpcSetAllowMovementCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetAllowMovementCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
/*
|
||||
if (Global.WorldMgr.getAllowMovement())
|
||||
@@ -1028,7 +1028,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("data", RBACPermissions.CommandNpcSetData)]
|
||||
static bool HandleNpcSetDataCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetDataCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1053,7 +1053,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("entry", RBACPermissions.CommandNpcSetEntry)]
|
||||
static bool HandleNpcSetEntryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetEntryCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1078,7 +1078,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("factionid", RBACPermissions.CommandNpcSetFactionid)]
|
||||
static bool HandleNpcSetFactionIdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetFactionIdCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1121,7 +1121,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("flag", RBACPermissions.CommandNpcSetFlag)]
|
||||
static bool HandleNpcSetFlagCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetFlagCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1149,7 +1149,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("level", RBACPermissions.CommandNpcSetLevel)]
|
||||
static bool HandleNpcSetLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1177,7 +1177,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("link", RBACPermissions.CommandNpcSetLink)]
|
||||
static bool HandleNpcSetLinkCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetLinkCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1208,7 +1208,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("model", RBACPermissions.CommandNpcSetModel)]
|
||||
static bool HandleNpcSetModelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetModelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1238,7 +1238,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("movetype", RBACPermissions.CommandNpcSetMovetype)]
|
||||
static bool HandleNpcSetMoveTypeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetMoveTypeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1352,7 +1352,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("phase", RBACPermissions.CommandNpcSetPhase)]
|
||||
static bool HandleNpcSetPhaseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetPhaseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1380,7 +1380,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("phasegroup", RBACPermissions.CommandNpcSetPhase)]
|
||||
static bool HandleNpcSetPhaseGroup(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetPhaseGroup(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1404,7 +1404,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("wanderdistance", RBACPermissions.CommandNpcSetSpawndist)]
|
||||
static bool HandleNpcSetWanderDistanceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetWanderDistanceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -1449,7 +1449,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spawntime", RBACPermissions.CommandNpcSetSpawntime)]
|
||||
static bool HandleNpcSetSpawnTimeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleNpcSetSpawnTimeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat
|
||||
class PetCommands
|
||||
{
|
||||
[Command("create", RBACPermissions.CommandPetCreate)]
|
||||
static bool HandlePetCreateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePetCreateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
Creature creatureTarget = handler.GetSelectedCreature();
|
||||
@@ -94,7 +94,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("learn", RBACPermissions.CommandPetLearn)]
|
||||
static bool HandlePetLearnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePetLearnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -132,7 +132,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("unlearn", RBACPermissions.CommandPetUnlearn)]
|
||||
static bool HandlePetUnlearnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePetUnlearnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -155,7 +155,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("level", RBACPermissions.CommandPetLevel)]
|
||||
static bool HandlePetLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePetLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Pet pet = GetSelectedPlayerPetOrOwn(handler);
|
||||
Player owner = pet ? pet.GetOwner() : null;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class QuestCommands
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandQuestAdd)]
|
||||
static bool Add(StringArguments args, CommandHandler handler)
|
||||
static bool Add(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
@@ -71,7 +71,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("complete", RBACPermissions.CommandQuestComplete)]
|
||||
static bool Complete(StringArguments args, CommandHandler handler)
|
||||
static bool Complete(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
@@ -169,7 +169,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("remove", RBACPermissions.CommandQuestRemove)]
|
||||
static bool Remove(StringArguments args, CommandHandler handler)
|
||||
static bool Remove(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
@@ -231,7 +231,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reward", RBACPermissions.CommandQuestReward)]
|
||||
static bool Reward(StringArguments args, CommandHandler handler)
|
||||
static bool Reward(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSelectedPlayer();
|
||||
if (!player)
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Game.Chat.Commands
|
||||
class RbacComands
|
||||
{
|
||||
[Command("list", RBACPermissions.CommandRbacList, true)]
|
||||
static bool HandleRBACListPermissionsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRBACListPermissionsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint id = args.NextUInt32();
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace Game.Chat.Commands
|
||||
class RbacAccountCommands
|
||||
{
|
||||
[Command("grant", RBACPermissions.CommandRbacAccPermGrant, true)]
|
||||
static bool HandleRBACPermGrantCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRBACPermGrantCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
RBACCommandData command = ReadParams(args, handler);
|
||||
if (command == null)
|
||||
@@ -100,7 +100,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("deny", RBACPermissions.CommandRbacAccPermDeny, true)]
|
||||
static bool HandleRBACPermDenyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRBACPermDenyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
RBACCommandData command = ReadParams(args, handler);
|
||||
|
||||
@@ -135,7 +135,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("revoke", RBACPermissions.CommandRbacAccPermRevoke, true)]
|
||||
static bool HandleRBACPermRevokeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRBACPermRevokeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
RBACCommandData command = ReadParams(args, handler);
|
||||
|
||||
@@ -166,7 +166,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandRbacAccPermList, true)]
|
||||
static bool HandleRBACPermListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleRBACPermListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
RBACCommandData command = ReadParams(args, handler, false);
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat
|
||||
class ReloadCommand
|
||||
{
|
||||
[Command("access_requirement", RBACPermissions.CommandReloadAccessRequirement, true)]
|
||||
static bool HandleReloadAccessRequirementCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAccessRequirementCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Access Requirement definitions...");
|
||||
Global.ObjectMgr.LoadAccessRequirements();
|
||||
@@ -37,7 +37,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("achievement_reward", RBACPermissions.CommandReloadAchievementReward, true)]
|
||||
static bool HandleReloadAchievementRewardCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAchievementRewardCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Achievement Reward Data...");
|
||||
Global.AchievementMgr.LoadRewards();
|
||||
@@ -46,7 +46,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("areatrigger_involvedrelation", RBACPermissions.CommandReloadAreatriggerInvolvedrelation, true)]
|
||||
static bool HandleReloadQuestAreaTriggersCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadQuestAreaTriggersCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quest Area Triggers...");
|
||||
Global.ObjectMgr.LoadQuestAreaTriggers();
|
||||
@@ -55,7 +55,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("areatrigger_tavern", RBACPermissions.CommandReloadAreatriggerTavern, true)]
|
||||
static bool HandleReloadAreaTriggerTavernCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAreaTriggerTavernCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Tavern Area Triggers...");
|
||||
Global.ObjectMgr.LoadTavernAreaTriggers();
|
||||
@@ -64,7 +64,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("areatrigger_teleport", RBACPermissions.CommandReloadAreatriggerTeleport, true)]
|
||||
static bool HandleReloadAreaTriggerTeleportCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAreaTriggerTeleportCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading AreaTrigger teleport definitions...");
|
||||
Global.ObjectMgr.LoadAreaTriggerTeleports();
|
||||
@@ -73,7 +73,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("areatrigger_template", RBACPermissions.CommandReloadSceneTemplate, true)]
|
||||
static bool HandleReloadAreaTriggerTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAreaTriggerTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading areatrigger_template table...");
|
||||
Global.AreaTriggerDataStorage.LoadAreaTriggerTemplates();
|
||||
@@ -82,7 +82,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("auctions", RBACPermissions.CommandReloadAuctions, true)]
|
||||
static bool HandleReloadAuctionsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAuctionsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// Reload dynamic data tables from the database
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Auctions...");
|
||||
@@ -92,7 +92,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("autobroadcast", RBACPermissions.CommandReloadAutobroadcast, true)]
|
||||
static bool HandleReloadAutobroadcastCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAutobroadcastCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Autobroadcasts...");
|
||||
Global.WorldMgr.LoadAutobroadcasts();
|
||||
@@ -101,7 +101,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("battleground_template", RBACPermissions.CommandReloadBattlegroundTemplate, true)]
|
||||
static bool HandleReloadBattlegroundTemplate(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadBattlegroundTemplate(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Misc, "Re-Loading Battleground Templates...");
|
||||
Global.BattlegroundMgr.LoadBattlegroundTemplates();
|
||||
@@ -110,7 +110,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("character_template", RBACPermissions.CommandReloadCharacterTemplate, true)]
|
||||
static bool HandleReloadCharacterTemplate(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCharacterTemplate(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Character Templates...");
|
||||
Global.CharacterTemplateDataStorage.LoadCharacterTemplates();
|
||||
@@ -119,10 +119,10 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("command", RBACPermissions.CommandReloadCommand, true)]
|
||||
static bool HandleReloadCommandCommand(StringArguments args, CommandHandler handler) { return true; }
|
||||
static bool HandleReloadCommandCommand(CommandHandler handler, StringArguments args) { return true; }
|
||||
|
||||
[Command("conditions", RBACPermissions.CommandReloadConditions, true)]
|
||||
static bool HandleReloadConditions(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadConditions(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Conditions...");
|
||||
Global.ConditionMgr.LoadConditions(true);
|
||||
@@ -131,7 +131,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("config", RBACPermissions.CommandReloadConfig, true)]
|
||||
static bool HandleReloadConfigCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadConfigCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading config settings...");
|
||||
Global.WorldMgr.LoadConfigSettings(true);
|
||||
@@ -141,7 +141,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("conversation_template", RBACPermissions.CommandReloadConversationTemplate, true)]
|
||||
static bool HandleReloadConversationTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadConversationTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading conversation_* tables...");
|
||||
Global.ConversationDataStorage.LoadConversationTemplates();
|
||||
@@ -150,7 +150,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_linked_respawn", RBACPermissions.CommandReloadCreatureLinkedRespawn, true)]
|
||||
static bool HandleReloadLinkedRespawnCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLinkedRespawnCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading Linked Respawns... (`creature_linked_respawn`)");
|
||||
Global.ObjectMgr.LoadLinkedRespawn();
|
||||
@@ -159,7 +159,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_loot_template", RBACPermissions.CommandReloadCreatureLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesCreatureCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesCreatureCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`creature_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Creature();
|
||||
@@ -170,7 +170,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_movement_override", RBACPermissions.CommandReloadCreatureMovementOverride, true)]
|
||||
static bool HandleReloadCreatureMovementOverrideCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureMovementOverrideCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Creature movement overrides...");
|
||||
Global.ObjectMgr.LoadCreatureMovementOverrides();
|
||||
@@ -179,7 +179,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_onkill_reputation", RBACPermissions.CommandReloadCreatureOnkillReputation, true)]
|
||||
static bool HandleReloadOnKillReputationCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadOnKillReputationCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading creature award reputation definitions...");
|
||||
Global.ObjectMgr.LoadReputationOnKill();
|
||||
@@ -188,7 +188,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_questender", RBACPermissions.CommandReloadCreatureQuestender, true)]
|
||||
static bool HandleReloadCreatureQuestEnderCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureQuestEnderCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading Quests Relations... (`creature_questender`)");
|
||||
Global.ObjectMgr.LoadCreatureQuestEnders();
|
||||
@@ -197,7 +197,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_queststarter", RBACPermissions.CommandReloadCreatureQueststarter, true)]
|
||||
static bool HandleReloadCreatureQuestStarterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureQuestStarterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading Quests Relations... (`creature_queststarter`)");
|
||||
Global.ObjectMgr.LoadCreatureQuestStarters();
|
||||
@@ -206,7 +206,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_summon_groups", RBACPermissions.CommandReloadCreatureSummonGroups, true)]
|
||||
static bool HandleReloadCreatureSummonGroupsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureSummonGroupsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading creature summon groups...");
|
||||
Global.ObjectMgr.LoadTempSummons();
|
||||
@@ -215,7 +215,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_template", RBACPermissions.CommandReloadCreatureTemplate, true)]
|
||||
static bool HandleReloadCreatureTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -253,7 +253,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_text", RBACPermissions.CommandReloadCreatureText, true)]
|
||||
static bool HandleReloadCreatureText(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureText(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Creature Texts...");
|
||||
Global.CreatureTextMgr.LoadCreatureTexts();
|
||||
@@ -262,7 +262,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("trinity_string", RBACPermissions.CommandReloadCypherString, true)]
|
||||
static bool HandleReloadCypherStringCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCypherStringCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading trinity_string Table!");
|
||||
Global.ObjectMgr.LoadCypherStrings();
|
||||
@@ -271,7 +271,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("criteria_data", RBACPermissions.CommandReloadCriteriaData, true)]
|
||||
static bool HandleReloadCriteriaDataCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCriteriaDataCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Additional Criteria Data...");
|
||||
Global.CriteriaMgr.LoadCriteriaData();
|
||||
@@ -280,7 +280,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("disables", RBACPermissions.CommandReloadDisables, true)]
|
||||
static bool HandleReloadDisablesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadDisablesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading disables table...");
|
||||
Global.DisableMgr.LoadDisables();
|
||||
@@ -291,7 +291,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("disenchant_loot_template", RBACPermissions.CommandReloadDisenchantLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesDisenchantCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesDisenchantCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`disenchant_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Disenchant();
|
||||
@@ -302,7 +302,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("event_scripts", RBACPermissions.CommandReloadEventScripts, true)]
|
||||
static bool HandleReloadEventScriptsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadEventScriptsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MapMgr.IsScriptScheduled())
|
||||
{
|
||||
@@ -322,7 +322,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("fishing_loot_template", RBACPermissions.CommandReloadFishingLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesFishingCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesFishingCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`fishing_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Fishing();
|
||||
@@ -333,7 +333,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("graveyard_zone", RBACPermissions.CommandReloadGraveyardZone, true)]
|
||||
static bool HandleReloadGameGraveyardZoneCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGameGraveyardZoneCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Graveyard-zone links...");
|
||||
|
||||
@@ -345,7 +345,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("game_tele", RBACPermissions.CommandReloadGameTele, true)]
|
||||
static bool HandleReloadGameTeleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGameTeleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Game Tele coordinates...");
|
||||
|
||||
@@ -357,7 +357,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gameobject_loot_template", RBACPermissions.CommandReloadGameobjectQuestLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesGameobjectCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesGameobjectCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`gameobject_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Gameobject();
|
||||
@@ -368,7 +368,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gameobject_questender", RBACPermissions.CommandReloadGameobjectQuestender, true)]
|
||||
static bool HandleReloadGOQuestEnderCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGOQuestEnderCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading Quests Relations... (`gameobject_questender`)");
|
||||
Global.ObjectMgr.LoadGameobjectQuestEnders();
|
||||
@@ -377,7 +377,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gameobject_queststarter", RBACPermissions.CommandReloadGameobjectQueststarter, true)]
|
||||
static bool HandleReloadGOQuestStarterCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGOQuestStarterCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading Quests Relations... (`gameobject_queststarter`)");
|
||||
Global.ObjectMgr.LoadGameobjectQuestStarters();
|
||||
@@ -386,7 +386,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gossip_menu", RBACPermissions.CommandReloadGossipMenu, true)]
|
||||
static bool HandleReloadGossipMenuCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGossipMenuCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `gossip_menu` Table!");
|
||||
Global.ObjectMgr.LoadGossipMenu();
|
||||
@@ -396,7 +396,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gossip_menu_option", RBACPermissions.CommandReloadGossipMenuOption, true)]
|
||||
static bool HandleReloadGossipMenuOptionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGossipMenuOptionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `gossip_menu_option` Table!");
|
||||
Global.ObjectMgr.LoadGossipMenuItems();
|
||||
@@ -406,7 +406,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("item_random_bonus_list_template", RBACPermissions.CommandReloadItemRandomBonusListTemplate, true)]
|
||||
static bool HandleReloadItemRandomBonusListTemplatesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadItemRandomBonusListTemplatesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Random item bonus list definitions...");
|
||||
ItemEnchantmentManager.LoadItemRandomBonusListTemplates();
|
||||
@@ -415,7 +415,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("item_loot_template", RBACPermissions.CommandReloadItemLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`item_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Item();
|
||||
@@ -426,7 +426,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("lfg_dungeon_rewards", RBACPermissions.CommandReloadLfgDungeonRewards, true)]
|
||||
static bool HandleReloadLfgRewardsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLfgRewardsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading lfg dungeon rewards...");
|
||||
Global.LFGMgr.LoadRewards();
|
||||
@@ -435,7 +435,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("achievement_reward_locale", RBACPermissions.CommandReloadAchievementRewardLocale, true)]
|
||||
static bool HandleReloadAchievementRewardLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAchievementRewardLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Achievement Reward Data Locale...");
|
||||
Global.AchievementMgr.LoadRewardLocales();
|
||||
@@ -444,7 +444,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_template_locale", RBACPermissions.CommandReloadCreatureTemplateLocale, true)]
|
||||
static bool HandleReloadCreatureTemplateLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureTemplateLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Creature Template Locale...");
|
||||
Global.ObjectMgr.LoadCreatureLocales();
|
||||
@@ -453,7 +453,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("creature_text_locale", RBACPermissions.CommandReloadCreatureTextLocale, true)]
|
||||
static bool HandleReloadCreatureTextLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadCreatureTextLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Creature Texts Locale...");
|
||||
Global.CreatureTextMgr.LoadCreatureTextLocales();
|
||||
@@ -462,7 +462,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gameobject_template_locale", RBACPermissions.CommandReloadGameobjectTemplateLocale, true)]
|
||||
static bool HandleReloadGameobjectTemplateLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGameobjectTemplateLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Gameobject Template Locale... ");
|
||||
Global.ObjectMgr.LoadGameObjectLocales();
|
||||
@@ -471,7 +471,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("gossip_menu_option_locale", RBACPermissions.CommandReloadGossipMenuOptionLocale, true)]
|
||||
static bool HandleReloadGossipMenuOptionLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadGossipMenuOptionLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Gossip Menu Option Locale... ");
|
||||
Global.ObjectMgr.LoadGossipMenuItemsLocales();
|
||||
@@ -480,7 +480,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("page_text_locale", RBACPermissions.CommandReloadPageTextLocale, true)]
|
||||
static bool HandleReloadPageTextLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadPageTextLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Page Text Locale... ");
|
||||
Global.ObjectMgr.LoadPageTextLocales();
|
||||
@@ -489,7 +489,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("points_of_interest_locale", RBACPermissions.CommandReloadPointsOfInterestLocale, true)]
|
||||
static bool HandleReloadPointsOfInterestLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadPointsOfInterestLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Points Of Interest Locale... ");
|
||||
Global.ObjectMgr.LoadPointOfInterestLocales();
|
||||
@@ -498,7 +498,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("mail_level_reward", RBACPermissions.CommandReloadMailLevelReward, true)]
|
||||
static bool HandleReloadMailLevelRewardCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadMailLevelRewardCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Player level dependent mail rewards...");
|
||||
Global.ObjectMgr.LoadMailLevelRewards();
|
||||
@@ -507,7 +507,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("mail_loot_template", RBACPermissions.CommandReloadMailLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesMailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesMailCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`mail_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Mail();
|
||||
@@ -518,7 +518,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("milling_loot_template", RBACPermissions.CommandReloadMillingLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesMillingCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesMillingCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`milling_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Milling();
|
||||
@@ -529,7 +529,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("npc_spellclick_spells", RBACPermissions.CommandReloadNpcSpellclickSpells, true)]
|
||||
static bool HandleReloadSpellClickSpellsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellClickSpellsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `npc_spellclick_spells` Table!");
|
||||
Global.ObjectMgr.LoadNPCSpellClickSpells();
|
||||
@@ -538,7 +538,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("npc_vendor", RBACPermissions.CommandReloadNpcVendor, true)]
|
||||
static bool HandleReloadNpcVendorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadNpcVendorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `npc_vendor` Table!");
|
||||
Global.ObjectMgr.LoadVendors();
|
||||
@@ -547,7 +547,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("page_text", RBACPermissions.CommandReloadPageText, true)]
|
||||
static bool HandleReloadPageTextsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadPageTextsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Page Text...");
|
||||
Global.ObjectMgr.LoadPageTexts();
|
||||
@@ -556,7 +556,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("pickpocketing_loot_template", RBACPermissions.CommandReloadPickpocketingLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesPickpocketingCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesPickpocketingCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`pickpocketing_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Pickpocketing();
|
||||
@@ -567,7 +567,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("points_of_interest", RBACPermissions.CommandReloadPointsOfInterest, true)]
|
||||
static bool HandleReloadPointsOfInterestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadPointsOfInterestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `points_of_interest` Table!");
|
||||
Global.ObjectMgr.LoadPointsOfInterest();
|
||||
@@ -576,7 +576,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("prospecting_loot_template", RBACPermissions.CommandReloadProspectingLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesProspectingCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesProspectingCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`prospecting_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Prospecting();
|
||||
@@ -587,7 +587,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("quest_greeting", RBACPermissions.CommandReloadQuestGreeting, true)]
|
||||
static bool HandleReloadQuestGreetingCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadQuestGreetingCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quest Greeting ... ");
|
||||
Global.ObjectMgr.LoadQuestGreetings();
|
||||
@@ -596,7 +596,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("quest_locale", RBACPermissions.CommandReloadQuestTemplateLocale, true)]
|
||||
static bool HandleReloadQuestTemplateLocaleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadQuestTemplateLocaleCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quest Locale... ");
|
||||
Global.ObjectMgr.LoadQuestTemplateLocale();
|
||||
@@ -613,7 +613,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("quest_poi", RBACPermissions.CommandReloadQuestPoi, true)]
|
||||
static bool HandleReloadQuestPOICommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadQuestPOICommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quest POI ...");
|
||||
Global.ObjectMgr.LoadQuestPOI();
|
||||
@@ -623,7 +623,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("quest_template", RBACPermissions.CommandReloadQuestTemplate, true)]
|
||||
static bool HandleReloadQuestTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadQuestTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quest Templates...");
|
||||
Global.ObjectMgr.LoadQuests();
|
||||
@@ -638,7 +638,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("rbac", RBACPermissions.CommandReloadRbac, true)]
|
||||
static bool HandleReloadRBACCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadRBACCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading RBAC tables...");
|
||||
Global.AccountMgr.LoadRBAC();
|
||||
@@ -648,7 +648,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reference_loot_template", RBACPermissions.CommandReloadReferenceLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesReferenceCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesReferenceCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`reference_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Reference();
|
||||
@@ -658,7 +658,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reputation_reward_rate", RBACPermissions.CommandReloadReputationRewardRate, true)]
|
||||
static bool HandleReloadReputationRewardRateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadReputationRewardRateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `reputation_reward_rate` Table!");
|
||||
Global.ObjectMgr.LoadReputationRewardRate();
|
||||
@@ -667,7 +667,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reputation_spillover_template", RBACPermissions.CommandReloadSpilloverTemplate, true)]
|
||||
static bool HandleReloadReputationSpilloverTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadReputationSpilloverTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading `reputation_spillover_template` Table!");
|
||||
Global.ObjectMgr.LoadReputationSpilloverTemplate();
|
||||
@@ -676,7 +676,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("reserved_name", RBACPermissions.CommandReloadReservedName, true)]
|
||||
static bool HandleReloadReservedNameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadReservedNameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Loading ReservedNames... (`reserved_name`)");
|
||||
Global.ObjectMgr.LoadReservedPlayersNames();
|
||||
@@ -685,7 +685,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("scene_template", RBACPermissions.CommandReloadSceneTemplate, true)]
|
||||
static bool HandleReloadSceneTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSceneTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Misc, "Reloading scene_template table...");
|
||||
Global.ObjectMgr.LoadSceneTemplates();
|
||||
@@ -694,7 +694,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("skill_discovery_template", RBACPermissions.CommandReloadSkillDiscoveryTemplate, true)]
|
||||
static bool HandleReloadSkillDiscoveryTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSkillDiscoveryTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Skill Discovery Table...");
|
||||
SkillDiscovery.LoadSkillDiscoveryTable();
|
||||
@@ -702,7 +702,7 @@ namespace Game.Chat
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleReloadSkillPerfectItemTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSkillPerfectItemTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{ // latched onto HandleReloadSkillExtraItemTemplateCommand as it's part of that table group (and i don't want to chance all the command IDs)
|
||||
Log.outInfo(LogFilter.Misc, "Re-Loading Skill Perfection Data Table...");
|
||||
SkillPerfectItems.LoadSkillPerfectItemTable();
|
||||
@@ -711,17 +711,17 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("skill_extra_item_template", RBACPermissions.CommandReloadSkillExtraItemTemplate, true)]
|
||||
static bool HandleReloadSkillExtraItemTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSkillExtraItemTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Skill Extra Item Table...");
|
||||
SkillExtraItems.LoadSkillExtraItemTable();
|
||||
handler.SendGlobalGMSysMessage("DB table `skill_extra_item_template` (extra item creation when crafting) reloaded.");
|
||||
|
||||
return HandleReloadSkillPerfectItemTemplateCommand(args, handler);
|
||||
return HandleReloadSkillPerfectItemTemplateCommand(handler, args);
|
||||
}
|
||||
|
||||
[Command("skill_fishing_base_level", RBACPermissions.CommandReloadSkillFishingBaseLevel, true)]
|
||||
static bool HandleReloadSkillFishingBaseLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSkillFishingBaseLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Skill Fishing base level requirements...");
|
||||
Global.ObjectMgr.LoadFishingBaseSkillLevel();
|
||||
@@ -730,7 +730,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("skinning_loot_template", RBACPermissions.CommandReloadSkinningLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesSkinningCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesSkinningCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`skinning_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Skinning();
|
||||
@@ -741,7 +741,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("smart_scripts", RBACPermissions.CommandReloadSmartScripts, true)]
|
||||
static bool HandleReloadSmartScripts(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSmartScripts(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Smart Scripts...");
|
||||
Global.SmartAIMgr.LoadFromDB();
|
||||
@@ -750,7 +750,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_area", RBACPermissions.CommandReloadSpellArea, true)]
|
||||
static bool HandleReloadSpellAreaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellAreaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading SpellArea Data...");
|
||||
Global.SpellMgr.LoadSpellAreas();
|
||||
@@ -759,7 +759,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_group", RBACPermissions.CommandReloadSpellGroup, true)]
|
||||
static bool HandleReloadSpellGroupsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellGroupsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Groups...");
|
||||
Global.SpellMgr.LoadSpellGroups();
|
||||
@@ -768,7 +768,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_group_stack_rules", RBACPermissions.CommandReloadSpellGroupStackRules, true)]
|
||||
static bool HandleReloadSpellGroupStackRulesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellGroupStackRulesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Group Stack Rules...");
|
||||
Global.SpellMgr.LoadSpellGroupStackRules();
|
||||
@@ -777,7 +777,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_learn_spell", RBACPermissions.CommandReloadSpellLearnSpell, true)]
|
||||
static bool HandleReloadSpellLearnSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellLearnSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Learn Spells...");
|
||||
Global.SpellMgr.LoadSpellLearnSpells();
|
||||
@@ -786,7 +786,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_linked_spell", RBACPermissions.CommandReloadSpellLinkedSpell, true)]
|
||||
static bool HandleReloadSpellLinkedSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellLinkedSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Linked Spells...");
|
||||
Global.SpellMgr.LoadSpellLinked();
|
||||
@@ -795,7 +795,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_loot_template", RBACPermissions.CommandReloadSpellLootTemplate, true)]
|
||||
static bool HandleReloadLootTemplatesSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadLootTemplatesSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables... (`spell_loot_template`)");
|
||||
LootManager.LoadLootTemplates_Spell();
|
||||
@@ -806,7 +806,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_pet_auras", RBACPermissions.CommandReloadSpellPetAuras, true)]
|
||||
static bool HandleReloadSpellPetAurasCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellPetAurasCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell pet auras...");
|
||||
Global.SpellMgr.LoadSpellPetAuras();
|
||||
@@ -815,7 +815,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_proc", RBACPermissions.CommandReloadSpellProc, true)]
|
||||
static bool HandleReloadSpellProcsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellProcsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Proc conditions and data...");
|
||||
Global.SpellMgr.LoadSpellProcs();
|
||||
@@ -824,7 +824,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_required", RBACPermissions.CommandReloadSpellRequired, true)]
|
||||
static bool HandleReloadSpellRequiredCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellRequiredCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell Required Data... ");
|
||||
Global.SpellMgr.LoadSpellRequired();
|
||||
@@ -833,7 +833,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_scripts", RBACPermissions.CommandReloadSpellScripts, true)]
|
||||
static bool HandleReloadSpellScriptsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellScriptsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MapMgr.IsScriptScheduled())
|
||||
{
|
||||
@@ -853,7 +853,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_target_position", RBACPermissions.CommandReloadSpellTargetPosition, true)]
|
||||
static bool HandleReloadSpellTargetPositionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellTargetPositionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Spell target coordinates...");
|
||||
Global.SpellMgr.LoadSpellTargetPositions();
|
||||
@@ -862,7 +862,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spell_threats", RBACPermissions.CommandReloadSpellThreats, true)]
|
||||
static bool HandleReloadSpellThreatsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSpellThreatsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Aggro Spells Definitions...");
|
||||
Global.SpellMgr.LoadSpellThreats();
|
||||
@@ -871,7 +871,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("support", RBACPermissions.CommandReloadSupportSystem, true)]
|
||||
static bool HandleReloadSupportSystemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadSupportSystemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Support System Tables...");
|
||||
Global.SupportMgr.LoadBugTickets();
|
||||
@@ -882,7 +882,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("trainer", RBACPermissions.CommandReloadTrainer, true)]
|
||||
static bool HandleReloadTrainerCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadTrainerCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Misc, "Re-Loading `trainer` Table!");
|
||||
Global.ObjectMgr.LoadTrainers();
|
||||
@@ -895,7 +895,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("vehicle_accessory", RBACPermissions.CommandReloadVehicleAccesory, true)]
|
||||
static bool HandleReloadVehicleAccessoryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadVehicleAccessoryCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading vehicle_accessory table...");
|
||||
Global.ObjectMgr.LoadVehicleAccessories();
|
||||
@@ -904,7 +904,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("vehicle_template", RBACPermissions.CommandReloadVehicleTemplate, true)]
|
||||
static bool HandleReloadVehicleTemplateCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadVehicleTemplateCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading vehicle_template table...");
|
||||
Global.ObjectMgr.LoadVehicleTemplate();
|
||||
@@ -913,7 +913,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("vehicle_template_accessory", RBACPermissions.CommandReloadVehicleTemplateAccessory, true)]
|
||||
static bool HandleReloadVehicleTemplateAccessoryCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadVehicleTemplateAccessoryCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Reloading vehicle_template_accessory table...");
|
||||
Global.ObjectMgr.LoadVehicleTemplateAccessories();
|
||||
@@ -922,7 +922,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("warden_action", RBACPermissions.CommandReloadWardenAction, true)]
|
||||
static bool HandleReloadWardenactionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadWardenactionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (!WorldConfig.GetBoolValue(WorldCfg.WardenEnabled))
|
||||
{
|
||||
@@ -937,7 +937,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("waypoint_data", RBACPermissions.CommandReloadWaypointData, true)]
|
||||
static bool HandleReloadWpCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadWpCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args != null)
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Waypoints data from 'waypoints_data'");
|
||||
@@ -951,7 +951,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("waypoint_scripts", RBACPermissions.CommandReloadWaypointScripts, true)]
|
||||
static bool HandleReloadWpScriptsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadWpScriptsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MapMgr.IsScriptScheduled())
|
||||
{
|
||||
@@ -974,89 +974,89 @@ namespace Game.Chat
|
||||
class AllCommand
|
||||
{
|
||||
[Command("", RBACPermissions.CommandReloadAll, true)]
|
||||
static bool HandleReloadAllCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadSkillFishingBaseLevelCommand(args, handler);
|
||||
HandleReloadSkillFishingBaseLevelCommand(handler, args);
|
||||
|
||||
HandleReloadAllAchievementCommand(args, handler);
|
||||
HandleReloadAllAreaCommand(args, handler);
|
||||
HandleReloadAllLootCommand(args, handler);
|
||||
HandleReloadAllNpcCommand(args, handler);
|
||||
HandleReloadAllQuestCommand(args, handler);
|
||||
HandleReloadAllSpellCommand(args, handler);
|
||||
HandleReloadAllItemCommand(args, handler);
|
||||
HandleReloadAllGossipsCommand(args, handler);
|
||||
HandleReloadAllLocalesCommand(args, handler);
|
||||
HandleReloadAllAchievementCommand(handler, args);
|
||||
HandleReloadAllAreaCommand(handler, args);
|
||||
HandleReloadAllLootCommand(handler, args);
|
||||
HandleReloadAllNpcCommand(handler, args);
|
||||
HandleReloadAllQuestCommand(handler, args);
|
||||
HandleReloadAllSpellCommand(handler, args);
|
||||
HandleReloadAllItemCommand(handler, args);
|
||||
HandleReloadAllGossipsCommand(handler, args);
|
||||
HandleReloadAllLocalesCommand(handler, args);
|
||||
|
||||
HandleReloadAccessRequirementCommand(args, handler);
|
||||
HandleReloadMailLevelRewardCommand(args, handler);
|
||||
HandleReloadReservedNameCommand(args, handler);
|
||||
HandleReloadCypherStringCommand(args, handler);
|
||||
HandleReloadGameTeleCommand(args, handler);
|
||||
HandleReloadAccessRequirementCommand(handler, args);
|
||||
HandleReloadMailLevelRewardCommand(handler, args);
|
||||
HandleReloadReservedNameCommand(handler, args);
|
||||
HandleReloadCypherStringCommand(handler, args);
|
||||
HandleReloadGameTeleCommand(handler, args);
|
||||
|
||||
HandleReloadCreatureMovementOverrideCommand(args, handler);
|
||||
HandleReloadCreatureSummonGroupsCommand(args, handler);
|
||||
HandleReloadCreatureMovementOverrideCommand(handler, args);
|
||||
HandleReloadCreatureSummonGroupsCommand(handler, args);
|
||||
|
||||
HandleReloadVehicleAccessoryCommand(args, handler);
|
||||
HandleReloadVehicleTemplateAccessoryCommand(args, handler);
|
||||
HandleReloadVehicleAccessoryCommand(handler, args);
|
||||
HandleReloadVehicleTemplateAccessoryCommand(handler, args);
|
||||
|
||||
HandleReloadAutobroadcastCommand(args, handler);
|
||||
HandleReloadBattlegroundTemplate(args, handler);
|
||||
HandleReloadCharacterTemplate(args, handler);
|
||||
HandleReloadAutobroadcastCommand(handler, args);
|
||||
HandleReloadBattlegroundTemplate(handler, args);
|
||||
HandleReloadCharacterTemplate(handler, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("achievement", RBACPermissions.CommandReloadAllAchievement, true)]
|
||||
static bool HandleReloadAllAchievementCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllAchievementCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadCriteriaDataCommand(args, handler);
|
||||
HandleReloadAchievementRewardCommand(args, handler);
|
||||
HandleReloadCriteriaDataCommand(handler, args);
|
||||
HandleReloadAchievementRewardCommand(handler, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("area", RBACPermissions.CommandReloadAllArea, true)]
|
||||
static bool HandleReloadAllAreaCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllAreaCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadAreaTriggerTeleportCommand(args, handler);
|
||||
HandleReloadAreaTriggerTavernCommand(args, handler);
|
||||
HandleReloadGameGraveyardZoneCommand(args, handler);
|
||||
HandleReloadAreaTriggerTeleportCommand(handler, args);
|
||||
HandleReloadAreaTriggerTavernCommand(handler, args);
|
||||
HandleReloadGameGraveyardZoneCommand(handler, args);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("gossips", RBACPermissions.CommandReloadAllGossip, true)]
|
||||
static bool HandleReloadAllGossipsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllGossipsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadGossipMenuCommand(null, handler);
|
||||
HandleReloadGossipMenuOptionCommand(null, handler);
|
||||
HandleReloadGossipMenuCommand(handler, null);
|
||||
HandleReloadGossipMenuOptionCommand(handler, null);
|
||||
if (args == null) // already reload from all_scripts
|
||||
HandleReloadPointsOfInterestCommand(null, handler);
|
||||
HandleReloadPointsOfInterestCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("item", RBACPermissions.CommandReloadAllItem, true)]
|
||||
static bool HandleReloadAllItemCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllItemCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadPageTextsCommand(null, handler);
|
||||
HandleReloadItemRandomBonusListTemplatesCommand(null, handler);
|
||||
HandleReloadPageTextsCommand(handler, null);
|
||||
HandleReloadItemRandomBonusListTemplatesCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("locales", RBACPermissions.CommandReloadAllLocales, true)]
|
||||
static bool HandleReloadAllLocalesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllLocalesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadAchievementRewardLocaleCommand(null, handler);
|
||||
HandleReloadCreatureTemplateLocaleCommand(null, handler);
|
||||
HandleReloadCreatureTextLocaleCommand(null, handler);
|
||||
HandleReloadGameobjectTemplateLocaleCommand(null, handler);
|
||||
HandleReloadGossipMenuOptionLocaleCommand(null, handler);
|
||||
HandleReloadPageTextLocaleCommand(null, handler);
|
||||
HandleReloadPointsOfInterestCommand(null, handler);
|
||||
HandleReloadQuestTemplateLocaleCommand(null, handler);
|
||||
HandleReloadAchievementRewardLocaleCommand(handler, null);
|
||||
HandleReloadCreatureTemplateLocaleCommand(handler, null);
|
||||
HandleReloadCreatureTextLocaleCommand(handler, null);
|
||||
HandleReloadGameobjectTemplateLocaleCommand(handler, null);
|
||||
HandleReloadGossipMenuOptionLocaleCommand(handler, null);
|
||||
HandleReloadPageTextLocaleCommand(handler, null);
|
||||
HandleReloadPointsOfInterestCommand(handler, null);
|
||||
HandleReloadQuestTemplateLocaleCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("loot", RBACPermissions.CommandReloadAllLoot, true)]
|
||||
static bool HandleReloadAllLootCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllLootCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Loot Tables...");
|
||||
LootManager.LoadLootTables();
|
||||
@@ -1066,25 +1066,25 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("npc", RBACPermissions.CommandReloadAllNpc, true)]
|
||||
static bool HandleReloadAllNpcCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllNpcCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args != null) // will be reloaded from all_gossips
|
||||
{
|
||||
HandleReloadTrainerCommand(null, handler);
|
||||
HandleReloadNpcVendorCommand(null, handler);
|
||||
HandleReloadPointsOfInterestCommand(null, handler);
|
||||
HandleReloadSpellClickSpellsCommand(null, handler);
|
||||
HandleReloadTrainerCommand(handler, null);
|
||||
HandleReloadNpcVendorCommand(handler, null);
|
||||
HandleReloadPointsOfInterestCommand(handler, null);
|
||||
HandleReloadSpellClickSpellsCommand(handler, null);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("quest", RBACPermissions.CommandReloadAllQuest, true)]
|
||||
static bool HandleReloadAllQuestCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllQuestCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadQuestAreaTriggersCommand(null, handler);
|
||||
HandleReloadQuestGreetingCommand(null, handler);
|
||||
HandleReloadQuestPOICommand(null, handler);
|
||||
HandleReloadQuestTemplateCommand(null, handler);
|
||||
HandleReloadQuestAreaTriggersCommand(handler, null);
|
||||
HandleReloadQuestGreetingCommand(handler, null);
|
||||
HandleReloadQuestPOICommand(handler, null);
|
||||
HandleReloadQuestTemplateCommand(handler, null);
|
||||
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Quests Relations...");
|
||||
Global.ObjectMgr.LoadQuestStartersAndEnders();
|
||||
@@ -1093,7 +1093,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("scripts", RBACPermissions.CommandReloadAllScripts, true)]
|
||||
static bool HandleReloadAllScriptsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllScriptsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MapMgr.IsScriptScheduled())
|
||||
{
|
||||
@@ -1102,29 +1102,29 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Scripts...");
|
||||
HandleReloadEventScriptsCommand(null, handler);
|
||||
HandleReloadSpellScriptsCommand(null, handler);
|
||||
HandleReloadEventScriptsCommand(handler, null);
|
||||
HandleReloadSpellScriptsCommand(handler, null);
|
||||
handler.SendGlobalGMSysMessage("DB tables `*_scripts` reloaded.");
|
||||
HandleReloadWpScriptsCommand(null, handler);
|
||||
HandleReloadWpCommand(null, handler);
|
||||
HandleReloadWpScriptsCommand(handler, null);
|
||||
HandleReloadWpCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("spell", RBACPermissions.CommandReloadAllSpell, true)]
|
||||
static bool HandleReloadAllSpellCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleReloadAllSpellCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
HandleReloadSkillDiscoveryTemplateCommand(null, handler);
|
||||
HandleReloadSkillExtraItemTemplateCommand(null, handler);
|
||||
HandleReloadSpellRequiredCommand(null, handler);
|
||||
HandleReloadSpellAreaCommand(null, handler);
|
||||
HandleReloadSpellGroupsCommand(null, handler);
|
||||
HandleReloadSpellLearnSpellCommand(null, handler);
|
||||
HandleReloadSpellLinkedSpellCommand(null, handler);
|
||||
HandleReloadSpellProcsCommand(null, handler);
|
||||
HandleReloadSpellTargetPositionCommand(null, handler);
|
||||
HandleReloadSpellThreatsCommand(null, handler);
|
||||
HandleReloadSpellGroupStackRulesCommand(null, handler);
|
||||
HandleReloadSpellPetAurasCommand(null, handler);
|
||||
HandleReloadSkillDiscoveryTemplateCommand(handler, null);
|
||||
HandleReloadSkillExtraItemTemplateCommand(handler, null);
|
||||
HandleReloadSpellRequiredCommand(handler, null);
|
||||
HandleReloadSpellAreaCommand(handler, null);
|
||||
HandleReloadSpellGroupsCommand(handler, null);
|
||||
HandleReloadSpellLearnSpellCommand(handler, null);
|
||||
HandleReloadSpellLinkedSpellCommand(handler, null);
|
||||
HandleReloadSpellProcsCommand(handler, null);
|
||||
HandleReloadSpellTargetPositionCommand(handler, null);
|
||||
HandleReloadSpellThreatsCommand(handler, null);
|
||||
HandleReloadSpellGroupStackRulesCommand(handler, null);
|
||||
HandleReloadSpellPetAurasCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Game.Chat
|
||||
class ResetCommands
|
||||
{
|
||||
[Command("achievements", RBACPermissions.CommandResetAchievements, true)]
|
||||
static bool HandleResetAchievementsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetAchievementsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -45,7 +45,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("honor", RBACPermissions.CommandResetHonor, true)]
|
||||
static bool HandleResetHonorCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetHonorCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -89,7 +89,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("level", RBACPermissions.CommandResetLevel, true)]
|
||||
static bool HandleResetLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -124,7 +124,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("spells", RBACPermissions.CommandResetSpells, true)]
|
||||
static bool HandleResetSpellsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetSpellsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -154,7 +154,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("stats", RBACPermissions.CommandResetStats, true)]
|
||||
static bool HandleResetStatsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetStatsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
if (!handler.ExtractPlayerTarget(args, out target))
|
||||
@@ -172,7 +172,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("talents", RBACPermissions.CommandResetTalents, true)]
|
||||
static bool HandleResetTalentsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetTalentsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player target;
|
||||
ObjectGuid targetGuid;
|
||||
@@ -237,7 +237,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("all", RBACPermissions.CommandResetAll, true)]
|
||||
static bool HandleResetAllCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleResetAllCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat
|
||||
class SceneCommands
|
||||
{
|
||||
[Command("cancel", RBACPermissions.CommandSceneCancel)]
|
||||
static bool HandleCancelSceneCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCancelSceneCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -48,7 +48,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("debug", RBACPermissions.CommandSceneDebug)]
|
||||
static bool HandleDebugSceneCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleDebugSceneCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (player)
|
||||
@@ -61,7 +61,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("play", RBACPermissions.CommandScenePlay)]
|
||||
static bool HandlePlaySceneCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePlaySceneCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -82,7 +82,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("playpackage", RBACPermissions.CommandScenePlayPackage)]
|
||||
static bool HandlePlayScenePackageCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandlePlayScenePackageCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat.Commands
|
||||
class SendCommands
|
||||
{
|
||||
[Command("mail", RBACPermissions.CommandSendMail, true)]
|
||||
static bool HandleSendMailCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSendMailCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// format: name "subject text" "mail text"
|
||||
Player target;
|
||||
@@ -69,7 +69,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("items", RBACPermissions.CommandSendItems, true)]
|
||||
static bool HandleSendItemsCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSendItemsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// format: name "subject text" "mail text" item1[:count1] item2[:count2] ... item12[:count12]
|
||||
Player receiver;
|
||||
@@ -169,7 +169,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("money", RBACPermissions.CommandSendMoney, true)]
|
||||
static bool HandleSendMoneyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSendMoneyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// format: name "subject text" "mail text" money
|
||||
|
||||
@@ -218,7 +218,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("message", RBACPermissions.CommandSendMessage, true)]
|
||||
static bool HandleSendMessageCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleSendMessageCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// - Find the player
|
||||
Player player;
|
||||
|
||||
@@ -26,20 +26,20 @@ namespace Game.Chat
|
||||
class ServerCommands
|
||||
{
|
||||
[Command("corpses", RBACPermissions.CommandServerCorpses, true)]
|
||||
static bool HandleServerCorpsesCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerCorpsesCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Global.WorldMgr.RemoveOldCorpses();
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("debug", RBACPermissions.CommandServerCorpses, true)]
|
||||
static bool HandleServerDebugCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerDebugCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return false;//todo fix me
|
||||
}
|
||||
|
||||
[Command("exit", RBACPermissions.CommandServerExit, true)]
|
||||
static bool HandleServerExitCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerExitCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandExit);
|
||||
Global.WorldMgr.StopNow(ShutdownExitCode.Shutdown);
|
||||
@@ -47,7 +47,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("info", RBACPermissions.CommandServerInfo, true)]
|
||||
static bool HandleServerInfoCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerInfoCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint playersNum = Global.WorldMgr.GetPlayerCount();
|
||||
uint maxPlayersNum = Global.WorldMgr.GetMaxPlayerCount();
|
||||
@@ -70,7 +70,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("motd", RBACPermissions.CommandServerMotd, true)]
|
||||
static bool HandleServerMotdCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerMotdCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string motd = "";
|
||||
foreach (var line in Global.WorldMgr.GetMotd())
|
||||
@@ -81,7 +81,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("plimit", RBACPermissions.CommandServerPlimit, true)]
|
||||
static bool HandleServerPLimitCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerPLimitCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (!args.Empty())
|
||||
{
|
||||
@@ -234,13 +234,13 @@ namespace Game.Chat
|
||||
class IdleRestartCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandServerIdlerestart, true)]
|
||||
static bool HandleServerIdleRestartCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerIdleRestartCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, ShutdownMask.Restart | ShutdownMask.Idle, ShutdownExitCode.Restart);
|
||||
}
|
||||
|
||||
[Command("cancel", RBACPermissions.CommandServerIdlerestartCancel, true)]
|
||||
static bool HandleServerShutDownCancelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerShutDownCancelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint timer = Global.WorldMgr.ShutdownCancel();
|
||||
if (timer != 0)
|
||||
@@ -253,13 +253,13 @@ namespace Game.Chat
|
||||
class IdleshutdownCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandServerIdleshutdown, true)]
|
||||
static bool HandleServerIdleShutDownCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerIdleShutDownCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, ShutdownMask.Idle, ShutdownExitCode.Shutdown);
|
||||
}
|
||||
|
||||
[Command("cancel", RBACPermissions.CommandServerIdleshutdownCancel, true)]
|
||||
static bool HandleServerShutDownCancelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerShutDownCancelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint timer = Global.WorldMgr.ShutdownCancel();
|
||||
if (timer != 0)
|
||||
@@ -273,13 +273,13 @@ namespace Game.Chat
|
||||
class RestartCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandServerRestart, true)]
|
||||
static bool HandleServerRestartCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerRestartCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, ShutdownMask.Restart, ShutdownExitCode.Restart);
|
||||
}
|
||||
|
||||
[Command("cancel", RBACPermissions.CommandServerRestartCancel, true)]
|
||||
static bool HandleServerShutDownCancelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerShutDownCancelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint timer = Global.WorldMgr.ShutdownCancel();
|
||||
if (timer != 0)
|
||||
@@ -289,7 +289,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("force", RBACPermissions.CommandServerRestartCancel, true)]
|
||||
static bool HandleServerForceRestartCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerForceRestartCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, ShutdownMask.Force | ShutdownMask.Restart, ShutdownExitCode.Restart);
|
||||
}
|
||||
@@ -299,13 +299,13 @@ namespace Game.Chat
|
||||
class ShutdownCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandServerShutdown, true)]
|
||||
static bool HandleServerShutDownCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerShutDownCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, 0, ShutdownExitCode.Shutdown);
|
||||
}
|
||||
|
||||
[Command("cancel", RBACPermissions.CommandServerShutdownCancel, true)]
|
||||
static bool HandleServerShutDownCancelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerShutDownCancelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
uint timer = Global.WorldMgr.ShutdownCancel();
|
||||
if (timer != 0)
|
||||
@@ -315,7 +315,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("force", RBACPermissions.CommandServerShutdownCancel, true)]
|
||||
static bool HandleServerForceShutDownCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerForceShutDownCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return ShutdownServer(args, handler, ShutdownMask.Force, ShutdownExitCode.Shutdown);
|
||||
}
|
||||
@@ -325,7 +325,7 @@ namespace Game.Chat
|
||||
class SetCommands
|
||||
{
|
||||
[Command("difftime", RBACPermissions.CommandServerSetDifftime, true)]
|
||||
static bool HandleServerSetDiffTimeCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerSetDiffTimeCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -344,7 +344,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("loglevel", RBACPermissions.CommandServerSetLoglevel, true)]
|
||||
static bool HandleServerSetLogLevelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleServerSetLogLevelCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -360,7 +360,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("motd", RBACPermissions.CommandServerSetMotd, true)]
|
||||
static bool SetMotd(StringArguments args, CommandHandler handler)
|
||||
static bool SetMotd(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Global.WorldMgr.SetMotd(args.NextString(""));
|
||||
handler.SendSysMessage(CypherStrings.MotdNew, args.GetString());
|
||||
@@ -368,7 +368,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("closed", RBACPermissions.CommandServerSetClosed, true)]
|
||||
static bool SetClosed(StringArguments args, CommandHandler handler)
|
||||
static bool SetClosed(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
string arg1 = args.NextString();
|
||||
if (arg1.Equals("on"))
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Game.Chat
|
||||
class SpellCommands
|
||||
{
|
||||
[CommandNonGroup("cooldown", RBACPermissions.CommandCooldown)]
|
||||
static bool HandleCooldownCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleCooldownCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -72,7 +72,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("aura", RBACPermissions.CommandAura)]
|
||||
static bool HandleAuraCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleAuraCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -99,7 +99,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("unaura", RBACPermissions.CommandUnaura)]
|
||||
static bool UnAura(StringArguments args, CommandHandler handler)
|
||||
static bool UnAura(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Unit target = handler.GetSelectedUnit();
|
||||
if (!target)
|
||||
@@ -128,7 +128,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[CommandNonGroup("setskill", RBACPermissions.CommandSetskill)]
|
||||
static bool SetSkill(StringArguments args, CommandHandler handler)
|
||||
static bool SetSkill(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Hskill:skill_id|h[name]|h|r
|
||||
string skillStr = handler.ExtractKeyFromLink(args, "Hskill");
|
||||
|
||||
@@ -30,20 +30,15 @@ namespace Game.Chat
|
||||
class TeleCommands
|
||||
{
|
||||
[Command("", RBACPermissions.CommandTele)]
|
||||
static bool HandleTeleCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTeleCommand(CommandHandler handler, GameTele tele)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetPlayer();
|
||||
|
||||
GameTele tele = handler.ExtractGameTeleFromLink(args);
|
||||
if (tele == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandTeleNotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (player.IsInCombat() && !handler.GetSession().HasPermission(RBACPermissions.CommandTeleName))
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.YouInCombat);
|
||||
@@ -68,17 +63,12 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("add", RBACPermissions.CommandTeleAdd)]
|
||||
static bool HandleTeleAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTeleAddCommand(CommandHandler handler, string name)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
Player player = handler.GetSession().GetPlayer();
|
||||
if (player == null)
|
||||
return false;
|
||||
|
||||
string name = args.NextString();
|
||||
|
||||
if (Global.ObjectMgr.GetGameTele(name) != null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandTpAlreadyexist);
|
||||
@@ -108,13 +98,8 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("del", RBACPermissions.CommandTeleDel, true)]
|
||||
static bool HandleTeleDelCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTeleDelCommand(CommandHandler handler, GameTele tele)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
// id, or string, or [name] Shift-click form |color|Htele:id|h[name]|h|r
|
||||
GameTele tele = handler.ExtractGameTeleFromLink(args);
|
||||
if (tele == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandTeleNotfound);
|
||||
@@ -127,10 +112,13 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("group", RBACPermissions.CommandTeleGroup)]
|
||||
static bool HandleTeleGroupCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTeleGroupCommand(CommandHandler handler, GameTele tele)
|
||||
{
|
||||
if (args.Empty())
|
||||
if (tele == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandTeleNotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
Player target = handler.GetSelectedPlayer();
|
||||
if (!target)
|
||||
@@ -143,14 +131,6 @@ namespace Game.Chat
|
||||
if (handler.HasLowerSecurity(target, ObjectGuid.Empty))
|
||||
return false;
|
||||
|
||||
// id, or string, or [name] Shift-click form |color|Htele:id|h[name]|h|r
|
||||
GameTele tele = handler.ExtractGameTeleFromLink(args);
|
||||
if (tele == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandTeleNotfound);
|
||||
return false;
|
||||
}
|
||||
|
||||
MapRecord map = CliDB.MapStorage.LookupByKey(tele.mapId);
|
||||
if (map == null || map.IsBattlegroundOrArena())
|
||||
{
|
||||
@@ -202,7 +182,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
[Command("name", RBACPermissions.CommandTeleName, true)]
|
||||
static bool HandleTeleNameCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTeleNameCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
handler.ExtractOptFirstArg(args, out string nameStr, out string teleStr);
|
||||
if (teleStr.IsEmpty())
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Game.Chat.Commands
|
||||
class TicketCommands
|
||||
{
|
||||
[Command("togglesystem", RBACPermissions.CommandTicketTogglesystem, true)]
|
||||
static bool HandleTicketToggleSystem(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketToggleSystem(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (!WorldConfig.GetBoolValue(WorldCfg.SupportTicketsEnabled))
|
||||
{
|
||||
@@ -44,51 +44,51 @@ namespace Game.Chat.Commands
|
||||
class TicketBugCommands
|
||||
{
|
||||
[Command("assign", RBACPermissions.CommandTicketBugAssign, true)]
|
||||
static bool HandleTicketBugAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleTicketAssignToCommand<BugTicket>(args, handler);
|
||||
return HandleTicketAssignToCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("close", RBACPermissions.CommandTicketBugClose, true)]
|
||||
static bool HandleTicketBugCloseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugCloseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCloseByIdCommand<BugTicket>(args, handler);
|
||||
return HandleCloseByIdCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("closedlist", RBACPermissions.CommandTicketBugClosedlist, true)]
|
||||
static bool HandleTicketBugClosedListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugClosedListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleClosedListCommand<BugTicket>(args, handler);
|
||||
return HandleClosedListCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("comment", RBACPermissions.CommandTicketBugComment, true)]
|
||||
static bool HandleTicketBugCommentCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugCommentCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCommentCommand<BugTicket>(args, handler);
|
||||
return HandleCommentCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandTicketBugDelete, true)]
|
||||
static bool HandleTicketBugDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeleteByIdCommand<BugTicket>(args, handler);
|
||||
return HandleDeleteByIdCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandTicketBugList, true)]
|
||||
static bool HandleTicketBugListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleListCommand<BugTicket>(args, handler);
|
||||
return HandleListCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("unassign", RBACPermissions.CommandTicketBugUnassign, true)]
|
||||
static bool HandleTicketBugUnAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugUnAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnAssignCommand<BugTicket>(args, handler);
|
||||
return HandleUnAssignCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("view", RBACPermissions.CommandTicketBugView, true)]
|
||||
static bool HandleTicketBugViewCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketBugViewCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleGetByIdCommand<BugTicket>(args, handler);
|
||||
return HandleGetByIdCommand<BugTicket>(handler, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,51 +96,51 @@ namespace Game.Chat.Commands
|
||||
class TicketComplaintCommands
|
||||
{
|
||||
[Command("assign", RBACPermissions.CommandTicketComplaintAssign, true)]
|
||||
static bool HandleTicketComplaintAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleTicketAssignToCommand<ComplaintTicket>(args, handler);
|
||||
return HandleTicketAssignToCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("close", RBACPermissions.CommandTicketComplaintClose, true)]
|
||||
static bool HandleTicketComplaintCloseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintCloseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCloseByIdCommand<ComplaintTicket>(args, handler);
|
||||
return HandleCloseByIdCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("closedlist", RBACPermissions.CommandTicketComplaintClosedlist, true)]
|
||||
static bool HandleTicketComplaintClosedListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintClosedListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleClosedListCommand<ComplaintTicket>(args, handler);
|
||||
return HandleClosedListCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("comment", RBACPermissions.CommandTicketComplaintComment, true)]
|
||||
static bool HandleTicketComplaintCommentCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintCommentCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCommentCommand<ComplaintTicket>(args, handler);
|
||||
return HandleCommentCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandTicketComplaintDelete, true)]
|
||||
static bool HandleTicketComplaintDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeleteByIdCommand<ComplaintTicket>(args, handler);
|
||||
return HandleDeleteByIdCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandTicketComplaintList, true)]
|
||||
static bool HandleTicketComplaintListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleListCommand<ComplaintTicket>(args, handler);
|
||||
return HandleListCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("unassign", RBACPermissions.CommandTicketComplaintUnassign, true)]
|
||||
static bool HandleTicketComplaintUnAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintUnAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnAssignCommand<ComplaintTicket>(args, handler);
|
||||
return HandleUnAssignCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("view", RBACPermissions.CommandTicketComplaintView, true)]
|
||||
static bool HandleTicketComplaintViewCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketComplaintViewCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleGetByIdCommand<ComplaintTicket>(args, handler);
|
||||
return HandleGetByIdCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,51 +148,51 @@ namespace Game.Chat.Commands
|
||||
class TicketSuggestionCommands
|
||||
{
|
||||
[Command("assign", RBACPermissions.CommandTicketSuggestionAssign, true)]
|
||||
static bool HandleTicketSuggestionAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleTicketAssignToCommand<SuggestionTicket>(args, handler);
|
||||
return HandleTicketAssignToCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("close", RBACPermissions.CommandTicketSuggestionClose, true)]
|
||||
static bool HandleTicketSuggestionCloseCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionCloseCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCloseByIdCommand<SuggestionTicket>(args, handler);
|
||||
return HandleCloseByIdCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("closedlist", RBACPermissions.CommandTicketSuggestionClosedlist, true)]
|
||||
static bool HandleTicketSuggestionClosedListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionClosedListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleClosedListCommand<SuggestionTicket>(args, handler);
|
||||
return HandleClosedListCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("comment", RBACPermissions.CommandTicketSuggestionComment, true)]
|
||||
static bool HandleTicketSuggestionCommentCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionCommentCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleCommentCommand<SuggestionTicket>(args, handler);
|
||||
return HandleCommentCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("delete", RBACPermissions.CommandTicketSuggestionDelete, true)]
|
||||
static bool HandleTicketSuggestionDeleteCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionDeleteCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleDeleteByIdCommand<SuggestionTicket>(args, handler);
|
||||
return HandleDeleteByIdCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("list", RBACPermissions.CommandTicketSuggestionList, true)]
|
||||
static bool HandleTicketSuggestionListCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionListCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleListCommand<SuggestionTicket>(args, handler);
|
||||
return HandleListCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("unassign", RBACPermissions.CommandTicketSuggestionUnassign, true)]
|
||||
static bool HandleTicketSuggestionUnAssignCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionUnAssignCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleUnAssignCommand<SuggestionTicket>(args, handler);
|
||||
return HandleUnAssignCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("view", RBACPermissions.CommandTicketSuggestionView, true)]
|
||||
static bool HandleTicketSuggestionViewCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketSuggestionViewCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleGetByIdCommand<SuggestionTicket>(args, handler);
|
||||
return HandleGetByIdCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,7 +200,7 @@ namespace Game.Chat.Commands
|
||||
class TicketResetCommands
|
||||
{
|
||||
[Command("all", RBACPermissions.CommandTicketResetAll, true)]
|
||||
static bool HandleTicketResetAllCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketResetAllCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.SupportMgr.GetOpenTicketCount<BugTicket>() != 0 || Global.SupportMgr.GetOpenTicketCount<ComplaintTicket>() != 0 || Global.SupportMgr.GetOpenTicketCount<SuggestionTicket>() != 0)
|
||||
{
|
||||
@@ -218,25 +218,25 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("bug", RBACPermissions.CommandTicketResetBug, true)]
|
||||
static bool HandleTicketResetBugCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketResetBugCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleResetCommand<BugTicket>(args, handler);
|
||||
return HandleResetCommand<BugTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("complaint", RBACPermissions.CommandTicketResetComplaint, true)]
|
||||
static bool HandleTicketResetComplaintCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketResetComplaintCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleResetCommand<ComplaintTicket>(args, handler);
|
||||
return HandleResetCommand<ComplaintTicket>(handler, args);
|
||||
}
|
||||
|
||||
[Command("suggestion", RBACPermissions.CommandTicketResetSuggestion, true)]
|
||||
static bool HandleTicketResetSuggestionCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTicketResetSuggestionCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
return HandleResetCommand<SuggestionTicket>(args, handler);
|
||||
return HandleResetCommand<SuggestionTicket>(handler, args);
|
||||
}
|
||||
}
|
||||
|
||||
static bool HandleTicketAssignToCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleTicketAssignToCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -291,7 +291,7 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleCloseByIdCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleCloseByIdCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -327,13 +327,13 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleClosedListCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleClosedListCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
Global.SupportMgr.ShowClosedList<T>(handler);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleCommentCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleCommentCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -371,7 +371,7 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleDeleteByIdCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleDeleteByIdCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -398,13 +398,13 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleListCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleListCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
Global.SupportMgr.ShowList<T>(handler);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleResetCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleResetCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (Global.SupportMgr.GetOpenTicketCount<T>() != 0)
|
||||
{
|
||||
@@ -420,7 +420,7 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleUnAssignCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleUnAssignCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -470,7 +470,7 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool HandleGetByIdCommand<T>(StringArguments args, CommandHandler handler) where T : Ticket
|
||||
static bool HandleGetByIdCommand<T>(CommandHandler handler, StringArguments args) where T : Ticket
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Game.Chat.Commands
|
||||
class TitleCommands
|
||||
{
|
||||
[Command("current", RBACPermissions.CommandTitlesCurrent)]
|
||||
static bool HandleTitlesCurrentCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTitlesCurrentCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Htitle:title_id|h[name]|h|r
|
||||
string id_p = handler.ExtractKeyFromLink(args, "Htitle");
|
||||
@@ -69,7 +69,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("add", RBACPermissions.CommandTitlesAdd)]
|
||||
static bool HandleTitlesAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTitlesAddCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Htitle:title_id|h[name]|h|r
|
||||
string id_p = handler.ExtractKeyFromLink(args, "Htitle");
|
||||
@@ -111,7 +111,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("remove", RBACPermissions.CommandTitlesRemove)]
|
||||
static bool HandleTitlesRemoveCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTitlesRemoveCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// number or [name] Shift-click form |color|Htitle:title_id|h[name]|h|r
|
||||
string id_p = handler.ExtractKeyFromLink(args, "Htitle");
|
||||
@@ -164,7 +164,7 @@ namespace Game.Chat.Commands
|
||||
{
|
||||
//Edit Player KnownTitles
|
||||
[Command("mask", RBACPermissions.CommandTitlesSetMask)]
|
||||
static bool HandleTitlesSetMaskCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleTitlesSetMaskCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Game.Chat.Commands
|
||||
class WPCommands
|
||||
{
|
||||
[Command("add", RBACPermissions.CommandWpAdd)]
|
||||
static bool HandleWpAddCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpAddCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
// optional
|
||||
string path_number = null;
|
||||
@@ -96,7 +96,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("event", RBACPermissions.CommandWpEvent)]
|
||||
static bool HandleWpEventCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpEventCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -357,7 +357,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("load", RBACPermissions.CommandWpLoad)]
|
||||
static bool HandleWpLoadCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpLoadCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -426,7 +426,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("modify", RBACPermissions.CommandWpModify)]
|
||||
static bool HandleWpModifyCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpModifyCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -606,7 +606,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("reload", RBACPermissions.CommandWpReload)]
|
||||
static bool HandleWpReloadCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpReloadCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -622,7 +622,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("show", RBACPermissions.CommandWpShow)]
|
||||
static bool HandleWpShowCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpShowCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (args.Empty())
|
||||
return false;
|
||||
@@ -960,7 +960,7 @@ namespace Game.Chat.Commands
|
||||
}
|
||||
|
||||
[Command("unload", RBACPermissions.CommandWpUnload)]
|
||||
static bool HandleWpUnLoadCommand(StringArguments args, CommandHandler handler)
|
||||
static bool HandleWpUnLoadCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
Creature target = handler.GetSelectedCreature();
|
||||
if (!target)
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Framework.Constants;
|
||||
using Framework.IO;
|
||||
using Game.DataStorage;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
class Hyperlink
|
||||
{
|
||||
public static bool TryConsume(out dynamic value, Type type, StringArguments args)
|
||||
{
|
||||
value = default;
|
||||
|
||||
HyperlinkInfo info = ParseHyperlink(args.GetString());
|
||||
// invalid hyperlinks cannot be consumed
|
||||
if (info == null)
|
||||
return false;
|
||||
|
||||
// store value
|
||||
switch (Type.GetTypeCode(type))
|
||||
{
|
||||
case TypeCode.UInt32:
|
||||
{
|
||||
if (!uint.TryParse(info.Data, out uint tempValue))
|
||||
return false;
|
||||
|
||||
value = tempValue;
|
||||
return true;
|
||||
}
|
||||
case TypeCode.UInt64:
|
||||
{
|
||||
if (!ulong.TryParse(info.Data, out ulong tempValue))
|
||||
return false;
|
||||
|
||||
value = tempValue;
|
||||
return true;
|
||||
}
|
||||
case TypeCode.String:
|
||||
{
|
||||
value = info.Data;
|
||||
return true;
|
||||
}
|
||||
case TypeCode.Object:
|
||||
return TryConsumeObject(out value, type, info);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static bool TryConsumeObject(out dynamic value, Type type, HyperlinkInfo info)
|
||||
{
|
||||
value = default;
|
||||
|
||||
switch (type.Name)
|
||||
{
|
||||
case nameof(AchievementRecord):
|
||||
{
|
||||
HyperlinkDataTokenizer t = new(info.Data);
|
||||
if (!t.TryConsumeTo(out uint achievementId))
|
||||
return false;
|
||||
|
||||
value = CliDB.AchievementStorage.LookupByKey(achievementId);
|
||||
return true;
|
||||
}
|
||||
case nameof(CurrencyTypesRecord):
|
||||
{
|
||||
HyperlinkDataTokenizer t = new(info.Data);
|
||||
if (!t.TryConsumeTo(out uint currencyId))
|
||||
return false;
|
||||
|
||||
value = CliDB.CurrencyTypesStorage.LookupByKey(currencyId);
|
||||
return true;
|
||||
}
|
||||
case nameof(GameTele):
|
||||
{
|
||||
HyperlinkDataTokenizer t = new(info.Data);
|
||||
if (!t.TryConsumeTo(out uint teleId))
|
||||
return false;
|
||||
|
||||
value = Global.ObjectMgr.GetGameTele(teleId);
|
||||
return true;
|
||||
}
|
||||
case nameof(SpellInfo):
|
||||
{
|
||||
HyperlinkDataTokenizer t = new(info.Data);
|
||||
if (!t.TryConsumeTo(out uint spellId))
|
||||
return false;
|
||||
|
||||
value = Global.SpellMgr.GetSpellInfo(spellId, Difficulty.None);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static byte toHex(char c) { return (byte)((c >= '0' && c <= '9') ? c - '0' + 0x10 : (c >= 'a' && c <= 'f') ? c - 'a' + 0x1a : 0x00); }
|
||||
|
||||
//|color|Henchant:recipe_spell_id|h[prof_name: recipe_name]|h|r
|
||||
public static HyperlinkInfo ParseHyperlink(string currentString)
|
||||
{
|
||||
if (currentString.IsEmpty())
|
||||
return null;
|
||||
|
||||
int pos = 0;
|
||||
|
||||
//color tag
|
||||
if (currentString[pos++] != '|' || currentString[pos++] != 'c')
|
||||
return null;
|
||||
|
||||
uint color = 0;
|
||||
for (byte i = 0; i < 8; ++i)
|
||||
{
|
||||
byte hex = toHex(currentString[pos++]);
|
||||
if (hex != 0)
|
||||
color = (uint)((int)(color << 4) | (hex & 0xf));
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
// link data start tag
|
||||
if (currentString[pos++] != '|' || currentString[pos++] != 'H')
|
||||
return null;
|
||||
|
||||
// link tag, find next : or |
|
||||
int tagStart = pos;
|
||||
int tagLength = 0;
|
||||
while (pos < currentString.Length && currentString[pos] != '|' && currentString[pos++] != ':') // we only advance pointer to one past if the last thing is : (not for |), this is intentional!
|
||||
++tagLength;
|
||||
|
||||
// ok, link data, skip to next |
|
||||
int dataStart = pos;
|
||||
int dataLength = 0;
|
||||
while (pos < currentString.Length && currentString[pos++] != '|')
|
||||
++dataLength;
|
||||
|
||||
// ok, next should be link data end tag...
|
||||
if (currentString[pos++] != 'h')
|
||||
return null;
|
||||
|
||||
// then visible link text, starts with [
|
||||
if (currentString[pos++] != '[')
|
||||
return null;
|
||||
|
||||
// skip until we hit the next ], abort on unexpected |
|
||||
int textStart = pos;
|
||||
int textLength = 0;
|
||||
while (pos < currentString.Length)
|
||||
{
|
||||
if (currentString[pos] == '|')
|
||||
return null;
|
||||
|
||||
if (currentString[pos++] == ']')
|
||||
break;
|
||||
|
||||
++textLength;
|
||||
}
|
||||
|
||||
// link end tag
|
||||
if (currentString[pos++] != '|' || currentString[pos++] != 'h' || currentString[pos++] != '|' || currentString[pos++] != 'r')
|
||||
return null;
|
||||
|
||||
// ok, valid hyperlink, return info
|
||||
return new HyperlinkInfo(currentString.Substring(pos), color, currentString.Substring(tagStart, tagLength), currentString.Substring(dataStart, dataLength), currentString.Substring(textStart, textLength));
|
||||
}
|
||||
}
|
||||
|
||||
class HyperlinkInfo
|
||||
{
|
||||
public HyperlinkInfo(string n = null, uint c = 0, string tag = null, string data = null, string text = null)
|
||||
{
|
||||
next = n;
|
||||
color = new(c);
|
||||
Tag = tag;
|
||||
Data = data;
|
||||
Text = text;
|
||||
}
|
||||
|
||||
public string next;
|
||||
public HyperlinkColor color;
|
||||
public string Tag;
|
||||
public string Data;
|
||||
public string Text;
|
||||
}
|
||||
|
||||
struct HyperlinkColor
|
||||
{
|
||||
public byte r;
|
||||
public byte g;
|
||||
public byte b;
|
||||
public byte a;
|
||||
|
||||
public HyperlinkColor(uint c)
|
||||
{
|
||||
r = (byte)(c >> 16);
|
||||
g = (byte)(c >> 8);
|
||||
b = (byte)c;
|
||||
a = (byte)(c >> 24);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
using Game.Spells;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
struct AchievementLinkData
|
||||
{
|
||||
public AchievementRecord Achievement;
|
||||
public ObjectGuid CharacterId;
|
||||
public bool IsFinished;
|
||||
public ushort Year;
|
||||
public byte Month;
|
||||
public byte Day;
|
||||
public uint[] Criteria = new uint[4];
|
||||
}
|
||||
|
||||
struct ArtifactPowerLinkData
|
||||
{
|
||||
public ArtifactPowerRankRecord ArtifactPower;
|
||||
public byte PurchasedRank;
|
||||
public byte CurrentRankWithBonus;
|
||||
}
|
||||
|
||||
struct AzeriteEssenceLinkData
|
||||
{
|
||||
public AzeriteEssenceRecord Essence;
|
||||
public byte Rank;
|
||||
}
|
||||
|
||||
struct BattlePetLinkData
|
||||
{
|
||||
public BattlePetSpeciesRecord Species;
|
||||
public byte Level;
|
||||
public byte Quality;
|
||||
public uint MaxHealth;
|
||||
public uint Power;
|
||||
public uint Speed;
|
||||
public ObjectGuid PetGuid;
|
||||
public uint DisplayId;
|
||||
}
|
||||
|
||||
struct CurrencyLinkData
|
||||
{
|
||||
public CurrencyTypesRecord Currency;
|
||||
public int Quantity;
|
||||
|
||||
public CurrencyContainerRecord Container;
|
||||
}
|
||||
|
||||
struct GarrisonFollowerLinkData
|
||||
{
|
||||
public GarrFollowerRecord Follower;
|
||||
public uint Quality;
|
||||
public uint Level;
|
||||
public uint ItemLevel;
|
||||
public uint[] Abilities = new uint[4];
|
||||
public uint[] Traits = new uint[4];
|
||||
public uint Specialization;
|
||||
}
|
||||
|
||||
struct GarrisonMissionLinkData
|
||||
{
|
||||
public GarrMissionRecord Mission;
|
||||
public ulong DbID;
|
||||
}
|
||||
|
||||
struct InstanceLockLinkData
|
||||
{
|
||||
public ObjectGuid Owner;
|
||||
public MapRecord Map;
|
||||
public uint Difficulty;
|
||||
public uint CompletedEncountersMask;
|
||||
}
|
||||
|
||||
struct ItemLinkData
|
||||
{
|
||||
public ItemTemplate Item;
|
||||
public uint EnchantId;
|
||||
public uint[] GemItemId = new uint[3];
|
||||
public byte RenderLevel;
|
||||
public uint RenderSpecialization;
|
||||
public byte Context;
|
||||
public List<int> ItemBonusListIDs;
|
||||
|
||||
public struct Modifier
|
||||
{
|
||||
public uint Type;
|
||||
public int Value;
|
||||
}
|
||||
|
||||
public List<Modifier> Modifiers;
|
||||
public List<int>[] GemItemBonusListIDs = new List<int>[3];
|
||||
public ObjectGuid Creator;
|
||||
public uint UseEnchantId;
|
||||
|
||||
public uint Quality;
|
||||
public ItemNameDescriptionRecord Suffix;
|
||||
}
|
||||
|
||||
struct JournalLinkData
|
||||
{
|
||||
public enum Types : byte
|
||||
{
|
||||
Instance = 0,
|
||||
Encounter = 1,
|
||||
EncounterSection = 2,
|
||||
Tier = 3
|
||||
}
|
||||
|
||||
public byte Type;
|
||||
public LocalizedString ExpectedText;
|
||||
public uint Difficulty;
|
||||
}
|
||||
|
||||
struct KeystoneLinkData
|
||||
{
|
||||
public uint ItemId;
|
||||
public MapChallengeModeRecord Map;
|
||||
public uint Level;
|
||||
public uint[] Affix = new uint[4];
|
||||
}
|
||||
|
||||
struct QuestLinkData
|
||||
{
|
||||
public Quest Quest;
|
||||
public uint ContentTuningId;
|
||||
}
|
||||
|
||||
struct SpellLinkData
|
||||
{
|
||||
public SpellInfo Spell;
|
||||
public GlyphPropertiesRecord Glyph;
|
||||
}
|
||||
|
||||
struct TradeskillLinkData
|
||||
{
|
||||
public ObjectGuid Owner;
|
||||
public SpellInfo Spell;
|
||||
public SkillLineRecord Skill;
|
||||
}
|
||||
|
||||
struct WorldMapLinkData
|
||||
{
|
||||
public UiMapRecord UiMap;
|
||||
public uint X;
|
||||
public uint Y;
|
||||
public uint? Z;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Framework.IO;
|
||||
using Game.Entities;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
abstract class HyperLinks<T>
|
||||
{
|
||||
public abstract string GetTag();
|
||||
public abstract bool StoreTo(out T val, string arg);
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
interface IHyperLink<T>
|
||||
{
|
||||
string GetTag();
|
||||
bool StoreTo(out T val, string arg);
|
||||
}
|
||||
|
||||
|
||||
class HyperlinkDataTokenizer
|
||||
{
|
||||
public HyperlinkDataTokenizer(string arg, bool allowEmptyTokens = false)
|
||||
{
|
||||
_arg = new(arg);
|
||||
_allowEmptyTokens = allowEmptyTokens;
|
||||
}
|
||||
|
||||
public bool TryConsumeTo(out byte val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextByte(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out ushort val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
val = _arg.NextUInt16(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out uint val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextUInt32(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out ulong val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextUInt64(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out sbyte val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextSByte(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out short val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextInt16(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out int val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextInt32(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out long val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextInt64(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out float val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextSingle(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out ObjectGuid val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = ObjectGuid.FromString(_arg.NextString(":"));
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out string val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextString(":");
|
||||
return true;
|
||||
}
|
||||
public bool TryConsumeTo(out bool val)
|
||||
{
|
||||
if (IsEmpty())
|
||||
{
|
||||
val = default;
|
||||
return _allowEmptyTokens;
|
||||
}
|
||||
|
||||
val = _arg.NextBoolean(":");
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool IsEmpty() { return _arg.Empty(); }
|
||||
|
||||
StringArguments _arg;
|
||||
bool _allowEmptyTokens;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,764 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2020 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using Framework.Constants;
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
class achievement : HyperLinks<AchievementLinkData>
|
||||
{
|
||||
public override string GetTag() { return nameof(achievement); }
|
||||
|
||||
public override bool StoreTo(out AchievementLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint achievementId))
|
||||
return false;
|
||||
|
||||
val.Achievement = CliDB.AchievementStorage.LookupByKey(achievementId);
|
||||
|
||||
return val.Achievement != null && t.TryConsumeTo(out val.CharacterId) && t.TryConsumeTo(out val.IsFinished) &&
|
||||
t.TryConsumeTo(out val.Month) && t.TryConsumeTo(out val.Day) && t.TryConsumeTo(out val.Year) && t.TryConsumeTo(out val.Criteria[0]) &&
|
||||
t.TryConsumeTo(out val.Criteria[1]) && t.TryConsumeTo(out val.Criteria[2]) && t.TryConsumeTo(out val.Criteria[3]) && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct apower
|
||||
{
|
||||
public string GetTag() { return nameof(apower); }
|
||||
|
||||
public bool StoreTo(out ArtifactPowerLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!(t.TryConsumeTo(out uint artifactPowerId) && t.TryConsumeTo(out val.PurchasedRank) && t.TryConsumeTo(out val.CurrentRankWithBonus) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
if (!CliDB.ArtifactPowerStorage.ContainsKey(artifactPowerId))
|
||||
return false;
|
||||
|
||||
val.ArtifactPower = Global.DB2Mgr.GetArtifactPowerRank(artifactPowerId, Math.Max(val.CurrentRankWithBonus, (byte)1));
|
||||
if (val.ArtifactPower == null)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct area
|
||||
{
|
||||
public string GetTag() { return nameof(area); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct areatrigger
|
||||
{
|
||||
public string GetTag() { return nameof(areatrigger); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct azessence
|
||||
{
|
||||
public string GetTag() { return nameof(azessence); }
|
||||
|
||||
public bool StoreTo(out AzeriteEssenceLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint azeriteEssenceId))
|
||||
return false;
|
||||
|
||||
val.Essence = CliDB.AzeriteEssenceStorage.LookupByKey(azeriteEssenceId);
|
||||
return val.Essence != null && t.TryConsumeTo(out val.Rank)
|
||||
&& Global.DB2Mgr.GetAzeriteEssencePower(azeriteEssenceId, val.Rank) != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct battlepet
|
||||
{
|
||||
public string GetTag() { return nameof(battlepet); }
|
||||
|
||||
public bool StoreTo(out BattlePetLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint battlePetSpeciesId))
|
||||
return false;
|
||||
|
||||
val.Species = CliDB.BattlePetSpeciesStorage.LookupByKey(battlePetSpeciesId);
|
||||
|
||||
return val.Species != null && t.TryConsumeTo(out val.Level)
|
||||
&& t.TryConsumeTo(out val.Quality) && val.Quality < (int)ItemQuality.Max
|
||||
&& t.TryConsumeTo(out val.MaxHealth) && t.TryConsumeTo(out val.Power) && t.TryConsumeTo(out val.Speed)
|
||||
&& t.TryConsumeTo(out val.PetGuid) && val.PetGuid.GetHigh() == HighGuid.BattlePet && t.TryConsumeTo(out val.DisplayId);
|
||||
}
|
||||
}
|
||||
|
||||
struct conduit
|
||||
{
|
||||
public string GetTag() { return nameof(conduit); }
|
||||
|
||||
public bool StoreTo(out SoulbindConduitRankRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
uint soulbindConduitId, rank;
|
||||
if (!(t.TryConsumeTo(out soulbindConduitId) && t.TryConsumeTo(out rank) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
val = Global.DB2Mgr.GetSoulbindConduitRank((int)soulbindConduitId, (int)rank);
|
||||
return val != null;
|
||||
}
|
||||
}
|
||||
|
||||
struct creature
|
||||
{
|
||||
public string GetTag() { return nameof(creature); }
|
||||
|
||||
public bool StoreTo(out ulong val, string arg)
|
||||
{
|
||||
if (!ulong.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct creature_entry
|
||||
{
|
||||
public string GetTag() { return nameof(creature_entry); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct currency
|
||||
{
|
||||
public string GetTag() { return nameof(currency); }
|
||||
|
||||
public bool StoreTo(out CurrencyLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint currencyId))
|
||||
return false;
|
||||
|
||||
val.Currency = CliDB.CurrencyTypesStorage.LookupByKey(currencyId);
|
||||
if (val.Currency == null || !t.TryConsumeTo(out val.Quantity) || !t.IsEmpty())
|
||||
return false;
|
||||
val.Container = Global.DB2Mgr.GetCurrencyContainerForCurrencyQuantity(currencyId, val.Quantity);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct enchant
|
||||
{
|
||||
public string GetTag() { return nameof(enchant); }
|
||||
|
||||
public bool StoreTo(out SpellInfo val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!(t.TryConsumeTo(out uint spellId) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
val = Global.SpellMgr.GetSpellInfo(spellId, Difficulty.None);
|
||||
return val != null && val.HasAttribute(SpellAttr0.Tradespell);
|
||||
}
|
||||
}
|
||||
|
||||
struct gameevent
|
||||
{
|
||||
public string GetTag() { return nameof(gameevent); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct gameobject
|
||||
{
|
||||
public string GetTag() { return nameof(gameobject); }
|
||||
|
||||
public bool StoreTo(out ulong val, string arg)
|
||||
{
|
||||
if (!ulong.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct gameobject_entry
|
||||
{
|
||||
public string GetTag() { return nameof(gameobject_entry); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct garrfollower
|
||||
{
|
||||
public string GetTag() { return nameof(garrfollower); }
|
||||
|
||||
public bool StoreTo(out GarrisonFollowerLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint garrFollowerId))
|
||||
return false;
|
||||
|
||||
val.Follower = CliDB.GarrFollowerStorage.LookupByKey(garrFollowerId);
|
||||
if (val.Follower == null || !t.TryConsumeTo(out val.Quality) || val.Quality >= (int)ItemQuality.Max || !t.TryConsumeTo(out val.Level) || !t.TryConsumeTo(out val.ItemLevel)
|
||||
|| !t.TryConsumeTo(out val.Abilities[0]) || !t.TryConsumeTo(out val.Abilities[1]) || !t.TryConsumeTo(out val.Abilities[2]) || !t.TryConsumeTo(out val.Abilities[3])
|
||||
|| !t.TryConsumeTo(out val.Traits[0]) || !t.TryConsumeTo(out val.Traits[1]) || !t.TryConsumeTo(out val.Traits[2]) || !t.TryConsumeTo(out val.Traits[3])
|
||||
|| !t.TryConsumeTo(out val.Specialization))
|
||||
return false;
|
||||
|
||||
foreach (uint ability in val.Abilities)
|
||||
if (ability != 0 && !CliDB.GarrAbilityStorage.ContainsKey(ability))
|
||||
return false;
|
||||
|
||||
foreach (uint trait in val.Traits)
|
||||
if (trait != 0 && !CliDB.GarrAbilityStorage.ContainsKey(trait))
|
||||
return false;
|
||||
|
||||
if (val.Specialization != 0 && !CliDB.GarrAbilityStorage.ContainsKey(val.Specialization))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct garrfollowerability
|
||||
{
|
||||
public string GetTag() { return nameof(garrfollowerability); }
|
||||
|
||||
public bool StoreTo(out GarrAbilityRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint garrAbilityId))
|
||||
return false;
|
||||
|
||||
val = CliDB.GarrAbilityStorage.LookupByKey(garrAbilityId);
|
||||
return val != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct garrmission
|
||||
{
|
||||
public string GetTag() { return nameof(garrmission); }
|
||||
|
||||
public bool StoreTo(out GarrisonMissionLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint garrMissionId))
|
||||
return false;
|
||||
|
||||
val.Mission = CliDB.GarrMissionStorage.LookupByKey(garrMissionId);
|
||||
return val.Mission != null && t.TryConsumeTo(out val.DbID) && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct instancelock
|
||||
{
|
||||
public string GetTag() { return nameof(instancelock); }
|
||||
|
||||
public bool StoreTo(out InstanceLockLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out val.Owner))
|
||||
return false;
|
||||
uint mapId;
|
||||
if (!t.TryConsumeTo(out mapId))
|
||||
return false;
|
||||
|
||||
val.Map = CliDB.MapStorage.LookupByKey(mapId);
|
||||
return val.Map != null
|
||||
&& t.TryConsumeTo(out val.Difficulty) && Global.DB2Mgr.GetMapDifficultyData(mapId, (Difficulty)val.Difficulty) != null
|
||||
&& t.TryConsumeTo(out val.CompletedEncountersMask) && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct item
|
||||
{
|
||||
public string GetTag() { return nameof(item); }
|
||||
|
||||
public bool StoreTo(out ItemLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg, true);
|
||||
if (!t.TryConsumeTo(out uint itemId))
|
||||
return false;
|
||||
|
||||
val.Item = Global.ObjectMgr.GetItemTemplate(itemId);
|
||||
if (!(val.Item != null && t.TryConsumeTo(out val.EnchantId) && t.TryConsumeTo(out val.GemItemId[0]) && t.TryConsumeTo(out val.GemItemId[1]) &&
|
||||
t.TryConsumeTo(out val.GemItemId[2]) && t.TryConsumeTo(out uint dummy) && dummy == 0 && t.TryConsumeTo(out dummy) && dummy == 0 && t.TryConsumeTo(out dummy) && dummy == 0 &&
|
||||
t.TryConsumeTo(out val.RenderLevel) && t.TryConsumeTo(out val.RenderSpecialization) && t.TryConsumeTo(out dummy) && dummy == 0 &&
|
||||
t.TryConsumeTo(out val.Context) && t.TryConsumeTo(out uint numBonusListIDs)))
|
||||
return false;
|
||||
|
||||
uint maxBonusListIDs = 16;
|
||||
if (numBonusListIDs > maxBonusListIDs)
|
||||
return false;
|
||||
|
||||
BonusData evaluatedBonus = new(val.Item);
|
||||
|
||||
for (var i = 0; i < numBonusListIDs; ++i)
|
||||
{
|
||||
if (!t.TryConsumeTo(out uint itemBonusListID) || Global.DB2Mgr.GetItemBonusList(itemBonusListID) == null)
|
||||
return false;
|
||||
|
||||
val.ItemBonusListIDs.Add((int)itemBonusListID);
|
||||
evaluatedBonus.AddBonusList(itemBonusListID);
|
||||
}
|
||||
|
||||
val.Quality = (uint)evaluatedBonus.Quality;
|
||||
val.Suffix = CliDB.ItemNameDescriptionStorage.LookupByKey(evaluatedBonus.Suffix);
|
||||
if (evaluatedBonus.Suffix != 0 && val.Suffix == null)
|
||||
return false;
|
||||
|
||||
uint numModifiers;
|
||||
if (!t.TryConsumeTo(out numModifiers))
|
||||
return false;
|
||||
|
||||
if (numModifiers > (int)ItemModifier.Max)
|
||||
return false;
|
||||
|
||||
val.Modifiers.Resize(numModifiers);
|
||||
for (var i = 0; i < numModifiers; ++i)
|
||||
{
|
||||
ItemLinkData.Modifier modifier;
|
||||
if (!(t.TryConsumeTo(out modifier.Type) && modifier.Type < (int)ItemModifier.Max && t.TryConsumeTo(out modifier.Value)))
|
||||
return false;
|
||||
|
||||
val.Modifiers.Add(modifier);
|
||||
}
|
||||
|
||||
for (uint i = 0; i < ItemConst.MaxGemSockets; ++i)
|
||||
{
|
||||
if (!t.TryConsumeTo(out numBonusListIDs) || numBonusListIDs > maxBonusListIDs)
|
||||
return false;
|
||||
|
||||
for (var c = 0; c < numBonusListIDs; ++c)
|
||||
{
|
||||
if (!t.TryConsumeTo(out int itemBonusListID) || Global.DB2Mgr.GetItemBonusList((uint)itemBonusListID) == null)
|
||||
return false;
|
||||
|
||||
val.GemItemBonusListIDs[i].Add(itemBonusListID);
|
||||
}
|
||||
}
|
||||
|
||||
return t.TryConsumeTo(out val.Creator) && t.TryConsumeTo(out val.UseEnchantId) && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct itemset
|
||||
{
|
||||
public string GetTag() { return nameof(itemset); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct journal
|
||||
{
|
||||
public string GetTag() { return nameof(journal); }
|
||||
|
||||
public bool StoreTo(out JournalLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out val.Type) || !t.TryConsumeTo(out uint id) || !t.TryConsumeTo(out val.Difficulty) || !t.IsEmpty())
|
||||
return false;
|
||||
|
||||
switch ((JournalLinkData.Types)val.Type)
|
||||
{
|
||||
case JournalLinkData.Types.Instance:
|
||||
{
|
||||
JournalInstanceRecord instance = CliDB.JournalInstanceStorage.LookupByKey(id);
|
||||
if (instance == null)
|
||||
return false;
|
||||
val.ExpectedText = instance.Name;
|
||||
break;
|
||||
}
|
||||
case JournalLinkData.Types.Encounter:
|
||||
{
|
||||
JournalEncounterRecord encounter = CliDB.JournalEncounterStorage.LookupByKey(id);
|
||||
if (encounter == null)
|
||||
return false;
|
||||
val.ExpectedText = encounter.Name;
|
||||
break;
|
||||
}
|
||||
case JournalLinkData.Types.EncounterSection:
|
||||
{
|
||||
JournalEncounterSectionRecord encounterSection = CliDB.JournalEncounterSectionStorage.LookupByKey(id);
|
||||
if (encounterSection == null)
|
||||
return false;
|
||||
val.ExpectedText = encounterSection.Title;
|
||||
break;
|
||||
}
|
||||
case JournalLinkData.Types.Tier:
|
||||
{
|
||||
JournalTierRecord tier = Global.DB2Mgr.GetJournalTier(id);
|
||||
if (tier == null)
|
||||
return false;
|
||||
val.ExpectedText = tier.Name;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct keystone
|
||||
{
|
||||
public string GetTag() { return nameof(keystone); }
|
||||
|
||||
public bool StoreTo(out KeystoneLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out val.ItemId) || !t.TryConsumeTo(out uint mapChallengeModeId) || !t.TryConsumeTo(out val.Level)
|
||||
|| !t.TryConsumeTo(out val.Affix[0]) || !t.TryConsumeTo(out val.Affix[1]) || !t.TryConsumeTo(out val.Affix[2]) || !t.TryConsumeTo(out val.Affix[3])
|
||||
|| !t.IsEmpty())
|
||||
return false;
|
||||
|
||||
val.Map = CliDB.MapChallengeModeStorage.LookupByKey(mapChallengeModeId);
|
||||
if (val.Map == null)
|
||||
return false;
|
||||
|
||||
ItemTemplate item = Global.ObjectMgr.GetItemTemplate(val.ItemId);
|
||||
if (item == null || item.GetClass() != ItemClass.Reagent || item.GetSubClass() != (uint)ItemSubClassReagent.Keystone)
|
||||
return false;
|
||||
|
||||
foreach (uint keystoneAffix in val.Affix)
|
||||
if (keystoneAffix != 0 && !CliDB.KeystoneAffixStorage.ContainsKey(keystoneAffix))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct mawpower
|
||||
{
|
||||
public string GetTag() { return nameof(mawpower); }
|
||||
|
||||
public bool StoreTo(out MawPowerRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint mawPowerId))
|
||||
return false;
|
||||
|
||||
val = CliDB.MawPowerStorage.LookupByKey(mawPowerId);
|
||||
return val != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct player
|
||||
{
|
||||
public string GetTag() { return nameof(player); }
|
||||
|
||||
public bool StoreTo(out string val, string arg)
|
||||
{
|
||||
val = arg;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct pvptal
|
||||
{
|
||||
public string GetTag() { return nameof(pvptal); }
|
||||
|
||||
public bool StoreTo(out PvpTalentRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!(t.TryConsumeTo(out uint pvpTalentId) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
val = CliDB.PvpTalentStorage.LookupByKey(pvpTalentId);
|
||||
return val != null;
|
||||
}
|
||||
}
|
||||
|
||||
struct quest
|
||||
{
|
||||
public string GetTag() { return nameof(quest); }
|
||||
|
||||
public bool StoreTo(out QuestLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint questId))
|
||||
return false;
|
||||
|
||||
val.Quest = Global.ObjectMgr.GetQuestTemplate(questId);
|
||||
return val.Quest != null && t.TryConsumeTo(out val.ContentTuningId) && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct skill
|
||||
{
|
||||
public string GetTag() { return nameof(skill); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct spell
|
||||
{
|
||||
public string GetTag() { return nameof(spell); }
|
||||
|
||||
public bool StoreTo(out SpellLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!(t.TryConsumeTo(out uint spellId) && t.TryConsumeTo(out uint glyphPropertiesId) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
val.Spell = Global.SpellMgr.GetSpellInfo(spellId, Difficulty.None);
|
||||
val.Glyph = CliDB.GlyphPropertiesStorage.LookupByKey(glyphPropertiesId);
|
||||
|
||||
return val.Spell != null && (glyphPropertiesId == 0 || val.Glyph != null);
|
||||
}
|
||||
}
|
||||
|
||||
struct talent
|
||||
{
|
||||
public string GetTag() { return nameof(talent); }
|
||||
|
||||
public bool StoreTo(out TalentRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!(t.TryConsumeTo(out uint talentId) && t.IsEmpty()))
|
||||
return false;
|
||||
|
||||
val = CliDB.TalentStorage.LookupByKey(talentId);
|
||||
return val != null;
|
||||
}
|
||||
}
|
||||
|
||||
struct taxinode
|
||||
{
|
||||
public string GetTag() { return nameof(taxinode); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct tele
|
||||
{
|
||||
public string GetTag() { return nameof(tele); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct title
|
||||
{
|
||||
public string GetTag() { return nameof(title); }
|
||||
|
||||
public bool StoreTo(out uint val, string arg)
|
||||
{
|
||||
if (!uint.TryParse(arg, out val))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct trade
|
||||
{
|
||||
public string GetTag() { return nameof(trade); }
|
||||
|
||||
public bool StoreTo(out TradeskillLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out val.Owner) || !t.TryConsumeTo(out uint spellId) || !t.TryConsumeTo(out uint skillId) || !t.IsEmpty())
|
||||
return false;
|
||||
|
||||
val.Spell = Global.SpellMgr.GetSpellInfo(spellId, Difficulty.None);
|
||||
val.Skill = CliDB.SkillLineStorage.LookupByKey(skillId);
|
||||
if (val.Spell == null || !val.Spell.HasEffect(SpellEffectName.TradeSkill) || val.Skill == null)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
struct transmogappearance
|
||||
{
|
||||
public string GetTag() { return nameof(transmogappearance); }
|
||||
|
||||
public bool StoreTo(out ItemModifiedAppearanceRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint itemModifiedAppearanceId))
|
||||
return false;
|
||||
|
||||
val = CliDB.ItemModifiedAppearanceStorage.LookupByKey(itemModifiedAppearanceId);
|
||||
return val != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct transmogillusion
|
||||
{
|
||||
public string GetTag() { return nameof(transmogillusion); }
|
||||
|
||||
public bool StoreTo(out SpellItemEnchantmentRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint spellItemEnchantmentId))
|
||||
return false;
|
||||
|
||||
val = CliDB.SpellItemEnchantmentStorage.LookupByKey(spellItemEnchantmentId);
|
||||
return val != null
|
||||
&& Global.DB2Mgr.GetTransmogIllusionForEnchantment(spellItemEnchantmentId) != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct transmogset
|
||||
{
|
||||
public string GetTag() { return nameof(transmogset); }
|
||||
|
||||
public bool StoreTo(out TransmogSetRecord val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint transmogSetId))
|
||||
return false;
|
||||
|
||||
val = CliDB.TransmogSetStorage.LookupByKey(transmogSetId);
|
||||
return val != null && t.IsEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
struct worldmap
|
||||
{
|
||||
public string GetTag() { return nameof(worldmap); }
|
||||
|
||||
public bool StoreTo(out WorldMapLinkData val, string arg)
|
||||
{
|
||||
val = default;
|
||||
|
||||
HyperlinkDataTokenizer t = new(arg);
|
||||
if (!t.TryConsumeTo(out uint uiMapId))
|
||||
return false;
|
||||
|
||||
val.UiMap = CliDB.UiMapStorage.LookupByKey(uiMapId);
|
||||
if (val.UiMap == null || !t.TryConsumeTo(out val.X) || !t.TryConsumeTo(out val.Y))
|
||||
return false;
|
||||
|
||||
if (t.IsEmpty())
|
||||
return true;
|
||||
|
||||
if (!t.TryConsumeTo(out uint z))
|
||||
return false;
|
||||
|
||||
val.Z = z;
|
||||
|
||||
return t.IsEmpty();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user