示例#1
0
        private static bool SetAbility(ref ASTNode node, bool quiet, bool force)
        {
            node = node.Next(); // walk past COMMAND

            List <ASTNode> args = ParseArguments(ref node);

            if (args.Count < 1)
            {
                throw new ArgumentException("Usage: setability ('primary'/'secondary'/'stun'/'disarm') ['on'/'off']");
            }

            if (!abilities.Contains(args[0].Lexeme))
            {
                throw new ArgumentException("Usage: setability ('primary'/'secondary'/'stun'/'disarm') ['on'/'off']");
            }

            if (args.Count == 2 && args[1].Lexeme == "on" || args.Count == 1)
            {
                switch (args[0].Lexeme)
                {
                case "primary":
                    SpecialMoves.SetPrimaryAbility();
                    break;

                case "secondary":
                    SpecialMoves.SetSecondaryAbility();
                    break;

                case "stun":
                    Client.Instance.SendToServer(new StunRequest());
                    break;

                case "disarm":
                    Client.Instance.SendToServer(new DisarmRequest());
                    break;

                default:
                    break;
                }
            }
            else if (args.Count == 2 && args[1].Lexeme == "off")
            {
                Client.Instance.SendToServer(new UseAbility(AOSAbility.Clear));
                Client.Instance.SendToClient(ClearAbility.Instance);
            }

            return(true);
        }
示例#2
0
        private static bool SetAbility(string command, Argument[] args, bool quiet, bool force)
        {
            if (args.Length < 1 || !abilities.Contains(args[0].AsString()))
            {
                ScriptUtilities.ScriptErrorMsg("Usage: setability ('primary'/'secondary'/'stun'/'disarm') ['on'/'off']");
                return(true);
            }

            if (args.Length == 2 && args[1].AsString() == "on" || args.Length == 1)
            {
                switch (args[0].AsString())
                {
                case "primary":
                    SpecialMoves.SetPrimaryAbility();
                    break;

                case "secondary":
                    SpecialMoves.SetSecondaryAbility();
                    break;

                case "stun":
                    Client.Instance.SendToServer(new StunRequest());
                    break;

                case "disarm":
                    Client.Instance.SendToServer(new DisarmRequest());
                    break;

                default:
                    break;
                }
            }
            else if (args.Length == 2 && args[1].AsString() == "off")
            {
                Client.Instance.SendToServer(new UseAbility(AOSAbility.Clear));
                Client.Instance.SendToClient(ClearAbility.Instance);
            }

            return(true);
        }
示例#3
0
        internal static void SpellGrid_MouseClick_Control(object sender, MouseEventArgs e)
        {
            PanelGrid pl = (PanelGrid)sender;

            switch (pl.Group)
            {
            case GroupType.Magery:
                Spells.CastMagery(pl.Spell, false);
                break;

            case GroupType.Abilities:
                if (pl.Spell == "Primary")
                {
                    SpecialMoves.SetPrimaryAbility(false);
                }
                else
                {
                    SpecialMoves.SetSecondaryAbility(false);
                }
                break;

            case GroupType.Bushido:
                Spells.CastBushido(pl.Spell, false);
                break;

            case GroupType.Chivalry:
                Spells.CastChivalry(pl.Spell, false);
                break;

            case GroupType.Necromancy:
                Spells.CastNecro(pl.Spell, false);
                break;

            case GroupType.Ninjitsu:
                Spells.CastNinjitsu(pl.Spell, false);
                break;

            case GroupType.Mysticism:
                Spells.CastMysticism(pl.Spell, false);
                break;

            case GroupType.Spellweaving:
                Spells.CastSpellweaving(pl.Spell, false);
                break;

            case GroupType.Mastery:
                Spells.CastMastery(pl.Spell, false);
                break;

            case GroupType.Cleric:
                Spells.CastMastery(pl.Spell, false);
                break;

            case GroupType.Druid:
                Spells.CastMastery(pl.Spell, false);
                break;

            case GroupType.Script:
                Misc.ScriptRun(pl.Spell);
                break;

            case GroupType.Skills:
                Player.UseSkill(pl.Spell, false);
                break;

            default:
                break;
            }

            DLLImport.Win.SetForegroundWindow(Assistant.Client.Instance.GetWindowHandle());
        }