Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }