Пример #1
0
        /// <inheritdoc />
        public void SetStateModeBaseMotion(IWorldEntity entity, StateModeBaseMotion motionState, Item item = null)
        {
            if (motionState == StateModeBaseMotion.BASEMOTION_ON)
            {
                entity.Object.StateMode |= StateMode.BASEMOTION_MODE;
            }
            else
            {
                entity.Object.StateMode &= ~StateMode.BASEMOTION_MODE;
            }

            _moverPacketFactory.SendStateMode(entity, motionState, item);
        }
Пример #2
0
        /// <inheritdoc />
        public void SendStateMode(IWorldEntity entity, StateModeBaseMotion flags, Item item = null)
        {
            using var packet = new FFPacket();

            packet.StartNewMergedPacket(entity.Id, SnapshotType.STATEMODE);
            packet.Write((int)entity.Object.StateMode);
            packet.Write((byte)flags);

            if (flags == StateModeBaseMotion.BASEMOTION_ON && item != null)
            {
                packet.Write(item.Id);
            }

            SendToVisible(packet, entity, sendToPlayer: true);
        }
 /// <summary>
 /// Creates a new <see cref="SpecialEffectBaseMotionEventArgs"/> instance.
 /// </summary>
 /// <param name="motion">Motion.</param>
 /// <param name="item">Item to be used.</param>
 public SpecialEffectBaseMotionEventArgs(StateModeBaseMotion motion, Item item = null)
 {
     this.Motion = motion;
     this.Item   = item;
 }
Пример #4
0
 /// <inheritdoc />
 public void Deserialize(INetPacketStream packet)
 {
     StateMode = (StateMode)packet.Read <int>();
     Flag      = (StateModeBaseMotion)packet.Read <byte>();
 }