Beispiel #1
0
 /// <summary>
 ///     The constructor for the inherated projectile class
 /// </summary>
 public Projectile(Guid id, ProjectileEntityPacket packet) : base(id, packet)
 {
     Vital[(int)Vitals.Health]    = 1;
     MaxVital[(int)Vitals.Health] = 1;
     HideName = true;
     Passable = true;
     IsMoving = true;
 }
        //ProjectileEntityPacket
        private static void HandlePacket(ProjectileEntityPacket packet)
        {
            var en = Globals.GetEntity(packet.EntityId, EntityTypes.Projectile);

            if (en != null)
            {
                en.Load(packet);
            }
            else
            {
                Globals.Entities.Add(packet.EntityId, new Projectile(packet.EntityId, packet));
            }
        }
        public override EntityPacket EntityPacket(EntityPacket packet = null, Player forPlayer = null)
        {
            if (packet == null)
            {
                packet = new ProjectileEntityPacket();
            }

            packet = base.EntityPacket(packet, forPlayer);

            var pkt = (ProjectileEntityPacket)packet;

            pkt.ProjectileId        = Base.Id;
            pkt.ProjectileDirection = (byte)Dir;
            pkt.TargetId            = Target?.Id ?? Guid.Empty;
            pkt.OwnerId             = Owner?.Id ?? Guid.Empty;

            return(pkt);
        }