mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
Add support for the MagicOnPlayer and MagicOnNpc frames.
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package org.apollo.game.message.impl;
|
||||
|
||||
import org.apollo.game.message.Message;
|
||||
import org.apollo.game.model.entity.Entity;
|
||||
|
||||
/**
|
||||
* A {@link Message} sent by the client representing when a player uses any type of magic spell on a mob.
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public abstract class MagicOnMobMessage extends Message {
|
||||
|
||||
/**
|
||||
* The type of the mob
|
||||
*/
|
||||
private final Entity.EntityType type;
|
||||
/**
|
||||
* The index of the mob
|
||||
*/
|
||||
private final int index;
|
||||
/**
|
||||
* The spell if used
|
||||
*/
|
||||
private final int spellId;
|
||||
|
||||
/**
|
||||
* Creates a magic on mob message
|
||||
*
|
||||
* @param type The mob type
|
||||
* @param index The mob index
|
||||
* @param spellId The spell id
|
||||
*/
|
||||
public MagicOnMobMessage(Entity.EntityType type, int index, int spellId) {
|
||||
this.type = type;
|
||||
this.index = index;
|
||||
this.spellId = spellId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the type of the mob the spell is being used on
|
||||
*
|
||||
* @return The mob type
|
||||
*/
|
||||
public Entity.EntityType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the index of the mob the spell is being used on
|
||||
*
|
||||
* @return The mob index
|
||||
*/
|
||||
public int getIndex() {
|
||||
return index;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the spell id that is being used
|
||||
*
|
||||
* @return The spell id
|
||||
*/
|
||||
public int getSpellId() {
|
||||
return spellId;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package org.apollo.game.message.impl;
|
||||
|
||||
import org.apollo.game.model.entity.Entity;
|
||||
import org.apollo.game.model.entity.Npc;
|
||||
|
||||
/**
|
||||
* The magic on npc {@link org.apollo.game.message.impl.MagicOnNpcMessage}
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnNpcMessage extends MagicOnMobMessage {
|
||||
|
||||
/**
|
||||
* Creates the magic on npc message
|
||||
*
|
||||
* @param index The npc index
|
||||
* @param spellId The spell id used
|
||||
*/
|
||||
public MagicOnNpcMessage(int index, int spellId) {
|
||||
super(Entity.EntityType.NPC, index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package org.apollo.game.message.impl;
|
||||
|
||||
import org.apollo.game.model.entity.Entity;
|
||||
|
||||
/**
|
||||
* The magic on player {@link org.apollo.game.message.impl.MagicOnMobMessage
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnPlayerMessage extends MagicOnMobMessage {
|
||||
|
||||
/**
|
||||
* Creates the magic on player message
|
||||
*
|
||||
* @param index The player index
|
||||
* @param spellId The spell id used
|
||||
*/
|
||||
public MagicOnPlayerMessage(int index, int spellId) {
|
||||
super(Entity.EntityType.PLAYER, index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.apollo.net.release.r317;
|
||||
|
||||
import org.apollo.game.message.impl.MagicOnNpcMessage;
|
||||
import org.apollo.net.codec.game.*;
|
||||
import org.apollo.net.release.MessageDecoder;
|
||||
|
||||
/**
|
||||
* A {@link org.apollo.net.release.MessageDecoder} for the {@link org.apollo.game.message.impl.MagicOnNpcMessage}
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnNpcMessageDecoder extends MessageDecoder<MagicOnNpcMessage> {
|
||||
|
||||
@Override
|
||||
public MagicOnNpcMessage decode(GamePacket packet) {
|
||||
GamePacketReader reader = new GamePacketReader(packet);
|
||||
|
||||
int index = (int) reader.getSigned(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD);
|
||||
int spellId = (int) reader.getSigned(DataType.SHORT, DataTransformation.ADD);
|
||||
|
||||
return new MagicOnNpcMessage(index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.apollo.net.release.r317;
|
||||
|
||||
import org.apollo.game.message.impl.MagicOnPlayerMessage;
|
||||
import org.apollo.net.codec.game.*;
|
||||
import org.apollo.net.release.MessageDecoder;
|
||||
|
||||
/**
|
||||
* A {@link org.apollo.net.release.MessageDecoder} for the {@link org.apollo.game.message.impl.MagicOnPlayerMessage}
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnPlayerMessageDecoder extends MessageDecoder<MagicOnPlayerMessage> {
|
||||
|
||||
@Override
|
||||
public MagicOnPlayerMessage decode(GamePacket packet) {
|
||||
GamePacketReader reader = new GamePacketReader(packet);
|
||||
|
||||
int index = (int) reader.getSigned(DataType.SHORT, DataTransformation.ADD);
|
||||
int spellId = (int) reader.getSigned(DataType.SHORT, DataOrder.LITTLE);
|
||||
|
||||
return new MagicOnPlayerMessage(index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -126,6 +126,7 @@ public final class Release317 extends Release {
|
||||
|
||||
register(53, new ItemOnItemMessageDecoder());
|
||||
register(237, new MagicOnItemMessageDecoder());
|
||||
register(249, new MagicOnPlayerMessageDecoder());
|
||||
|
||||
register(3, new FocusUpdateMessageDecoder());
|
||||
register(45, new FlaggedMouseEventMessageDecoder());
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.apollo.net.release.r377;
|
||||
|
||||
import org.apollo.game.message.impl.MagicOnNpcMessage;
|
||||
import org.apollo.net.codec.game.*;
|
||||
import org.apollo.net.release.MessageDecoder;
|
||||
|
||||
/**
|
||||
* A {@link org.apollo.net.release.MessageDecoder} for the {@link org.apollo.game.message.impl.MagicOnNpcMessage}
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnNpcMessageDecoder extends MessageDecoder<MagicOnNpcMessage> {
|
||||
|
||||
@Override
|
||||
public MagicOnNpcMessage decode(GamePacket packet) {
|
||||
GamePacketReader reader = new GamePacketReader(packet);
|
||||
|
||||
int index = (int) reader.getSigned(DataType.SHORT, DataOrder.LITTLE, DataTransformation.ADD);
|
||||
int spellId = (int) reader.getSigned(DataType.SHORT, DataTransformation.ADD);
|
||||
|
||||
return new MagicOnNpcMessage(index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package org.apollo.net.release.r377;
|
||||
|
||||
import org.apollo.game.message.impl.MagicOnPlayerMessage;
|
||||
import org.apollo.net.codec.game.*;
|
||||
import org.apollo.net.release.MessageDecoder;
|
||||
|
||||
/**
|
||||
* A {@link org.apollo.net.release.MessageDecoder} for the {@link org.apollo.game.message.impl.MagicOnPlayerMessage}
|
||||
*
|
||||
* @author Stuart
|
||||
*/
|
||||
public final class MagicOnPlayerMessageDecoder extends MessageDecoder<MagicOnPlayerMessage> {
|
||||
|
||||
@Override
|
||||
public MagicOnPlayerMessage decode(GamePacket packet) {
|
||||
GamePacketReader reader = new GamePacketReader(packet);
|
||||
|
||||
int index = (int) reader.getSigned(DataType.SHORT, DataTransformation.ADD);
|
||||
int spellId = (int) reader.getSigned(DataType.SHORT, DataOrder.LITTLE);
|
||||
|
||||
return new MagicOnPlayerMessage(index, spellId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -126,6 +126,8 @@ public final class Release377 extends Release {
|
||||
|
||||
register(1, new ItemOnItemMessageDecoder());
|
||||
register(36, new MagicOnItemMessageDecoder());
|
||||
register(31, new MagicOnPlayerMessageDecoder());
|
||||
register(104, new MagicOnNpcMessageDecoder());
|
||||
|
||||
register(187, new FocusUpdateMessageDecoder());
|
||||
register(19, new MouseClickedMessageDecoder());
|
||||
|
||||
Reference in New Issue
Block a user