Scripts/Commands: Convert remaining debug commands

Port From (https://github.com/TrinityCore/TrinityCore/commit/26f3c25dae6b0170688277b05b9a37f257b16c68)
This commit is contained in:
hondacrx
2022-06-08 16:06:27 -04:00
parent e6db88fa14
commit 31b0815170
2 changed files with 70 additions and 173 deletions
@@ -2603,6 +2603,7 @@ namespace Framework.Constants
RaidEncounter = 22, // Cctt| RaidEncounter = 22, // Cctt|
Healthy75Percent = 23, // C | Healthy75Percent = 23, // C |
WoundHealth35_80 = 24, // T | WoundHealth35_80 = 24, // T |
Max,
PerCasterAuraStateMask = (1 << (RaidEncounter2 - 1)) | (1 << (RoguePoisoned - 1)) PerCasterAuraStateMask = (1 << (RaidEncounter2 - 1)) | (1 << (RoguePoisoned - 1))
} }
+69 -173
View File
@@ -49,7 +49,7 @@ namespace Game.Chat
[Command("areatriggers", RBACPermissions.CommandDebugAreatriggers)] [Command("areatriggers", RBACPermissions.CommandDebugAreatriggers)]
static bool HandleDebugAreaTriggersCommand(CommandHandler handler) static bool HandleDebugAreaTriggersCommand(CommandHandler handler)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
if (!player.IsDebugAreaTriggers) if (!player.IsDebugAreaTriggers)
{ {
handler.SendSysMessage(CypherStrings.DebugAreatriggerOn); handler.SendSysMessage(CypherStrings.DebugAreatriggerOn);
@@ -80,7 +80,7 @@ namespace Game.Chat
[Command("boundary", RBACPermissions.CommandDebugBoundary)] [Command("boundary", RBACPermissions.CommandDebugBoundary)]
static bool HandleDebugBoundaryCommand(CommandHandler handler, string fill, uint durationArg) static bool HandleDebugBoundaryCommand(CommandHandler handler, string fill, uint durationArg)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
if (!player) if (!player)
return false; return false;
@@ -104,7 +104,7 @@ namespace Game.Chat
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (!target)
target = handler.GetSession().GetPlayer(); target = handler.GetPlayer();
handler.SendSysMessage($"Combat refs: (Combat state: {target.IsInCombat()} | Manager state: {target.GetCombatManager().HasCombat()})"); handler.SendSysMessage($"Combat refs: (Combat state: {target.IsInCombat()} | Manager state: {target.GetCombatManager().HasCombat()})");
foreach (var refe in target.GetCombatManager().GetPvPCombatRefs()) foreach (var refe in target.GetCombatManager().GetPvPCombatRefs())
@@ -122,15 +122,8 @@ namespace Game.Chat
} }
[Command("conversation", RBACPermissions.CommandDebugConversation)] [Command("conversation", RBACPermissions.CommandDebugConversation)]
static bool HandleDebugConversationCommand(CommandHandler handler, StringArguments args) static bool HandleDebugConversationCommand(CommandHandler handler, uint conversationEntry)
{ {
if (args.Empty())
return false;
uint conversationEntry = args.NextUInt32();
if (conversationEntry == 0)
return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (!target) if (!target)
{ {
@@ -156,12 +149,12 @@ namespace Game.Chat
return false; return false;
if (entry == 0) if (entry == 0)
handler.GetSession().GetPlayer().EnterVehicle(target, seatId); handler.GetPlayer().EnterVehicle(target, seatId);
else else
{ {
var check = new AllCreaturesOfEntryInRange(handler.GetSession().GetPlayer(), entry, 20.0f); var check = new AllCreaturesOfEntryInRange(handler.GetPlayer(), entry, 20.0f);
var searcher = new CreatureSearcher(handler.GetSession().GetPlayer(), check); var searcher = new CreatureSearcher(handler.GetPlayer(), check);
Cell.VisitAllObjects(handler.GetSession().GetPlayer(), searcher, 30.0f); Cell.VisitAllObjects(handler.GetPlayer(), searcher, 30.0f);
var passenger = searcher.GetTarget(); var passenger = searcher.GetTarget();
if (!passenger || passenger == target) if (!passenger || passenger == target)
return false; return false;
@@ -196,7 +189,7 @@ namespace Game.Chat
Player player = handler.GetSelectedPlayer(); Player player = handler.GetSelectedPlayer();
if (!player) if (!player)
player = handler.GetSession().GetPlayer(); player = handler.GetPlayer();
if (!listQueue && !checkAll) if (!listQueue && !checkAll)
{ {
@@ -460,20 +453,18 @@ namespace Game.Chat
} }
[Command("instancespawn", RBACPermissions.CommandDebugInstancespawn)] [Command("instancespawn", RBACPermissions.CommandDebugInstancespawn)]
static bool HandleDebugInstanceSpawns(CommandHandler handler, StringArguments args) static bool HandleDebugInstanceSpawns(CommandHandler handler, string optArg)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
if (player == null) if (player == null)
return false; return false;
string explainOrGroupId = args.NextString();
bool explain = false; bool explain = false;
uint groupID = 0; uint groupID = 0;
if (explainOrGroupId.Equals("explain", StringComparison.OrdinalIgnoreCase)) if (optArg.Equals("explain", StringComparison.OrdinalIgnoreCase))
explain = true; explain = true;
else else
groupID = uint.Parse(explainOrGroupId); groupID = uint.Parse(optArg);
if (groupID != 0 && Global.ObjectMgr.GetSpawnGroupData(groupID) == null) if (groupID != 0 && Global.ObjectMgr.GetSpawnGroupData(groupID) == null)
{ {
@@ -571,12 +562,12 @@ namespace Game.Chat
[Command("itemexpire", RBACPermissions.CommandDebugItemexpire)] [Command("itemexpire", RBACPermissions.CommandDebugItemexpire)]
static bool HandleDebugItemExpireCommand(CommandHandler handler, ulong guid) static bool HandleDebugItemExpireCommand(CommandHandler handler, ulong guid)
{ {
Item item = handler.GetSession().GetPlayer().GetItemByGuid(ObjectGuid.Create(HighGuid.Item, guid)); Item item = handler.GetPlayer().GetItemByGuid(ObjectGuid.Create(HighGuid.Item, guid));
if (!item) if (!item)
return false; return false;
handler.GetSession().GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true); handler.GetPlayer().DestroyItem(item.GetBagSlot(), item.GetSlot(), true);
Global.ScriptMgr.OnItemExpire(handler.GetSession().GetPlayer(), item.GetTemplate()); Global.ScriptMgr.OnItemExpire(handler.GetPlayer(), item.GetTemplate());
return true; return true;
} }
@@ -584,7 +575,7 @@ namespace Game.Chat
[Command("loadcells", RBACPermissions.CommandDebugLoadcells)] [Command("loadcells", RBACPermissions.CommandDebugLoadcells)]
static bool HandleDebugLoadCellsCommand(CommandHandler handler, uint mapId = 0xFFFFFFFF) static bool HandleDebugLoadCellsCommand(CommandHandler handler, uint mapId = 0xFFFFFFFF)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
if (!player) if (!player)
return false; return false;
@@ -619,7 +610,7 @@ namespace Game.Chat
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (unit) if (unit)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
handler.SendSysMessage($"Checking LoS {player.GetName()} . {unit.GetName()}:"); handler.SendSysMessage($"Checking LoS {player.GetName()} . {unit.GetName()}:");
handler.SendSysMessage($" VMAP LoS: {(player.IsWithinLOSInMap(unit, LineOfSightChecks.Vmap) ? "clear" : "obstructed")}"); handler.SendSysMessage($" VMAP LoS: {(player.IsWithinLOSInMap(unit, LineOfSightChecks.Vmap) ? "clear" : "obstructed")}");
handler.SendSysMessage($" GObj LoS: {(player.IsWithinLOSInMap(unit, LineOfSightChecks.Gobject) ? "clear" : "obstructed")}"); handler.SendSysMessage($" GObj LoS: {(player.IsWithinLOSInMap(unit, LineOfSightChecks.Gobject) ? "clear" : "obstructed")}");
@@ -630,37 +621,25 @@ namespace Game.Chat
} }
[Command("moveflags", RBACPermissions.CommandDebugMoveflags)] [Command("moveflags", RBACPermissions.CommandDebugMoveflags)]
static bool HandleDebugMoveflagsCommand(CommandHandler handler, StringArguments args) static bool HandleDebugMoveflagsCommand(CommandHandler handler, uint? moveFlags, uint? moveFlagsExtra)
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (!target) if (!target)
target = handler.GetSession().GetPlayer(); target = handler.GetPlayer();
if (args.Empty()) if (!moveFlags.HasValue)
{ {
//! Display case //! Display case
handler.SendSysMessage(CypherStrings.MoveflagsGet, target.GetUnitMovementFlags(), target.GetUnitMovementFlags2()); handler.SendSysMessage(CypherStrings.MoveflagsGet, target.GetUnitMovementFlags(), target.GetUnitMovementFlags2());
} }
else else
{ {
string mask1 = args.NextString();
if (string.IsNullOrEmpty(mask1))
return false;
string mask2 = args.NextString(" \n");
if (!uint.TryParse(mask1, out uint moveFlags))
return false;
target.SetUnitMovementFlags((MovementFlag)moveFlags);
// @fixme: port master's HandleDebugMoveflagsCommand; flags need different handling // @fixme: port master's HandleDebugMoveflagsCommand; flags need different handling
if (!string.IsNullOrEmpty(mask2)) target.SetUnitMovementFlags((MovementFlag)moveFlags);
{
if (!uint.TryParse(mask2, out uint moveFlagsExtra)) if (moveFlagsExtra.HasValue)
return false;
target.SetUnitMovementFlags2((MovementFlag2)moveFlagsExtra); target.SetUnitMovementFlags2((MovementFlag2)moveFlagsExtra);
}
if (!target.IsTypeId(TypeId.Player)) if (!target.IsTypeId(TypeId.Player))
target.DestroyForNearbyPlayers(); // Force new SMSG_UPDATE_OBJECT:CreateObject target.DestroyForNearbyPlayers(); // Force new SMSG_UPDATE_OBJECT:CreateObject
@@ -680,7 +659,7 @@ namespace Game.Chat
[Command("neargraveyard", RBACPermissions.CommandNearGraveyard)] [Command("neargraveyard", RBACPermissions.CommandNearGraveyard)]
static bool HandleDebugNearGraveyard(CommandHandler handler, string linked) static bool HandleDebugNearGraveyard(CommandHandler handler, string linked)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
WorldSafeLocsEntry nearestLoc = null; WorldSafeLocsEntry nearestLoc = null;
if (linked == "linked") if (linked == "linked")
@@ -869,14 +848,8 @@ namespace Game.Chat
} }
[Command("setaurastate", RBACPermissions.CommandDebugSetaurastate)] [Command("setaurastate", RBACPermissions.CommandDebugSetaurastate)]
static bool HandleDebugSetAuraStateCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSetAuraStateCommand(CommandHandler handler, AuraStateType? state, bool apply)
{ {
if (args.Empty())
{
handler.SendSysMessage(CypherStrings.BadValue);
return false;
}
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (!unit)
{ {
@@ -884,42 +857,26 @@ namespace Game.Chat
return false; return false;
} }
int state = args.NextInt32();
if (state == 0) if (state == 0)
{ {
// reset all states // reset all states
for (int i = 1; i <= 32; ++i) for (AuraStateType s = 0; s < AuraStateType.Max; ++s)
unit.ModifyAuraState((AuraStateType)i, false); unit.ModifyAuraState(s, false);
return true; return true;
} }
unit.ModifyAuraState((AuraStateType)Math.Abs(state), state > 0); unit.ModifyAuraState(state.GetValueOrDefault(0), apply);
return true;
}
[Command("setvid", RBACPermissions.CommandDebugSetvid)]
static bool HandleDebugSetVehicleIdCommand(CommandHandler handler, StringArguments args)
{
Unit target = handler.GetSelectedUnit();
if (!target || target.IsVehicle())
return false;
if (args.Empty())
return false;
uint id = args.NextUInt32();
handler.SendSysMessage("Vehicle id set to {0}", id);
return true; return true;
} }
[Command("spawnvehicle", RBACPermissions.CommandDebugSpawnvehicle)] [Command("spawnvehicle", RBACPermissions.CommandDebugSpawnvehicle)]
static bool HandleDebugSpawnVehicleCommand(CommandHandler handler, uint entry, uint id) static bool HandleDebugSpawnVehicleCommand(CommandHandler handler, uint entry, uint id)
{ {
float x, y, z, o = handler.GetSession().GetPlayer().GetOrientation(); float x, y, z, o = handler.GetPlayer().GetOrientation();
handler.GetSession().GetPlayer().GetClosePoint(out x, out y, out z, handler.GetSession().GetPlayer().GetCombatReach()); handler.GetPlayer().GetClosePoint(out x, out y, out z, handler.GetPlayer().GetCombatReach());
if (id == 0) if (id == 0)
return handler.GetSession().GetPlayer().SummonCreature(entry, x, y, z, o); return handler.GetPlayer().SummonCreature(entry, x, y, z, o);
CreatureTemplate creatureTemplate = Global.ObjectMgr.GetCreatureTemplate(entry); CreatureTemplate creatureTemplate = Global.ObjectMgr.GetCreatureTemplate(entry);
if (creatureTemplate == null) if (creatureTemplate == null)
@@ -929,7 +886,7 @@ namespace Game.Chat
if (vehicleRecord == null) if (vehicleRecord == null)
return false; return false;
Map map = handler.GetSession().GetPlayer().GetMap(); Map map = handler.GetPlayer().GetMap();
Position pos = new(x, y, z, o); Position pos = new(x, y, z, o);
Creature creature = Creature.CreateCreature(entry, map, pos, id); Creature creature = Creature.CreateCreature(entry, map, pos, id);
@@ -945,7 +902,7 @@ namespace Game.Chat
{ {
Unit target = handler.GetSelectedUnit(); Unit target = handler.GetSelectedUnit();
if (target == null) if (target == null)
target = handler.GetSession().GetPlayer(); target = handler.GetPlayer();
ThreatManager mgr = target.GetThreatManager(); ThreatManager mgr = target.GetThreatManager();
if (!target.IsAlive()) if (!target.IsAlive())
@@ -1079,7 +1036,7 @@ namespace Game.Chat
[Command("transport", RBACPermissions.CommandDebugTransport)] [Command("transport", RBACPermissions.CommandDebugTransport)]
static bool HandleDebugTransportCommand(CommandHandler handler, string operation) static bool HandleDebugTransportCommand(CommandHandler handler, string operation)
{ {
Transport transport = handler.GetSession().GetPlayer().GetTransport<Transport>(); Transport transport = handler.GetPlayer().GetTransport<Transport>();
if (!transport) if (!transport)
return false; return false;
@@ -1106,22 +1063,13 @@ namespace Game.Chat
[Command("worldstate", RBACPermissions.CommandDebugWorldState)] [Command("worldstate", RBACPermissions.CommandDebugWorldState)]
static bool HandleDebugUpdateWorldStateCommand(CommandHandler handler, uint variable, uint value) static bool HandleDebugUpdateWorldStateCommand(CommandHandler handler, uint variable, uint value)
{ {
handler.GetSession().GetPlayer().SendUpdateWorldState(variable, value); handler.GetPlayer().SendUpdateWorldState(variable, value);
return true; return true;
} }
[Command("worldstate", RBACPermissions.CommandDebug)] [Command("worldstate", RBACPermissions.CommandDebug)]
static bool HandleDebugWorldStateCommand(CommandHandler handler, StringArguments args) static bool HandleDebugWorldStateCommand(CommandHandler handler, uint worldStateId, uint? value)
{ {
if (args.Empty())
return false;
string worldStateIdStr = args.NextString();
string valueStr = args.NextString();
if (worldStateIdStr.IsEmpty())
return false;
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (target == null) if (target == null)
{ {
@@ -1129,13 +1077,10 @@ namespace Game.Chat
return false; return false;
} }
uint worldStateId = uint.Parse(worldStateIdStr); if (value.HasValue)
uint value = valueStr.IsEmpty() ? 0 : uint.Parse(valueStr);
if (value != 0)
{ {
Global.WorldMgr.SetWorldState(worldStateId, value); Global.WorldMgr.SetWorldState(worldStateId, value.Value);
target.SendUpdateWorldState(worldStateId, value); target.SendUpdateWorldState(worldStateId, value.Value);
} }
else else
handler.SendSysMessage($"Worldstate {worldStateId} actual value : {Global.WorldMgr.GetWorldState(worldStateId)}"); handler.SendSysMessage($"Worldstate {worldStateId} actual value : {Global.WorldMgr.GetWorldState(worldStateId)}");
@@ -1146,7 +1091,7 @@ namespace Game.Chat
[CommandNonGroup("wpgps", RBACPermissions.CommandWpgps)] [CommandNonGroup("wpgps", RBACPermissions.CommandWpgps)]
static bool HandleWPGPSCommand(CommandHandler handler) static bool HandleWPGPSCommand(CommandHandler handler)
{ {
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
Log.outInfo(LogFilter.SqlDev, $"(@PATH, XX, {player.GetPositionX():3F}, {player.GetPositionY():3F}, {player.GetPositionZ():5F}, {player.GetOrientation():5F}, 0, 0, 0, 100, 0)"); Log.outInfo(LogFilter.SqlDev, $"(@PATH, XX, {player.GetPositionX():3F}, {player.GetPositionY():3F}, {player.GetPositionZ():5F}, {player.GetOrientation():5F}, 0, 0, 0, 100, 0)");
@@ -1155,18 +1100,8 @@ namespace Game.Chat
} }
[Command("wsexpression", RBACPermissions.CommandDebug)] [Command("wsexpression", RBACPermissions.CommandDebug)]
static bool HandleDebugWSExpressionCommand(CommandHandler handler, StringArguments args) static bool HandleDebugWSExpressionCommand(CommandHandler handler, uint expressionId)
{ {
if (args.Empty())
return false;
string expressionIdStr = args.NextString();
if (expressionIdStr.IsEmpty())
return false;
uint expressionId = uint.Parse(expressionIdStr);
Player target = handler.GetSelectedPlayerOrSelf(); Player target = handler.GetSelectedPlayerOrSelf();
if (target == null) if (target == null)
{ {
@@ -1213,7 +1148,7 @@ namespace Game.Chat
handler.SendSysMessage("{0} waypoints dumped", list.Count); handler.SendSysMessage("{0} waypoints dumped", list.Count);
} }
handler.GetSession().GetPlayer().SendCinematicStart(cinematicId); handler.GetPlayer().SendCinematicStart(cinematicId);
return true; return true;
} }
@@ -1226,7 +1161,7 @@ namespace Game.Chat
return false; return false;
} }
handler.GetSession().GetPlayer().SendMovieStart(movieId); handler.GetPlayer().SendMovieStart(movieId);
return true; return true;
} }
@@ -1239,7 +1174,7 @@ namespace Game.Chat
return false; return false;
} }
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
player.PlayDirectMusic(musicId, player); player.PlayDirectMusic(musicId, player);
@@ -1256,7 +1191,7 @@ namespace Game.Chat
return false; return false;
} }
Player player = handler.GetSession().GetPlayer(); Player player = handler.GetPlayer();
Unit unit = handler.GetSelectedUnit(); Unit unit = handler.GetSelectedUnit();
if (!unit) if (!unit)
@@ -1314,63 +1249,44 @@ namespace Game.Chat
class SendCommands class SendCommands
{ {
[Command("buyerror", RBACPermissions.CommandDebugSendBuyerror)] [Command("buyerror", RBACPermissions.CommandDebugSendBuyerror)]
static bool HandleDebugSendBuyErrorCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendBuyErrorCommand(CommandHandler handler, BuyResult error)
{ {
if (args.Empty()) handler.GetPlayer().SendBuyError(error, null, 0);
return false;
BuyResult msg = (BuyResult)args.NextUInt32();
handler.GetSession().GetPlayer().SendBuyError(msg, null, 0);
return true; return true;
} }
[Command("channelnotify", RBACPermissions.CommandDebugSendChannelnotify)] [Command("channelnotify", RBACPermissions.CommandDebugSendChannelnotify)]
static bool HandleDebugSendChannelNotifyCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendChannelNotifyCommand(CommandHandler handler, ChatNotify type)
{ {
if (args.Empty())
return false;
string name = "test";
byte code = args.NextByte();
ChannelNotify packet = new(); ChannelNotify packet = new();
packet.Type = (ChatNotify)code; packet.Type = type;
packet.Channel = name; packet.Channel = "test";
handler.GetSession().SendPacket(packet); handler.GetSession().SendPacket(packet);
return true; return true;
} }
[Command("chatmessage", RBACPermissions.CommandDebugSendChatmessage)] [Command("chatmessage", RBACPermissions.CommandDebugSendChatmessage)]
static bool HandleDebugSendChatMsgCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendChatMsgCommand(CommandHandler handler, ChatMsg type)
{ {
if (args.Empty())
return false;
string msg = "testtest";
byte type = args.NextByte();
ChatPkt data = new(); ChatPkt data = new();
data.Initialize((ChatMsg)type, Language.Universal, handler.GetSession().GetPlayer(), handler.GetSession().GetPlayer(), msg, 0, "chan"); data.Initialize(type, Language.Universal, handler.GetPlayer(), handler.GetPlayer(), "testtest", 0, "chan");
handler.GetSession().SendPacket(data); handler.GetSession().SendPacket(data);
return true; return true;
} }
[Command("equiperror", RBACPermissions.CommandDebugSendEquiperror)] [Command("equiperror", RBACPermissions.CommandDebugSendEquiperror)]
static bool HandleDebugSendEquipErrorCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendEquipErrorCommand(CommandHandler handler, InventoryResult error)
{ {
if (args.Empty()) handler.GetPlayer().SendEquipError(error);
return false;
InventoryResult msg = (InventoryResult)args.NextUInt32();
handler.GetSession().GetPlayer().SendEquipError(msg);
return true; return true;
} }
[Command("largepacket", RBACPermissions.CommandDebugSendLargepacket)] [Command("largepacket", RBACPermissions.CommandDebugSendLargepacket)]
static bool HandleDebugSendLargePacketCommand(CommandHandler handler) static bool HandleDebugSendLargePacketCommand(CommandHandler handler)
{ {
const string stuffingString = "This is a dummy string to push the packet's size beyond 128000 bytes. ";
StringBuilder ss = new(); StringBuilder ss = new();
while (ss.Length < 128000) while (ss.Length < 128000)
ss.Append(stuffingString); ss.Append("This is a dummy string to push the packet's size beyond 128000 bytes. ");
handler.SendSysMessage(ss.ToString()); handler.SendSysMessage(ss.ToString());
return true; return true;
} }
@@ -1383,42 +1299,31 @@ namespace Game.Chat
} }
[Command("playerchoice", RBACPermissions.CommandDebugSendPlayerChoice)] [Command("playerchoice", RBACPermissions.CommandDebugSendPlayerChoice)]
static bool HandleDebugSendPlayerChoiceCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendPlayerChoiceCommand(CommandHandler handler, int choiceId)
{ {
if (args.Empty()) Player player = handler.GetPlayer();
return false;
int choiceId = args.NextInt32();
Player player = handler.GetSession().GetPlayer();
player.SendPlayerChoice(player.GetGUID(), choiceId); player.SendPlayerChoice(player.GetGUID(), choiceId);
return true; return true;
} }
[Command("qpartymsg", RBACPermissions.CommandDebugSendQpartymsg)] [Command("qpartymsg", RBACPermissions.CommandDebugSendQpartymsg)]
static bool HandleDebugSendQuestPartyMsgCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendQuestPartyMsgCommand(CommandHandler handler, QuestPushReason msg)
{ {
uint msg = args.NextUInt32(); handler.GetPlayer().SendPushToPartyResponse(handler.GetPlayer(), msg);
handler.GetSession().GetPlayer().SendPushToPartyResponse(handler.GetSession().GetPlayer(), (QuestPushReason)msg);
return true; return true;
} }
[Command("qinvalidmsg", RBACPermissions.CommandDebugSendQinvalidmsg)] [Command("qinvalidmsg", RBACPermissions.CommandDebugSendQinvalidmsg)]
static bool HandleDebugSendQuestInvalidMsgCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendQuestInvalidMsgCommand(CommandHandler handler, QuestFailedReasons msg)
{ {
QuestFailedReasons msg = (QuestFailedReasons)args.NextUInt32(); handler.GetPlayer().SendCanTakeQuestResponse(msg);
handler.GetSession().GetPlayer().SendCanTakeQuestResponse(msg);
return true; return true;
} }
[Command("sellerror", RBACPermissions.CommandDebugSendSellerror)] [Command("sellerror", RBACPermissions.CommandDebugSendSellerror)]
static bool HandleDebugSendSellErrorCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendSellErrorCommand(CommandHandler handler, SellResult error)
{ {
if (args.Empty()) handler.GetPlayer().SendSellError(error, null, ObjectGuid.Empty);
return false;
SellResult msg = (SellResult)args.NextUInt32();
handler.GetSession().GetPlayer().SendSellError(msg, null, ObjectGuid.Empty);
return true; return true;
} }
@@ -1436,28 +1341,19 @@ namespace Game.Chat
if (uiMapPhaseId != 0) if (uiMapPhaseId != 0)
phaseShift.AddUiMapPhaseId(uiMapPhaseId); phaseShift.AddUiMapPhaseId(uiMapPhaseId);
PhasingHandler.SendToPlayer(handler.GetSession().GetPlayer(), phaseShift); PhasingHandler.SendToPlayer(handler.GetPlayer(), phaseShift);
return true; return true;
} }
[Command("spellfail", RBACPermissions.CommandDebugSendSpellfail)] [Command("spellfail", RBACPermissions.CommandDebugSendSpellfail)]
static bool HandleDebugSendSpellFailCommand(CommandHandler handler, StringArguments args) static bool HandleDebugSendSpellFailCommand(CommandHandler handler, SpellCastResult result, int? failArg1, int? failArg2)
{ {
if (args.Empty())
return false;
if (!byte.TryParse(args.NextString(), out byte failNum) || failNum == 0)
return false;
int failArg1 = args.NextInt32();
int failArg2 = args.NextInt32();
CastFailed castFailed = new(); CastFailed castFailed = new();
castFailed.CastID = ObjectGuid.Empty; castFailed.CastID = ObjectGuid.Empty;
castFailed.SpellID = 133; castFailed.SpellID = 133;
castFailed.Reason = (SpellCastResult)failNum; castFailed.Reason = result;
castFailed.FailedArg1 = failArg1; castFailed.FailedArg1 = failArg1.GetValueOrDefault(-1);
castFailed.FailedArg2 = failArg2; castFailed.FailedArg2 = failArg2.GetValueOrDefault(-1);
handler.GetSession().SendPacket(castFailed); handler.GetSession().SendPacket(castFailed);
return true; return true;