Handlers read from InPacket instead of SeekableLittleEndianAccessor
This commit is contained in:
@@ -28,22 +28,22 @@ import client.SkillFactory;
|
||||
import config.YamlConfig;
|
||||
import constants.skills.*;
|
||||
import net.AbstractMaplePacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import server.MapleStatEffect;
|
||||
import server.life.MapleMonster;
|
||||
import tools.PacketCreator;
|
||||
import tools.data.input.SeekableLittleEndianAccessor;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
|
||||
@Override
|
||||
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||
public final void handlePacket(InPacket p, MapleClient c) {
|
||||
MapleCharacter chr = c.getPlayer();
|
||||
slea.readInt();
|
||||
p.readInt();
|
||||
chr.getAutobanManager().setTimestamp(4, Server.getInstance().getCurrentTimestamp(), 28);
|
||||
int skillid = slea.readInt();
|
||||
int skillid = p.readInt();
|
||||
|
||||
/*
|
||||
if ((!GameConstants.isPqSkillMap(chr.getMapId()) && GameConstants.isPqSkill(skillid)) || (!chr.isGM() && GameConstants.isGMSkills(skillid)) || (!GameConstants.isInJobTree(skillid, chr.getJob().getId()) && !chr.isGM())) {
|
||||
@@ -55,7 +55,7 @@ public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
*/
|
||||
|
||||
Point pos = null;
|
||||
int __skillLevel = slea.readByte();
|
||||
int __skillLevel = p.readByte();
|
||||
Skill skill = SkillFactory.getSkill(skillid);
|
||||
int skillLevel = chr.getSkillLevel(skill);
|
||||
if (skillid % 10000000 == 1010 || skillid % 10000000 == 1011) {
|
||||
@@ -84,10 +84,10 @@ public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
}
|
||||
}
|
||||
if (skillid == Hero.MONSTER_MAGNET || skillid == Paladin.MONSTER_MAGNET || skillid == DarkKnight.MONSTER_MAGNET) { // Monster Magnet
|
||||
int num = slea.readInt();
|
||||
int num = p.readInt();
|
||||
for (int i = 0; i < num; i++) {
|
||||
int mobOid = slea.readInt();
|
||||
byte success = slea.readByte();
|
||||
int mobOid = p.readInt();
|
||||
byte success = p.readByte();
|
||||
chr.getMap().broadcastMessage(chr, PacketCreator.catchMonster(mobOid, success), false);
|
||||
MapleMonster monster = chr.getMap().getMonsterByOid(mobOid);
|
||||
if (monster != null) {
|
||||
@@ -101,7 +101,7 @@ public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
byte direction = slea.readByte(); // thanks MedicOP for pointing some 3rd-party related issues with Magnet
|
||||
byte direction = p.readByte(); // thanks MedicOP for pointing some 3rd-party related issues with Magnet
|
||||
chr.getMap().broadcastMessage(chr, PacketCreator.showBuffEffect(chr.getId(), skillid, chr.getSkillLevel(skillid), 1, direction), false);
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
return;
|
||||
@@ -113,14 +113,14 @@ public final class SpecialMoveHandler extends AbstractMaplePacketHandler {
|
||||
int gain = -lose * (ef.getY() / 100);
|
||||
chr.addMP(gain);
|
||||
} else if (skillid == SuperGM.HEAL_PLUS_DISPEL) {
|
||||
slea.skip(11);
|
||||
p.skip(11);
|
||||
chr.getMap().broadcastMessage(chr, PacketCreator.showBuffEffect(chr.getId(), skillid, chr.getSkillLevel(skillid)), false);
|
||||
} else if (skillid % 10000000 == 1004) {
|
||||
slea.readShort();
|
||||
p.readShort();
|
||||
}
|
||||
|
||||
if (slea.available() == 5) {
|
||||
pos = new Point(slea.readShort(), slea.readShort());
|
||||
if (p.available() == 5) {
|
||||
pos = new Point(p.readShort(), p.readShort());
|
||||
}
|
||||
if (chr.isAlive()) {
|
||||
if (skill.getId() != Priest.MYSTIC_DOOR) {
|
||||
|
||||
Reference in New Issue
Block a user