public void Write(OutBlob stream)
 {
     stream.Write(Hit.Damage);
     stream.Write((byte)Hit.Type);
     stream.Write(Hit.CurrentHealth);
     stream.Write(Hit.MaxHealth);
 }
Example #2
0
 public void Write(OutBlob stream)
 {
     stream.Write((byte)Chat.Color);
     stream.Write((byte)Chat.Effects);
     stream.Write((byte)Chat.Title);
     stream.WriteString(Chat.Message);
 }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);
            stream.Write(_index);
            stream.Write(_isOnTop);
            stream.WriteString(_msg);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write(_skillIdx);
            stream.Write32(_exp);
            stream.Write(_level);

            stream.EndPacket();
        }
        public override void Write(OutBlob stream)
        {
            var header = (PlayerFlag)GetHeader(f => (int)f.ToPlayer());

            if (header == 0)
            {
                return;
            }

            // write header
            stream.Write((byte)header);
            stream.Write((byte)((short)header >> 8));

            // write flags
            if ((header & PlayerFlag.ForcedMovement) != 0)
            {
                GetFlag(FlagType.ForcedMovement).Write(stream);
            }
            if ((header & PlayerFlag.ParticleEffect) != 0)
            {
                GetFlag(FlagType.ParticleEffect).Write(stream);
            }
            if ((header & PlayerFlag.Animation) != 0)
            {
                GetFlag(FlagType.Animation).Write(stream);
            }
            if ((header & PlayerFlag.ForcedText) != 0)
            {
                GetFlag(FlagType.OverheadText).Write(stream);
            }
            if ((header & PlayerFlag.Chat) != 0)
            {
                GetFlag(FlagType.ChatMessage).Write(stream);
            }
            if ((header & PlayerFlag.InteractEnt) != 0)
            {
                GetFlag(FlagType.InteractingEntity).Write(stream);
            }
            if ((header & PlayerFlag.Appearance) != 0)
            {
                GetFlag(FlagType.Appearance).Write(stream);
            }
            if ((header & PlayerFlag.FacingCoordinate) != 0)
            {
                GetFlag(FlagType.FacingDir).Write(stream);
            }
            if ((header & PlayerFlag.PrimaryHit) != 0 ||
                (header & PlayerFlag.SecondaryHit) != 0)
            {
                GetFlag(FlagType.Damage).Write(stream);
            }
        }
Example #6
0
        public void Send(OutBlob stream)
        {
            // don't write the packet if no indicies have been passed.
            if (!_indicies.Any())
            {
                return;
            }

            stream.BeginPacket(Id);

            stream.Write16((short)_interf.Id);

            foreach (var i in _indicies)
            {
                // write index
                if (i < 128)
                {
                    stream.Write((byte)i);
                }
                else
                {
                    stream.Write16((short)i);
                }

                var item = _container.Provider[i];
                // write id
                stream.Write16((short)item.Id.ItemId);

                // write size as byte-int32 smart
                stream.WriteByteInt32Smart(item.Amount);
            }

            stream.EndPacket();
        }
Example #7
0
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16(-1);
            stream.Write((byte)_sidebarInterfaceIndex);

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(249);

            stream.Write((byte)(_isMember ? 1 : 0));
            stream.Write16((short)(_pid + 1));

            stream.EndPacket();
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16(_id);
            stream.Write(_sidebarIndex);

            stream.EndPacket();
        }
 public void Write(OutBlob stream)
 {
     stream.Write(Movement.Start.x);
     stream.Write(Movement.Start.y);
     stream.Write(Movement.End.x);
     stream.Write(Movement.End.y);
     stream.Write(Movement.Duration.x);
     stream.Write(Movement.Duration.y);
     stream.Write((byte)Movement.Direction);
 }
Example #11
0
        public override void Write(OutBlob stream)
        {
            var header = (NpcFlag)GetHeader(f => (int)f.ToNpc());

            if (header == 0)
            {
                return;
            }

            // header
            stream.Write((byte)header);

            // flags
            if ((header & NpcFlag.Animation) != 0)
            {
                GetFlag(FlagType.Animation).Write(stream);
            }
            if ((header & NpcFlag.PrimaryHit) != 0 ||
                (header & NpcFlag.SecondaryHit) != 0)
            {
                GetFlag(FlagType.Damage).Write(stream);
            }

            if ((header & NpcFlag.ParticleEffect) != 0)
            {
                GetFlag(FlagType.ParticleEffect).Write(stream);
            }

            if ((header & NpcFlag.InteractingEntity) != 0)
            {
                GetFlag(FlagType.InteractingEntity).Write(stream);
            }
            if ((header & NpcFlag.Text) != 0)
            {
                GetFlag(FlagType.OverheadText).Write(stream);
            }
            if ((header & NpcFlag.Definition) != 0)
            {
                GetFlag(FlagType.DefinitionChange).Write(stream);
            }
            if ((header & NpcFlag.FacingCoordinate) != 0)
            {
                GetFlag(FlagType.FacingDir).Write(stream);
            }
        }
        public void Send(OutBlob stream)
        {
            stream.BeginPacket(Id);

            stream.Write16((short)_id);

            // find upper bound in inventory
            var upperBoundIdx = 0;

            for (var i = 0; i < _container.Provider.Count; i++)
            {
                if (_container.Provider[i].IsEmpty())
                {
                    continue;
                }

                upperBoundIdx = i;
            }

            // write payload
            upperBoundIdx += 1;
            stream.Write16((short)upperBoundIdx);

            for (var i = 0; i < upperBoundIdx; i++)
            {
                var item = _container.Provider[i];
                if (item.IsEmpty())
                {
                    stream.Write(0);   // amnt
                    stream.Write16(0); // id
                    continue;
                }

                // write amount. If amount is > 255, write it as an int32
                stream.WriteByteInt32Smart(item.Amount);

                // write id
                stream.Write16((short)item.Id.ItemId);
            }

            stream.EndPacket();
        }
 public void Write(OutBlob stream)
 {
     stream.Write16(Animation.Id);
     stream.Write(Animation.Delay);
 }