/// <summary>
        /// </summary>
        /// <param name="character">
        /// </param>
        /// <param name="target">
        /// </param>
        /// <param name="args">
        /// </param>
        public override void ExecuteCommand(ICharacter character, Identity target, string[] args)
        {
            Dictionary <Identity, string> list = ((Playfield)character.Playfield).ListAvailablePlayfields();
            var messList = new List <MessageBody>();

            foreach (KeyValuePair <Identity, string> pf in list)
            {
                messList.Add(ChatText.Create(character, pf.Key.Instance.ToString().PadLeft(8) + ": " + pf.Value));
            }

            character.Playfield.Publish(Bulk.CreateIM(character.Client, messList.ToArray()));
        }
Пример #2
0
        /// <summary>
        /// </summary>
        /// <param name="character">
        /// </param>
        /// <param name="target">
        /// </param>
        /// <param name="args">
        /// </param>
        public override void ExecuteCommand(ICharacter character, Identity target, string[] args)
        {
            List <StatelData> sd = PlayfieldLoader.PFData[character.Playfield.Identity.Instance].Statels;
            var messList         = new List <MessageBody>();

            foreach (StatelData s in sd)
            {
                messList.Add(
                    ChatText.Create(
                        character,
                        ((int)s.StatelIdentity.Type).ToString("X8") + ":" + s.StatelIdentity.Instance.ToString("X8")));
            }

            character.Playfield.Publish(Bulk.CreateIM(character.Client, messList.ToArray()));
        }
Пример #3
0
        /// <summary>
        /// </summary>
        /// <param name="character">
        /// </param>
        /// <param name="target">
        /// </param>
        /// <param name="args">
        /// </param>
        public override void ExecuteCommand(ICharacter character, Identity target, string[] args)
        {
            List <MessageBody> replies = new List <MessageBody>();
            string             reply   = "Looking up for statel in playfield " + character.Playfield.Identity.Instance;

            replies.Add(ChatText.Create(character, reply));
            StatelData o = null;

            if (!PlayfieldLoader.PFData.ContainsKey(character.Playfield.Identity.Instance))
            {
                reply = "Could not find data for playfield " + character.Playfield.Identity.Instance;
                replies.Add(ChatText.Create(character, reply));
            }
            else
            {
                PlayfieldData pfData = PlayfieldLoader.PFData[character.Playfield.Identity.Instance];
                foreach (StatelData s in pfData.Statels)
                {
                    if (o == null)
                    {
                        o = s;
                    }
                    else
                    {
                        if (Coordinate.Distance2D(character.Coordinates, s.Coord())
                            < Coordinate.Distance2D(character.Coordinates, o.Coord()))
                        {
                            o = s;
                        }
                    }
                }

                if (o == null)
                {
                    replies.Add(
                        ChatText.Create(character, "No statel on this playfield... Very odd, where exactly are you???"));
                }
                else
                {
                    replies.Add(
                        ChatText.Create(
                            character,
                            o.StatelIdentity.Type.ToString() + " " + ((int)o.StatelIdentity.Type).ToString("X8") + ":"
                            + o.StatelIdentity.Instance.ToString("X8")));
                    replies.Add(ChatText.Create(character, "Item Template Id: " + o.TemplateId));
                    foreach (Events se in o.Events)
                    {
                        replies.Add(
                            ChatText.Create(
                                character,
                                "Event: " + se.EventType.ToString() + " # of Functions: "
                                + se.Functions.Count.ToString()));

                        foreach (Functions sf in se.Functions)
                        {
                            string Fargs = string.Empty;
                            foreach (MessagePackObject obj in sf.Arguments.Values)
                            {
                                if (Fargs.Length > 0)
                                {
                                    Fargs = Fargs + ", ";
                                }

                                Fargs = Fargs + obj.ToString();
                            }

                            replies.Add(
                                ChatText.Create(
                                    character,
                                    "    Fn: " + ((FunctionType)sf.FunctionType).ToString() + "("
                                    + sf.FunctionType.ToString() + "), # of Args: "
                                    + sf.Arguments.Values.Count.ToString()));
                            replies.Add(ChatText.Create(character, "    Args: " + Fargs));

                            foreach (Requirements sfr in sf.Requirements)
                            {
                                string req;
                                req = "Attr: " + sfr.Statnumber.ToString() + " Value: " + sfr.Value.ToString()
                                      + " Target: " + sfr.Target.ToString() + " Op: " + sfr.Operator.ToString();
                                replies.Add(ChatText.Create(character, req));
                            }
                        }
                    }
                }
            }

            character.Playfield.Publish(Bulk.CreateIM(character.Client, replies.ToArray()));
        }