RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
SendProjectile.java
1package com.osroyale.net.packet.out;
2
3import com.osroyale.game.Projectile;
4import com.osroyale.game.world.entity.mob.player.Player;
5import com.osroyale.game.world.position.Position;
6import com.osroyale.net.packet.OutgoingPacket;
7
32
33public class SendProjectile extends OutgoingPacket {
34
35 private final Projectile projectile;
36 private final Position position;
37 private final int lock;
38 private final byte offsetX;
39 private final byte offsetY;
40
41 public SendProjectile(Projectile projectile, Position position, int lock, byte offsetX, byte offsetY) {
42 super(117, 15);
43 this.projectile = projectile;
44 this.lock = lock;
45 this.offsetX = offsetX;
46 this.offsetY = offsetY;
47 this.position = position;
48 }
49
50 @Override
51 public boolean encode(Player player) {
52 player.send(new SendCoordinate(position));
53 builder.writeByte(((projectile.getOffsetX() & 7) << 3) | (projectile.getOffsetY() & 7))
54 .writeByte(offsetX)
55 .writeByte(offsetY)
56 .writeShort(lock)
57 .writeShort(projectile.getId())
58 .writeByte(projectile.getStartHeight())
59 .writeByte(projectile.getEndHeight())
60 .writeShort(projectile.getDelay())
61 .writeShort(projectile.getDuration())
62 .writeByte(projectile.getCurve())
63 .writeByte(projectile.getDistance());
64 return true;
65 }
66
67}