diff options
Diffstat (limited to 'NET/worlds/network/appearActorCmd.java')
| -rw-r--r-- | NET/worlds/network/appearActorCmd.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/NET/worlds/network/appearActorCmd.java b/NET/worlds/network/appearActorCmd.java new file mode 100644 index 0000000..7960f1e --- /dev/null +++ b/NET/worlds/network/appearActorCmd.java @@ -0,0 +1,42 @@ +package NET.worlds.network; + +import NET.worlds.scape.Drone; +import java.io.IOException; + +public class appearActorCmd extends receivedNetPacket { + public static final byte APPEARACTORCMD = 12; + protected int _roomID; + protected short _x; + protected short _y; + protected short _z; + protected short _direction; + + public appearActorCmd() { + this._commandType = 12; + } + + @Override + void parseNetData(ServerInputStream data) throws IOException { + this._roomID = data.readUnsignedShort(); + this._x = data.readShort(); + this._y = data.readShort(); + this._z = data.readShort(); + this._direction = data.readShort(); + } + + @Override + void process(WorldServer _serv) throws Exception { + Drone d = Drone.make(this._objID, _serv); + this._direction = (short)(90 - this._direction); + this._direction = (short)(360 - this._direction); + NetworkRoom netroom = _serv.getNetworkRoom(this._roomID); + if (netroom != null) { + d.appear(netroom.getRoom(), this._x, this._y, this._z, this._direction); + } + } + + @Override + public String toString(WorldServer serv) { + return "APPRACTR " + this._objID.toString(serv) + " in " + this._roomID + " @ " + this._x + "," + this._y + "," + this._z + "," + this._direction; + } +} |