Ok really add the new command stuff.

This commit is contained in:
hondacrx
2022-01-20 10:02:10 -05:00
parent 883a3bb990
commit e9eed31d90
51 changed files with 2550 additions and 1383 deletions
+22
View File
@@ -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:
+136
View File
@@ -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;
}
}
}
+2 -5
View File
@@ -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;
+80 -50
View File
@@ -29,25 +29,27 @@ namespace Game.Chat
public class CommandManager
{
static CommandManager()
{
try
{
foreach (var type in Assembly.GetExecutingAssembly().GetTypes())
{
if (type.Attributes.HasAnyFlag(TypeAttributes.NestedPrivate))
if (type.Attributes.HasAnyFlag(TypeAttributes.NestedPrivate | TypeAttributes.NestedPublic))
continue;
var groupAttribute = type.GetCustomAttribute<CommandGroupAttribute>(true);
if (groupAttribute != null)
{
_commands.Add(groupAttribute.Name, new ChatCommand(type, groupAttribute));
ChatCommand command = new(groupAttribute);
BuildChildCommandsForCommand(command, type);
_commands.Add(groupAttribute.Name, command);
}
else
{
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));
}
}
}
@@ -63,10 +65,33 @@ namespace Game.Chat
while (result.NextRow());
}
}
catch (Exception ex)
static void BuildChildCommandsForCommand(ChatCommand command, Type type)
{
Log.outException(ex);
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)
@@ -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}";
}
}
}
+63 -241
View File
@@ -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,69 +414,48 @@ 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;
}
}
// Check for invalid specified GM level.
if (!uint.TryParse(isAccountNameGiven ? arg2 : arg1, out uint securityLevel))
else
{
Player player = handler.GetSelectedPlayer();
if (!player)
return false;
accountId = player.GetSession().GetAccountId();
Global.AccountMgr.GetName(accountId, out accountName);
}
if (securityLevel > (uint)AccountTypes.Console)
{
handler.SendSysMessage(CypherStrings.BadValue);
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,23 +584,14 @@ 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;
}
string param = args.NextString();
if (!param.IsEmpty())
{
if (param == "on")
{
var ipBytes = System.Net.IPAddress.Parse(handler.GetSession().GetRemoteAddress()).GetAddressBytes();
/*var ipBytes = System.Net.IPAddress.Parse(handler.GetSession().GetRemoteAddress()).GetAddressBytes();
Array.Reverse(ipBytes);
/*PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_LOGON_COUNTRY);
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.SEL_LOGON_COUNTRY);
stmt.AddValue(0, BitConverter.ToUInt32(ipBytes, 0));
SQLResult result = DB.Login.Query(stmt);
@@ -773,7 +610,7 @@ namespace Game.Chat
Log.outDebug(LogFilter.Server, "[IP2NATION] Table empty");
}*/
}
else if (param == "off")
else
{
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK_COUNTRY);
stmt.AddValue(0, "00");
@@ -783,43 +620,28 @@ namespace Game.Chat
}
return true;
}
handler.SendSysMessage(CypherStrings.UseBol);
return false;
}
[Command("ip", RBACPermissions.CommandAccountLockIp)]
static bool HandleAccountLockIpCommand(StringArguments args, CommandHandler handler)
{
if (args.Empty())
{
handler.SendSysMessage(CypherStrings.UseBol);
return false;
}
string param = args.NextString();
if (!string.IsNullOrEmpty(param))
static bool HandleAccountLockIpCommand(CommandHandler handler, bool state)
{
PreparedStatement stmt = DB.Login.GetPreparedStatement(LoginStatements.UPD_ACCOUNT_LOCK);
if (param == "on")
if (state)
{
stmt.AddValue(0, true); // locked
handler.SendSysMessage(CypherStrings.CommandAcclocklocked);
}
else if (param == "off")
else
{
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;
}
}
}
}
@@ -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;
}
}
}
+17 -17
View File
@@ -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)
+6 -6
View File
@@ -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())
{
+14 -14
View File
@@ -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);
+6 -6
View File
@@ -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)
+16 -16
View File
@@ -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;
+8 -8
View File
@@ -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;
+45 -45
View File
@@ -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);
}
+16 -16
View File
@@ -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;
+4 -4
View File
@@ -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;
+6 -6
View File
@@ -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();
+13 -13
View File
@@ -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");
+135 -311
View File
@@ -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,6 +70,7 @@ namespace Game.Chat.Commands
return false;
}
Player player = handler.GetSession().GetPlayer();
// stop flight if need
if (player.IsInFlight())
player.FinishTaxiFlight();
@@ -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,24 +110,23 @@ 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)
{
List<Tuple<uint, string>> matches = new();
MultiMap<uint, Tuple<uint, string, string>> matches = new();
foreach (var pair in Global.ObjectMgr.GetInstanceTemplates())
{
uint count = 0;
string scriptName = Global.ObjectMgr.GetScriptName(pair.Value.ScriptId);
if (scriptName.Contains(mapIdOrScriptNameStr))
matches.Add(Tuple.Create(pair.Key, scriptName));
string mapName1 = CliDB.MapStorage.LookupByKey(pair.Key).MapName[handler.GetSessionDbcLocale()];
foreach (var label in labels)
if (scriptName.Contains(label))
++count;
if (count != 0)
matches.Add(count, Tuple.Create(pair.Key, mapName1, scriptName));
}
if (matches.Empty())
@@ -144,25 +135,9 @@ namespace Game.Chat.Commands
return false;
}
if (matches.Count > 1)
{
handler.SendSysMessage(CypherStrings.CommandMultipleInstancesMatch);
return false;
}
mapId = matches[0].Item1;
}
if (mapId == 0)
return false;
InstanceTemplate temp = Global.ObjectMgr.GetInstanceTemplate(mapId);
if (temp == null)
{
//handler.SendSysMessage(CypherStrings.CommandMapNotInstance, mapId);
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,71 +382,16 @@ namespace Game.Chat.Commands
return true;
}
[CommandGroup("creature", RBACPermissions.CommandGo)]
class GoCommandCreature
static bool DoTeleport(CommandHandler handler, Position pos, uint mapId = 0xFFFFFFFF)
{
[Command("", RBACPermissions.CommandGo)]
static bool HandleGoCreatureSpawnIdCommand(StringArguments args, CommandHandler handler)
{
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;
if (mapId == 0xFFFFFFFF)
mapId = player.GetMapId();
string whereClause = "";
// User wants to teleport to the NPC's template entry
if (param1.Equals("id"))
if (!GridDefines.IsValidMapCoord(mapId, pos) || Global.ObjectMgr.IsTransportMap(mapId))
{
// 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())
{
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);
handler.SendSysMessage(CypherStrings.InvalidTargetCoord, pos.GetPositionX(), pos.GetPositionY(), mapId);
return false;
}
@@ -605,16 +401,51 @@ namespace Game.Chat.Commands
else
player.SaveRecallPosition(); // save only in non-flight case
player.TeleportTo(mapId, x, y, z, o);
player.TeleportTo(new WorldLocation(mapId, pos));
return true;
}
[Command("id", RBACPermissions.CommandGo)]
static bool HandleGoCreatureCIdCommand(StringArguments args, CommandHandler handler)
[CommandGroup("creature", RBACPermissions.CommandGo)]
class GoCommandCreature
{
//temp fix till rework command system.
return HandleGoCreatureSpawnIdCommand(args, handler);
[Command("", RBACPermissions.CommandGo)]
static bool HandleGoCreatureSpawnIdCommand(CommandHandler handler, ulong spawnId)
{
CreatureData spawnpoint = Global.ObjectMgr.GetCreatureData(spawnId);
if (spawnpoint == null)
{
handler.SendSysMessage(CypherStrings.CommandGocreatnotfound);
return false;
}
return DoTeleport(handler, spawnpoint.SpawnPoint, spawnpoint.MapId);
}
[Command("id", RBACPermissions.CommandGo)]
static bool HandleGoCreatureCIdCommand(CommandHandler handler, uint id)
{
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);
}
}
}
+11 -11
View File
@@ -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");
}
+7 -7
View File
@@ -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();
+3 -3
View File
@@ -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;
+5 -5
View File
@@ -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();
+13 -13
View File
@@ -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;
+8 -8
View File
@@ -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();
+18 -18
View File
@@ -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;
+5 -5
View File
@@ -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();
+8 -8
View File
@@ -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;
+45 -75
View File
@@ -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 -29
View File
@@ -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();
+35 -35
View File
@@ -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;
+4 -4
View File
@@ -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;
+4 -4
View File
@@ -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)
+5 -5
View File
@@ -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);
+167 -167
View File
@@ -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;
}
}
+7 -7
View File
@@ -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;
+4 -4
View File
@@ -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;
+4 -4
View File
@@ -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;
+20 -20
View File
@@ -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"))
+4 -4
View File
@@ -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");
+10 -30
View File
@@ -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())
+65 -65
View File
@@ -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;
+4 -4
View File
@@ -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;
+7 -7
View File
@@ -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)
+221
View File
@@ -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);
}
}
}
+168
View File
@@ -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;
}
}
+189
View File
@@ -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;
}
}
+764
View File
@@ -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();
}
}
}