/// <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); }