static bool UnAura(StringArguments args, CommandHandler handler) { Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } string argstr = args.NextString(); if (argstr == "all") { target.RemoveAllAuras(); return(true); } // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellId = handler.extractSpellIdFromLink(args); if (spellId == 0) { return(false); } target.RemoveAurasDueToSpell(spellId); return(true); }
static bool HandleModifyPhaseCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } uint phaseId = args.NextUInt32(); if (!CliDB.PhaseStorage.ContainsKey(phaseId)) { handler.SendSysMessage(CypherStrings.PhaseNotfound); return(false); } Unit target = handler.getSelectedUnit(); if (!target) { target = handler.GetSession().GetPlayer(); } target.SetInPhase(phaseId, true, !target.IsInPhase(phaseId)); if (target.IsTypeId(TypeId.Player)) { target.ToPlayer().SendUpdatePhasing(); } return(true); }
static bool HandleModifyMorphCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } uint display_id = args.NextUInt32(); Unit target = handler.getSelectedUnit(); if (!target) { target = handler.GetSession().GetPlayer(); } // check online security else if (target.IsTypeId(TypeId.Player) && handler.HasLowerSecurity(target.ToPlayer(), ObjectGuid.Empty)) { return(false); } target.SetDisplayId(display_id); return(true); }
static bool HandleCastSelfCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellId = handler.extractSpellIdFromLink(args); if (spellId == 0) { return(false); } if (CheckSpellExistsAndIsValid(handler, spellId)) { return(false); } target.CastSpell(target, spellId, false); return(true); }
static bool Scale(StringArguments args, CommandHandler handler) { float Scale; Unit target = handler.getSelectedUnit(); if (CheckModifySpeed(args, handler, target, out Scale, 0.1f, 10.0f, false)) { NotifyModification(handler, target, CypherStrings.YouChangeSize, CypherStrings.YoursSizeChanged, Scale); target.SetObjectScale(Scale); return(true); } return(false); }
static bool HandleModifyPhaseCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } uint phaseId = args.NextUInt32(); uint visibleMapId = args.NextUInt32(); if (phaseId != 0 && !CliDB.PhaseStorage.ContainsKey(phaseId)) { handler.SendSysMessage(CypherStrings.PhaseNotfound); return(false); } Unit target = handler.getSelectedUnit(); if (visibleMapId != 0) { MapRecord visibleMap = CliDB.MapStorage.LookupByKey(visibleMapId); if (visibleMap == null || visibleMap.ParentMapID != target.GetMapId()) { handler.SendSysMessage(CypherStrings.PhaseNotfound); return(false); } if (!target.GetPhaseShift().HasVisibleMapId(visibleMapId)) { PhasingHandler.AddVisibleMapId(target, visibleMapId); } else { PhasingHandler.RemoveVisibleMapId(target, visibleMapId); } } if (phaseId != 0) { if (!target.GetPhaseShift().HasPhase(phaseId)) { PhasingHandler.AddPhase(target, phaseId, true); } else { PhasingHandler.RemovePhase(target, phaseId, true); } } return(true); }
static bool Bit(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.NoCharSelected); return(false); } // check online security if (target.IsTypeId(TypeId.Player) && handler.HasLowerSecurity(target.ToPlayer(), ObjectGuid.Empty)) { return(false); } ushort field = args.NextUInt16(); int bit = args.NextInt32(); if (field < (int)ObjectFields.End || field >= target.valuesCount) { handler.SendSysMessage(CypherStrings.BadValue); return(false); } if (bit < 1 || bit > 32) { handler.SendSysMessage(CypherStrings.BadValue); return(false); } if (target.HasFlag(field, (1 << (bit - 1)))) { target.RemoveFlag(field, (1 << (bit - 1))); handler.SendSysMessage(CypherStrings.RemoveBit, bit, field); } else { target.SetFlag(field, (1 << (bit - 1))); handler.SendSysMessage(CypherStrings.SetBit, bit, field); } return(true); }
static bool HandleCooldownCommand(StringArguments args, CommandHandler handler) { Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.PlayerNotFound); return(false); } Player owner = target.GetCharmerOrOwnerPlayerOrPlayerItself(); if (!owner) { owner = handler.GetSession().GetPlayer(); target = owner; } string nameLink = handler.GetNameLink(owner); if (args.Empty()) { target.GetSpellHistory().ResetAllCooldowns(); target.GetSpellHistory().ResetAllCharges(); handler.SendSysMessage(CypherStrings.RemoveallCooldown, nameLink); } else { // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellIid = handler.extractSpellIdFromLink(args); if (spellIid == 0) { return(false); } SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(spellIid); if (spellInfo == null) { handler.SendSysMessage(CypherStrings.UnknownSpell, owner == handler.GetSession().GetPlayer() ? handler.GetCypherString(CypherStrings.You) : nameLink); return(false); } target.GetSpellHistory().ResetCooldown(spellIid, true); target.GetSpellHistory().ResetCharges(spellInfo.ChargeCategoryId); handler.SendSysMessage(CypherStrings.RemoveallCooldown, spellIid, owner == handler.GetSession().GetPlayer() ? handler.GetCypherString(CypherStrings.You) : nameLink); } return(true); }
static bool HandleCastDestCommand(StringArguments args, CommandHandler handler) { Unit caster = handler.getSelectedUnit(); if (!caster) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellId = handler.extractSpellIdFromLink(args); if (spellId == 0) { return(false); } if (CheckSpellExistsAndIsValid(handler, spellId)) { return(false); } float x = args.NextSingle(); float y = args.NextSingle(); float z = args.NextSingle(); if (x == 0f || y == 0f || z == 0f) { return(false); } string triggeredStr = args.NextString(); if (!string.IsNullOrEmpty(triggeredStr)) { if (triggeredStr != "triggered") { return(false); } } bool triggered = (triggeredStr != null); caster.CastSpell(x, y, z, spellId, triggered); return(true); }
static bool HandleCastCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellId = handler.extractSpellIdFromLink(args); if (spellId == 0) { return(false); } if (!CheckSpellExistsAndIsValid(handler, spellId)) { return(false); } string triggeredStr = args.NextString(); if (!string.IsNullOrEmpty(triggeredStr)) { if (triggeredStr != "triggered") { return(false); } } bool triggered = (triggeredStr != null); handler.GetSession().GetPlayer().CastSpell(target, spellId, triggered); return(true); }
static bool HandleDeMorphCommand(StringArguments args, CommandHandler handler) { Unit target = handler.getSelectedUnit(); if (!target) { target = handler.GetSession().GetPlayer(); } // check online security else if (target.IsTypeId(TypeId.Player) && handler.HasLowerSecurity(target.ToPlayer(), ObjectGuid.Empty)) { return(false); } target.DeMorph(); return(true); }
static Pet GetSelectedPlayerPetOrOwn(CommandHandler handler) { Unit target = handler.getSelectedUnit(); if (target) { if (target.IsTypeId(TypeId.Player)) { return(target.ToPlayer().GetPet()); } if (target.IsPet()) { return(target.ToPet()); } return(null); } Player player = handler.GetSession().GetPlayer(); return(player ? player.GetPet() : null); }
static bool HandleModifyScaleCommand(StringArguments args, CommandHandler handler) { float Scale; Unit target = handler.getSelectedUnit(); if (CheckModifySpeed(args, handler, target, out Scale, 0.1f, 10.0f, false)) { NotifyModification(handler, target, CypherStrings.YouChangeSize, CypherStrings.YoursSizeChanged, Scale); Creature creatureTarget = target.ToCreature(); if (creatureTarget) { creatureTarget.SetDisplayId(creatureTarget.GetDisplayId(), Scale); } else { target.SetObjectScale(Scale); } return(true); } return(false); }
static bool Auracommand(StringArguments args, CommandHandler handler) { Unit target = handler.getSelectedUnit(); if (!target) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form uint spellId = handler.extractSpellIdFromLink(args); SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(spellId); if (spellInfo != null) { ObjectGuid castId = ObjectGuid.Create(HighGuid.Cast, SpellCastSource.Normal, target.GetMapId(), spellId, target.GetMap().GenerateLowGuid(HighGuid.Cast)); Aura.TryRefreshStackOrCreate(spellInfo, castId, SpellConst.MaxEffectMask, target, target); } return(true); }
static bool PathCommand(StringArguments args, CommandHandler handler) { if (Global.MMapMgr.GetNavMesh(handler.GetPlayer().GetMapId()) == null) { handler.SendSysMessage("NavMesh not loaded for current map."); return(true); } handler.SendSysMessage("mmap path:"); // units Player player = handler.GetPlayer(); Unit target = handler.getSelectedUnit(); if (player == null || target == null) { handler.SendSysMessage("Invalid target/source selection."); return(true); } string para = args.NextString(); bool useStraightPath = false; if (para.Equals("true")) { useStraightPath = true; } bool useStraightLine = false; if (para.Equals("line")) { useStraightLine = true; } // unit locations float x, y, z; player.GetPosition(out x, out y, out z); // path PathGenerator path = new PathGenerator(target); path.SetUseStraightPath(useStraightPath); bool result = path.CalculatePath(x, y, z, false, useStraightLine); var pointPath = path.GetPath(); handler.SendSysMessage("{0}'s path to {1}:", target.GetName(), player.GetName()); handler.SendSysMessage("Building: {0}", useStraightPath ? "StraightPath" : useStraightLine ? "Raycast" : "SmoothPath"); handler.SendSysMessage("Result: {0} - Length: {1} - Type: {2}", (result ? "true" : "false"), pointPath.Length, path.GetPathType()); var start = path.GetStartPosition(); var end = path.GetEndPosition(); var actualEnd = path.GetActualEndPosition(); handler.SendSysMessage("StartPosition ({0:F3}, {1:F3}, {2:F3})", start.X, start.Y, start.Z); handler.SendSysMessage("EndPosition ({0:F3}, {1:F3}, {2:F3})", end.X, end.Y, end.Z); handler.SendSysMessage("ActualEndPosition ({0:F3}, {1:F3}, {2:F3})", actualEnd.X, actualEnd.Y, actualEnd.Z); if (!player.IsGameMaster()) { handler.SendSysMessage("Enable GM mode to see the path points."); } for (uint i = 0; i < pointPath.Length; ++i) { player.SummonCreature(1, pointPath[i].X, pointPath[i].Y, pointPath[i].Z, 0, TempSummonType.TimedDespawn, 9000); } return(true); }