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 HandlePetUnlearnCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } Pet pet = GetSelectedPlayerPetOrOwn(handler); if (!pet) { handler.SendSysMessage(CypherStrings.SelectPlayerOrPet); return(false); } uint spellId = handler.extractSpellIdFromLink(args); if (pet.HasSpell(spellId)) { pet.removeSpell(spellId, false); } else { handler.SendSysMessage("Pet doesn't have that spell"); } 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 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 HandleCastTargetCommad(StringArguments args, CommandHandler handler) { Creature caster = handler.getSelectedCreature(); if (!caster) { handler.SendSysMessage(CypherStrings.SelectCharOrCreature); return(false); } if (!caster.GetVictim()) { handler.SendSysMessage(CypherStrings.SelectedTargetNotHaveVictim); 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); caster.CastSpell(caster.GetVictim(), 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 HandlePetLearnCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { return(false); } Pet pet = GetSelectedPlayerPetOrOwn(handler); if (!pet) { handler.SendSysMessage(CypherStrings.SelectPlayerOrPet); return(false); } uint spellId = handler.extractSpellIdFromLink(args); if (spellId == 0 || !Global.SpellMgr.HasSpellInfo(spellId)) { return(false); } // Check if pet already has it if (pet.HasSpell(spellId)) { handler.SendSysMessage("Pet already has spell: {0}", spellId); return(false); } // Check if spell is valid SpellInfo spellInfo = Global.SpellMgr.GetSpellInfo(spellId); if (spellInfo == null || !Global.SpellMgr.IsSpellValid(spellInfo)) { handler.SendSysMessage(CypherStrings.CommandSpellBroken, spellId); return(false); } pet.learnSpell(spellId); handler.SendSysMessage("Pet has learned spell {0}", spellId); return(true); }
static bool HandleCastDistCommand(StringArguments args, CommandHandler handler) { if (args.Empty()) { 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 dist = args.NextSingle(); string triggeredStr = args.NextString(); if (!string.IsNullOrEmpty(triggeredStr)) { if (triggeredStr != "triggered") { return(false); } } bool triggered = (triggeredStr != null); float x, y, z; handler.GetSession().GetPlayer().GetClosePoint(out x, out y, out z, dist); handler.GetSession().GetPlayer().CastSpell(x, y, z, spellId, triggered); return(true); }
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); }