All packet creating methods now create Packet instead of byte[]
This commit got way too big... - Remove deprecated methods for sending packets - Favor OutPacket & Packet over MaplePacketLittleEndianWriter, LittleEndianWriter, and byte array - Split up some packet creating methods into separate classes
This commit is contained in:
@@ -55,7 +55,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ function playerEntry(eim, player) {
|
|||||||
em.setProperty("noEntry","true");
|
em.setProperty("noEntry","true");
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(eventTime * 60));
|
player.sendPacket(PacketCreator.getClock(eventTime * 60));
|
||||||
eim.startEventTimer(eventTime * 60000);
|
eim.startEventTimer(eventTime * 60000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function playerEntry(eim, player) {
|
|||||||
player.changeMap(onRide, onRide.getPortal(0));
|
player.changeMap(onRide, onRide.getPortal(0));
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(rideTime / 1000));
|
player.sendPacket(PacketCreator.getClock(rideTime / 1000));
|
||||||
eim.schedule("timeOut", rideTime);
|
eim.schedule("timeOut", rideTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ function playerEntry(eim, player) {
|
|||||||
player.changeMap(onRide, onRide.getPortal(0));
|
player.changeMap(onRide, onRide.getPortal(0));
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.getClient().announce(PacketCreator.getClock(rideTime / 1000));
|
player.sendPacket(PacketCreator.getClock(rideTime / 1000));
|
||||||
player.getClient().announce(PacketCreator.earnTitleMessage("The next stop is at Kerning " + (myRide == 0 ? "Square" : "Subway") + " Station. The exit is to your left."));
|
player.sendPacket(PacketCreator.earnTitleMessage("The next stop is at Kerning " + (myRide == 0 ? "Square" : "Subway") + " Station. The exit is to your left."));
|
||||||
eim.schedule("timeOut", rideTime);
|
eim.schedule("timeOut", rideTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ function playerEntry(eim, player) {
|
|||||||
player.changeMap(map, map.getPortal(0));
|
player.changeMap(map, map.getPortal(0));
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
player.announce(PacketCreator.showEffect("event/space/start"));
|
player.sendPacket(PacketCreator.showEffect("event/space/start"));
|
||||||
player.startMapEffect("Please rescue Gaga within the time limit.", 5120027);
|
player.startMapEffect("Please rescue Gaga within the time limit.", 5120027);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ function start(ms) {
|
|||||||
|
|
||||||
if(map.getDocked()) {
|
if(map.getDocked()) {
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
ms.getClient().announce(PacketCreator.musicChange("Bgm04/ArabPirate"));
|
ms.getClient().sendPacket(PacketCreator.musicChange("Bgm04/ArabPirate"));
|
||||||
ms.getClient().announce(PacketCreator.crogBoatPacket(true));
|
ms.getClient().sendPacket(PacketCreator.crogBoatPacket(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ function start(ms) {
|
|||||||
|
|
||||||
if(map.getDocked()) {
|
if(map.getDocked()) {
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
ms.getClient().announce(PacketCreator.musicChange("Bgm04/ArabPirate"));
|
ms.getClient().sendPacket(PacketCreator.musicChange("Bgm04/ArabPirate"));
|
||||||
ms.getClient().announce(PacketCreator.crogBoatPacket(true));
|
ms.getClient().sendPacket(PacketCreator.crogBoatPacket(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ function action(mode, type, selection) {
|
|||||||
|
|
||||||
cm.getPlayer().getCashShop().gainCash(1, nxAmount);
|
cm.getPlayer().getCashShop().gainCash(1, nxAmount);
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
cm.getPlayer().announce(PacketCreator.earnTitleMessage("You have earned " + nxAmount + " NX"));
|
cm.getPlayer().sendPacket(PacketCreator.earnTitleMessage("You have earned " + nxAmount + " NX"));
|
||||||
cm.logLeaf(nxAmount + " NX");
|
cm.logLeaf(nxAmount + " NX");
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
} else if(choice == 2) {
|
} else if(choice == 2) {
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ function action(mode, type, selection) {
|
|||||||
if(harpNote != nextNote) {
|
if(harpNote != nextNote) {
|
||||||
cm.setQuestProgress(3114, 0);
|
cm.setQuestProgress(3114, 0);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/wrong_kor"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/wrong_kor"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Failed"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Failed"));
|
||||||
|
|
||||||
cm.message("You've missed the note... Start over again.");
|
cm.message("You've missed the note... Start over again.");
|
||||||
} else {
|
} else {
|
||||||
@@ -71,8 +71,8 @@ function action(mode, type, selection) {
|
|||||||
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
cm.message("Twinkle, twinkle, little star, how I wonder what you are.");
|
||||||
cm.setQuestProgress(3114, 42);
|
cm.setQuestProgress(3114, 42);
|
||||||
|
|
||||||
cm.getPlayer().announce(PacketCreator.showEffect("quest/party/clear"));
|
cm.getPlayer().sendPacket(PacketCreator.showEffect("quest/party/clear"));
|
||||||
cm.getPlayer().announce(PacketCreator.playSound("Party1/Clear"));
|
cm.getPlayer().sendPacket(PacketCreator.playSound("Party1/Clear"));
|
||||||
|
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ function action(mode, type, selection) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
cm.getClient().announce(PacketCreator.openRPSNPC());
|
cm.getClient().sendPacket(PacketCreator.openRPSNPC());
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -303,15 +303,15 @@ function action(mode, type, selection) {
|
|||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
if (YamlConfig.config.server.WEDDING_BLESSER_SHOWFX) {
|
if (YamlConfig.config.server.WEDDING_BLESSER_SHOWFX) {
|
||||||
var target = cm.getPlayer();
|
var target = cm.getPlayer();
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
} else {
|
} else {
|
||||||
var target = eim.getPlayerById(eim.getIntProperty("groomId"));
|
var target = eim.getPlayerById(eim.getIntProperty("groomId"));
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
|
|
||||||
target = eim.getPlayerById(eim.getIntProperty("brideId"));
|
target = eim.getPlayerById(eim.getIntProperty("brideId"));
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,8 +357,8 @@ function action(mode, type, selection) {
|
|||||||
partner.setMarriageItemId(marriageRingId);
|
partner.setMarriageItemId(marriageRingId);
|
||||||
|
|
||||||
//var marriageId = eim.getIntProperty("weddingId");
|
//var marriageId = eim.getIntProperty("weddingId");
|
||||||
//player.announce(Wedding.OnMarriageResult(marriageId, player, true));
|
//player.sendPacket(Wedding.OnMarriageResult(marriageId, player, true));
|
||||||
//partner.announce(Wedding.OnMarriageResult(marriageId, player, true));
|
//partner.sendPacket(Wedding.OnMarriageResult(marriageId, player, true));
|
||||||
|
|
||||||
giveCoupleBlessings(eim, player, partner);
|
giveCoupleBlessings(eim, player, partner);
|
||||||
|
|
||||||
|
|||||||
@@ -173,15 +173,15 @@ function action(mode, type, selection) {
|
|||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
if(YamlConfig.config.server.WEDDING_BLESSER_SHOWFX) {
|
if(YamlConfig.config.server.WEDDING_BLESSER_SHOWFX) {
|
||||||
var target = cm.getPlayer();
|
var target = cm.getPlayer();
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
} else {
|
} else {
|
||||||
var target = eim.getPlayerById(eim.getIntProperty("groomId"));
|
var target = eim.getPlayerById(eim.getIntProperty("groomId"));
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
|
|
||||||
target = eim.getPlayerById(eim.getIntProperty("brideId"));
|
target = eim.getPlayerById(eim.getIntProperty("brideId"));
|
||||||
target.announce(PacketCreator.showSpecialEffect(9));
|
target.sendPacket(PacketCreator.showSpecialEffect(9));
|
||||||
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
target.getMap().broadcastMessage(target, PacketCreator.showForeignEffect(target.getId(), 9), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,8 +227,8 @@ function action(mode, type, selection) {
|
|||||||
partner.setMarriageItemId(marriageRingId);
|
partner.setMarriageItemId(marriageRingId);
|
||||||
|
|
||||||
//var marriageId = eim.getIntProperty("weddingId");
|
//var marriageId = eim.getIntProperty("weddingId");
|
||||||
//player.announce(Wedding.OnMarriageResult(marriageId, player, true));
|
//player.sendPacket(Wedding.OnMarriageResult(marriageId, player, true));
|
||||||
//partner.announce(Wedding.OnMarriageResult(marriageId, player, true));
|
//partner.sendPacket(Wedding.OnMarriageResult(marriageId, player, true));
|
||||||
|
|
||||||
giveCoupleBlessings(eim, player, partner);
|
giveCoupleBlessings(eim, player, partner);
|
||||||
|
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ function writeAllFeatures() {
|
|||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
cm.getPlayer().announce(PacketCreator.musicChange(anthemSong));
|
cm.getPlayer().sendPacket(PacketCreator.musicChange(anthemSong));
|
||||||
status = -1;
|
status = -1;
|
||||||
writeAllFeatures();
|
writeAllFeatures();
|
||||||
action(1, 0, 0);
|
action(1, 0, 0);
|
||||||
@@ -318,11 +318,11 @@ function start() {
|
|||||||
function action(mode, type, selection) {
|
function action(mode, type, selection) {
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
if (mode == -1) {
|
if (mode == -1) {
|
||||||
cm.getPlayer().announce(PacketCreator.musicChange(ambientSong));
|
cm.getPlayer().sendPacket(PacketCreator.musicChange(ambientSong));
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
} else {
|
} else {
|
||||||
if (mode == 0 && type > 0) {
|
if (mode == 0 && type > 0) {
|
||||||
cm.getPlayer().announce(PacketCreator.musicChange(ambientSong));
|
cm.getPlayer().sendPacket(PacketCreator.musicChange(ambientSong));
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -356,7 +356,7 @@ function action(mode, type, selection) {
|
|||||||
|
|
||||||
cm.sendPrev(sendStr);
|
cm.sendPrev(sendStr);
|
||||||
} else {
|
} else {
|
||||||
cm.getPlayer().announce(PacketCreator.musicChange(ambientSong));
|
cm.getPlayer().sendPacket(PacketCreator.musicChange(ambientSong));
|
||||||
cm.dispose();
|
cm.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ function action(mode, type, selection){
|
|||||||
if(cm.getText() == cm.getQuestProgress(3360)){
|
if(cm.getText() == cm.getQuestProgress(3360)){
|
||||||
cm.setQuestProgress(3360, 1);
|
cm.setQuestProgress(3360, 1);
|
||||||
const PacketCreator = Java.type('tools.PacketCreator');
|
const PacketCreator = Java.type('tools.PacketCreator');
|
||||||
cm.getPlayer().announce(PacketCreator.playPortalSound());
|
cm.getPlayer().sendPacket(PacketCreator.playPortalSound());
|
||||||
cm.warp(261030000, "sp_" + ((cm.getMapId() == 261010000) ? "jenu" : "alca"));
|
cm.warp(261030000, "sp_" + ((cm.getMapId() == 261010000) ? "jenu" : "alca"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
package client;
|
package client;
|
||||||
|
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.PlayerStorage;
|
import net.server.PlayerStorage;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
@@ -126,12 +127,12 @@ public class BuddyList {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcast(byte[] packet, PlayerStorage pstorage) {
|
public void broadcast(Packet packet, PlayerStorage pstorage) {
|
||||||
for(int bid : getBuddyIds()) {
|
for(int bid : getBuddyIds()) {
|
||||||
MapleCharacter chr = pstorage.getCharacterById(bid);
|
MapleCharacter chr = pstorage.getCharacterById(bid);
|
||||||
|
|
||||||
if(chr != null && chr.isLoggedinWorld()) {
|
if(chr != null && chr.isLoggedinWorld()) {
|
||||||
chr.announce(packet);
|
chr.sendPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -167,7 +168,7 @@ public class BuddyList {
|
|||||||
public void addBuddyRequest(MapleClient c, int cidFrom, String nameFrom, int channelFrom) {
|
public void addBuddyRequest(MapleClient c, int cidFrom, String nameFrom, int channelFrom) {
|
||||||
put(new BuddylistEntry(nameFrom, "Default Group", cidFrom, channelFrom, false));
|
put(new BuddylistEntry(nameFrom, "Default Group", cidFrom, channelFrom, false));
|
||||||
if (pendingRequests.isEmpty()) {
|
if (pendingRequests.isEmpty()) {
|
||||||
c.announce(PacketCreator.requestBuddylistAdd(cidFrom, c.getPlayer().getId(), nameFrom));
|
c.sendPacket(PacketCreator.requestBuddylistAdd(cidFrom, c.getPlayer().getId(), nameFrom));
|
||||||
} else {
|
} else {
|
||||||
pendingRequests.push(new CharacterNameAndId(cidFrom, nameFrom));
|
pendingRequests.push(new CharacterNameAndId(cidFrom, nameFrom));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import net.server.Server;
|
|||||||
import net.server.audit.locks.MonitoredLockType;
|
import net.server.audit.locks.MonitoredLockType;
|
||||||
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
import net.server.audit.locks.factory.MonitoredReentrantLockFactory;
|
||||||
import net.server.coordinator.world.MapleInviteCoordinator;
|
import net.server.coordinator.world.MapleInviteCoordinator;
|
||||||
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleAlliance;
|
import net.server.guild.MapleAlliance;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
import net.server.guild.MapleGuildCharacter;
|
import net.server.guild.MapleGuildCharacter;
|
||||||
@@ -76,7 +77,7 @@ import server.partyquest.PartyQuest;
|
|||||||
import server.quest.MapleQuest;
|
import server.quest.MapleQuest;
|
||||||
import tools.*;
|
import tools.*;
|
||||||
import tools.exceptions.NotEnabledException;
|
import tools.exceptions.NotEnabledException;
|
||||||
import tools.packets.Wedding;
|
import tools.packets.WeddingPackets;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
@@ -295,7 +296,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
statup.add(new Pair<>(s.getKey(), s.getValue()));
|
statup.add(new Pair<>(s.getKey(), s.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
announce(PacketCreator.updatePlayerStats(statup, true, MapleCharacter.this));
|
sendPacket(PacketCreator.updatePlayerStats(statup, true, MapleCharacter.this));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -758,7 +759,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
combocounter = (short) Math.min(30000, count);
|
combocounter = (short) Math.min(30000, count);
|
||||||
if (count > 0) {
|
if (count > 0) {
|
||||||
announce(PacketCreator.showCombo(combocounter));
|
sendPacket(PacketCreator.showCombo(combocounter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -824,7 +825,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (isGM() && hide != this.hidden) {
|
if (isGM() && hide != this.hidden) {
|
||||||
if (!hide) {
|
if (!hide) {
|
||||||
this.hidden = false;
|
this.hidden = false;
|
||||||
announce(PacketCreator.getGMEffect(0x10, (byte) 0));
|
sendPacket(PacketCreator.getGMEffect(0x10, (byte) 0));
|
||||||
List<MapleBuffStat> dsstat = Collections.singletonList(MapleBuffStat.DARKSIGHT);
|
List<MapleBuffStat> dsstat = Collections.singletonList(MapleBuffStat.DARKSIGHT);
|
||||||
getMap().broadcastGMMessage(this, PacketCreator.cancelForeignBuff(id, dsstat), false);
|
getMap().broadcastGMMessage(this, PacketCreator.cancelForeignBuff(id, dsstat), false);
|
||||||
getMap().broadcastSpawnPlayerMapObjectMessage(this, this, false);
|
getMap().broadcastSpawnPlayerMapObjectMessage(this, this, false);
|
||||||
@@ -839,7 +840,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.hidden = true;
|
this.hidden = true;
|
||||||
announce(PacketCreator.getGMEffect(0x10, (byte) 1));
|
sendPacket(PacketCreator.getGMEffect(0x10, (byte) 1));
|
||||||
if (!login) {
|
if (!login) {
|
||||||
getMap().broadcastNONGMMessage(this, PacketCreator.removePlayerFromMap(getId()), false);
|
getMap().broadcastNONGMMessage(this, PacketCreator.removePlayerFromMap(getId()), false);
|
||||||
}
|
}
|
||||||
@@ -847,7 +848,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
getMap().broadcastGMMessage(this, PacketCreator.giveForeignBuff(id, ldsstat), false);
|
getMap().broadcastGMMessage(this, PacketCreator.giveForeignBuff(id, ldsstat), false);
|
||||||
this.releaseControlledMonsters();
|
this.releaseControlledMonsters();
|
||||||
}
|
}
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -872,7 +873,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
private void cancelPlayerBuffs(List<MapleBuffStat> buffstats) {
|
private void cancelPlayerBuffs(List<MapleBuffStat> buffstats) {
|
||||||
if (client.getChannelServer().getPlayerStorage().getCharacterById(getId()) != null) {
|
if (client.getChannelServer().getPlayerStorage().getCharacterById(getId()) != null) {
|
||||||
updateLocalStats();
|
updateLocalStats();
|
||||||
client.announce(PacketCreator.cancelBuff(buffstats));
|
sendPacket(PacketCreator.cancelBuff(buffstats));
|
||||||
if (buffstats.size() > 0) {
|
if (buffstats.size() > 0) {
|
||||||
getMap().broadcastMessage(this, PacketCreator.cancelForeignBuff(getId(), buffstats), false);
|
getMap().broadcastMessage(this, PacketCreator.cancelForeignBuff(getId(), buffstats), false);
|
||||||
}
|
}
|
||||||
@@ -1138,7 +1139,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
statup.add(new Pair<>(MapleStat.AVAILABLEAP, remainingAp));
|
statup.add(new Pair<>(MapleStat.AVAILABLEAP, remainingAp));
|
||||||
statup.add(new Pair<>(MapleStat.AVAILABLESP, remainingSp[GameConstants.getSkillBook(job.getId())]));
|
statup.add(new Pair<>(MapleStat.AVAILABLESP, remainingSp[GameConstants.getSkillBook(job.getId())]));
|
||||||
statup.add(new Pair<>(MapleStat.JOB, job.getId()));
|
statup.add(new Pair<>(MapleStat.JOB, job.getId()));
|
||||||
client.announce(PacketCreator.updatePlayerStats(statup, true, this));
|
sendPacket(PacketCreator.updatePlayerStats(statup, true, this));
|
||||||
} finally {
|
} finally {
|
||||||
statWlock.unlock();
|
statWlock.unlock();
|
||||||
effLock.unlock();
|
effLock.unlock();
|
||||||
@@ -1182,7 +1183,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
broadcastAcquaintances(PacketCreator.serverNotice(type, message));
|
broadcastAcquaintances(PacketCreator.serverNotice(type, message));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcastAcquaintances(byte[] packet) {
|
public void broadcastAcquaintances(Packet packet) {
|
||||||
buddylist.broadcast(packet, getWorldServer().getPlayerStorage());
|
buddylist.broadcast(packet, getWorldServer().getPlayerStorage());
|
||||||
MapleFamily family = getFamily();
|
MapleFamily family = getFamily();
|
||||||
if(family != null) {
|
if(family != null) {
|
||||||
@@ -1196,10 +1197,10 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
if(partnerid > 0) {
|
if(partnerid > 0) {
|
||||||
partner.announce(packet); not yet implemented
|
partner.sendPacket(packet); not yet implemented
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
announce(packet);
|
sendPacket(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void changeKeybinding(int key, MapleKeyBinding keybinding) {
|
public void changeKeybinding(int key, MapleKeyBinding keybinding) {
|
||||||
@@ -1663,7 +1664,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if(partnerId > 0) {
|
if(partnerId > 0) {
|
||||||
final MapleCharacter partner = getWorldServer().getPlayerStorage().getCharacterById(partnerId);
|
final MapleCharacter partner = getWorldServer().getPlayerStorage().getCharacterById(partnerId);
|
||||||
if(partner != null && !partner.isAwayFromWorld()) {
|
if(partner != null && !partner.isAwayFromWorld()) {
|
||||||
partner.announce(Wedding.OnNotifyWeddingPartnerTransfer(id, mapid));
|
partner.sendPacket(WeddingPackets.OnNotifyWeddingPartnerTransfer(id, mapid));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1672,7 +1673,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
MapleInviteCoordinator.removePlayerIncomingInvites(id);
|
MapleInviteCoordinator.removePlayerIncomingInvites(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void changeMapInternal(final MapleMap to, final Point pos, final byte[] warpPacket) {
|
private void changeMapInternal(final MapleMap to, final Point pos, Packet warpPacket) {
|
||||||
if (!canWarpMap) {
|
if (!canWarpMap) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1690,7 +1691,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
final MapleParty k = e;
|
final MapleParty k = e;
|
||||||
|
|
||||||
client.announce(warpPacket);
|
sendPacket(warpPacket);
|
||||||
map.removePlayer(this);
|
map.removePlayer(this);
|
||||||
if (client.getChannelServer().getPlayerStorage().getCharacterById(getId()) != null) {
|
if (client.getChannelServer().getPlayerStorage().getCharacterById(getId()) != null) {
|
||||||
map = to;
|
map = to;
|
||||||
@@ -1702,7 +1703,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
try {
|
try {
|
||||||
if (party != null) {
|
if (party != null) {
|
||||||
mpc.setMapId(to.getId());
|
mpc.setMapId(to.getId());
|
||||||
client.announce(PacketCreator.updateParty(client.getChannel(), party, PartyOperation.SILENT_UPDATE, null));
|
sendPacket(PacketCreator.updateParty(client.getChannel(), party, PartyOperation.SILENT_UPDATE, null));
|
||||||
updatePartyMemberHPInternal();
|
updatePartyMemberHPInternal();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -1739,7 +1740,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if this map has obstacle components moving, make it do so for this client
|
// if this map has obstacle components moving, make it do so for this client
|
||||||
announce(PacketCreator.environmentMoveList(map.getEnvironment().entrySet()));
|
sendPacket(PacketCreator.environmentMoveList(map.getEnvironment().entrySet()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1759,11 +1760,11 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (newLevel > -1) {
|
if (newLevel > -1) {
|
||||||
skills.put(skill, new SkillEntry(newLevel, newMasterlevel, expiration));
|
skills.put(skill, new SkillEntry(newLevel, newMasterlevel, expiration));
|
||||||
if (!GameConstants.isHiddenSkills(skill.getId())) {
|
if (!GameConstants.isHiddenSkills(skill.getId())) {
|
||||||
this.client.announce(PacketCreator.updateSkill(skill.getId(), newLevel, newMasterlevel, expiration));
|
sendPacket(PacketCreator.updateSkill(skill.getId(), newLevel, newMasterlevel, expiration));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
skills.remove(skill);
|
skills.remove(skill);
|
||||||
this.client.announce(PacketCreator.updateSkill(skill.getId(), newLevel, newMasterlevel, -1)); //Shouldn't use expiration anymore :)
|
sendPacket(PacketCreator.updateSkill(skill.getId(), newLevel, newMasterlevel, -1)); //Shouldn't use expiration anymore :)
|
||||||
try (Connection con = DatabaseConnection.getConnection();
|
try (Connection con = DatabaseConnection.getConnection();
|
||||||
PreparedStatement ps = con.prepareStatement("DELETE FROM skills WHERE skillid = ? AND characterid = ?")) {
|
PreparedStatement ps = con.prepareStatement("DELETE FROM skills WHERE skillid = ? AND characterid = ?")) {
|
||||||
ps.setInt(1, skill.getId());
|
ps.setInt(1, skill.getId());
|
||||||
@@ -1800,7 +1801,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.announce(PacketCreator.showOwnBerserk(skilllevel, berserk));
|
sendPacket(PacketCreator.showOwnBerserk(skilllevel, berserk));
|
||||||
if (!isHidden) {
|
if (!isHidden) {
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBerserk(getId(), skilllevel, berserk), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBerserk(getId(), skilllevel, berserk), false);
|
||||||
} else {
|
} else {
|
||||||
@@ -1924,7 +1925,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (ob instanceof MapleMapItem) {
|
if (ob instanceof MapleMapItem) {
|
||||||
MapleMapItem mapitem = (MapleMapItem) ob;
|
MapleMapItem mapitem = (MapleMapItem) ob;
|
||||||
if (System.currentTimeMillis() - mapitem.getDropTime() < 400 || !mapitem.canBePickedBy(this)) {
|
if (System.currentTimeMillis() - mapitem.getDropTime() < 400 || !mapitem.canBePickedBy(this)) {
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1937,13 +1938,13 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
mapitem.lockItem();
|
mapitem.lockItem();
|
||||||
try {
|
try {
|
||||||
if (mapitem.isPickedUp()) {
|
if (mapitem.isPickedUp()) {
|
||||||
client.announce(PacketCreator.showItemUnavailable());
|
sendPacket(PacketCreator.showItemUnavailable());
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean isPet = petIndex > -1;
|
boolean isPet = petIndex > -1;
|
||||||
final byte[] pickupPacket = PacketCreator.removeItemFromMap(mapitem.getObjectId(), (isPet) ? 5 : 2, this.getId(), isPet, petIndex);
|
final Packet pickupPacket = PacketCreator.removeItemFromMap(mapitem.getObjectId(), (isPet) ? 5 : 2, this.getId(), isPet, petIndex);
|
||||||
|
|
||||||
Item mItem = mapitem.getItem();
|
Item mItem = mapitem.getItem();
|
||||||
boolean hasSpaceInventory = true;
|
boolean hasSpaceInventory = true;
|
||||||
@@ -1976,21 +1977,21 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
} else if (MapleInventoryManipulator.addFromDrop(client, mItem, true)) {
|
} else if (MapleInventoryManipulator.addFromDrop(client, mItem, true)) {
|
||||||
this.getMap().pickItemDrop(pickupPacket, mapitem);
|
this.getMap().pickItemDrop(pickupPacket, mapitem);
|
||||||
} else {
|
} else {
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
client.announce(PacketCreator.showItemUnavailable());
|
sendPacket(PacketCreator.showItemUnavailable());
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.needQuestItem(mapitem.getQuest(), mapitem.getItemId())) {
|
if (!this.needQuestItem(mapitem.getQuest(), mapitem.getItemId())) {
|
||||||
client.announce(PacketCreator.showItemUnavailable());
|
sendPacket(PacketCreator.showItemUnavailable());
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2011,7 +2012,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
itemScript = info;
|
itemScript = info;
|
||||||
} else {
|
} else {
|
||||||
if (!MapleInventoryManipulator.addFromDrop(client, mItem, true)) {
|
if (!MapleInventoryManipulator.addFromDrop(client, mItem, true)) {
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2027,14 +2028,14 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
updateAriantScore();
|
updateAriantScore();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getMap().pickItemDrop(pickupPacket, mapitem);
|
this.getMap().pickItemDrop(pickupPacket, mapitem);
|
||||||
} else if(!hasSpaceInventory) {
|
} else if(!hasSpaceInventory) {
|
||||||
client.announce(PacketCreator.getInventoryFull());
|
sendPacket(PacketCreator.getInventoryFull());
|
||||||
client.announce(PacketCreator.getShowInventoryFull());
|
sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
mapitem.unlockItem();
|
mapitem.unlockItem();
|
||||||
@@ -2045,7 +2046,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
ism.runItemScript(client, itemScript);
|
ism.runItemScript(client, itemScript);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
|
|
||||||
public int countItem(int itemid) {
|
public int countItem(int itemid) {
|
||||||
@@ -2076,7 +2077,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void announceBattleshipHp() {
|
public void announceBattleshipHp() {
|
||||||
announce(PacketCreator.skillCooldown(5221999, battleshipHp));
|
sendPacket(PacketCreator.skillCooldown(5221999, battleshipHp));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void decreaseBattleshipHp(int decrease) {
|
public void decreaseBattleshipHp(int decrease) {
|
||||||
@@ -2084,7 +2085,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (battleshipHp <= 0) {
|
if (battleshipHp <= 0) {
|
||||||
Skill battleship = SkillFactory.getSkill(Corsair.BATTLE_SHIP);
|
Skill battleship = SkillFactory.getSkill(Corsair.BATTLE_SHIP);
|
||||||
int cooldown = battleship.getEffect(getSkillLevel(battleship)).getCooldown();
|
int cooldown = battleship.getEffect(getSkillLevel(battleship)).getCooldown();
|
||||||
announce(PacketCreator.skillCooldown(Corsair.BATTLE_SHIP, cooldown));
|
sendPacket(PacketCreator.skillCooldown(Corsair.BATTLE_SHIP, cooldown));
|
||||||
addCooldown(Corsair.BATTLE_SHIP, Server.getInstance().getCurrentTime(), (long)(cooldown * 1000));
|
addCooldown(Corsair.BATTLE_SHIP, Server.getInstance().getCurrentTime(), (long)(cooldown * 1000));
|
||||||
removeCooldown(5221999);
|
removeCooldown(5221999);
|
||||||
cancelEffectFromBuffStat(MapleBuffStat.MONSTER_RIDING);
|
cancelEffectFromBuffStat(MapleBuffStat.MONSTER_RIDING);
|
||||||
@@ -2116,7 +2117,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
private void nextPendingRequest(MapleClient c) {
|
private void nextPendingRequest(MapleClient c) {
|
||||||
CharacterNameAndId pendingBuddyRequest = c.getPlayer().getBuddylist().pollPendingRequest();
|
CharacterNameAndId pendingBuddyRequest = c.getPlayer().getBuddylist().pollPendingRequest();
|
||||||
if (pendingBuddyRequest != null) {
|
if (pendingBuddyRequest != null) {
|
||||||
c.announce(PacketCreator.requestBuddylistAdd(pendingBuddyRequest.getId(), c.getPlayer().getId(), pendingBuddyRequest.getName()));
|
c.sendPacket(PacketCreator.requestBuddylistAdd(pendingBuddyRequest.getId(), c.getPlayer().getId(), pendingBuddyRequest.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2134,7 +2135,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
notifyRemoteChannel(client, getWorldServer().find(otherCid), otherCid, BuddyList.BuddyOperation.DELETED);
|
notifyRemoteChannel(client, getWorldServer().find(otherCid), otherCid, BuddyList.BuddyOperation.DELETED);
|
||||||
}
|
}
|
||||||
bl.remove(otherCid);
|
bl.remove(otherCid);
|
||||||
client.announce(PacketCreator.updateBuddylist(getBuddylist().getBuddies()));
|
sendPacket(PacketCreator.updateBuddylist(getBuddylist().getBuddies()));
|
||||||
nextPendingRequest(client);
|
nextPendingRequest(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2459,7 +2460,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if(MapleCharacter.this.getHp() < localmaxhp) {
|
if(MapleCharacter.this.getHp() < localmaxhp) {
|
||||||
byte recHP = (byte) (healHP / YamlConfig.config.server.CHAIR_EXTRA_HEAL_MULTIPLIER);
|
byte recHP = (byte) (healHP / YamlConfig.config.server.CHAIR_EXTRA_HEAL_MULTIPLIER);
|
||||||
|
|
||||||
client.announce(PacketCreator.showOwnRecovery(recHP));
|
sendPacket(PacketCreator.showOwnRecovery(recHP));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, recHP), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, recHP), false);
|
||||||
} else if (MapleCharacter.this.getMp() >= localmaxmp) {
|
} else if (MapleCharacter.this.getMp() >= localmaxmp) {
|
||||||
stopChairTask(); // optimizing schedule management when player is already with full pool.
|
stopChairTask(); // optimizing schedule management when player is already with full pool.
|
||||||
@@ -2507,7 +2508,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
if(MapleCharacter.this.getHp() < localmaxhp) {
|
if(MapleCharacter.this.getHp() < localmaxhp) {
|
||||||
if(healHP > 0) {
|
if(healHP > 0) {
|
||||||
client.announce(PacketCreator.showOwnRecovery(healHP));
|
sendPacket(PacketCreator.showOwnRecovery(healHP));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, healHP), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, healHP), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2632,9 +2633,9 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
final List<Pair<MapleDisease, Integer>> debuff = Collections.singletonList(new Pair<>(disease, Integer.valueOf(skill.getX())));
|
final List<Pair<MapleDisease, Integer>> debuff = Collections.singletonList(new Pair<>(disease, Integer.valueOf(skill.getX())));
|
||||||
|
|
||||||
if (disease != MapleDisease.SLOW) {
|
if (disease != MapleDisease.SLOW) {
|
||||||
this.announce(PacketCreator.giveForeignDebuff(cid, debuff, skill));
|
this.sendPacket(PacketCreator.giveForeignDebuff(cid, debuff, skill));
|
||||||
} else {
|
} else {
|
||||||
this.announce(PacketCreator.giveForeignSlowDebuff(cid, debuff, skill));
|
this.sendPacket(PacketCreator.giveForeignSlowDebuff(cid, debuff, skill));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2662,7 +2663,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final List<Pair<MapleDisease, Integer>> debuff = Collections.singletonList(new Pair<>(disease, Integer.valueOf(skill.getX())));
|
final List<Pair<MapleDisease, Integer>> debuff = Collections.singletonList(new Pair<>(disease, Integer.valueOf(skill.getX())));
|
||||||
client.announce(PacketCreator.giveDebuff(debuff, skill));
|
sendPacket(PacketCreator.giveDebuff(debuff, skill));
|
||||||
|
|
||||||
if (disease != MapleDisease.SLOW) {
|
if (disease != MapleDisease.SLOW) {
|
||||||
map.broadcastMessage(this, PacketCreator.giveForeignDebuff(id, debuff, skill), false);
|
map.broadcastMessage(this, PacketCreator.giveForeignDebuff(id, debuff, skill), false);
|
||||||
@@ -2675,7 +2676,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
public void dispelDebuff(MapleDisease debuff) {
|
public void dispelDebuff(MapleDisease debuff) {
|
||||||
if (hasDisease(debuff)) {
|
if (hasDisease(debuff)) {
|
||||||
long mask = debuff.getValue();
|
long mask = debuff.getValue();
|
||||||
announce(PacketCreator.cancelDebuff(mask));
|
sendPacket(PacketCreator.cancelDebuff(mask));
|
||||||
|
|
||||||
if (debuff != MapleDisease.SLOW) {
|
if (debuff != MapleDisease.SLOW) {
|
||||||
map.broadcastMessage(this, PacketCreator.cancelForeignDebuff(id, mask), false);
|
map.broadcastMessage(this, PacketCreator.cancelForeignDebuff(id, mask), false);
|
||||||
@@ -2790,7 +2791,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void dropMessage(int type, String message) {
|
public void dropMessage(int type, String message) {
|
||||||
client.announce(PacketCreator.serverNotice(type, message));
|
sendPacket(PacketCreator.serverNotice(type, message));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enteredScript(String script, int mapid) {
|
public void enteredScript(String script, int mapid) {
|
||||||
@@ -2910,7 +2911,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
MapleCoolDownValueHolder mcdvh = bel.getValue();
|
MapleCoolDownValueHolder mcdvh = bel.getValue();
|
||||||
if(curTime >= mcdvh.startTime + mcdvh.length) {
|
if(curTime >= mcdvh.startTime + mcdvh.length) {
|
||||||
removeCooldown(mcdvh.skillId);
|
removeCooldown(mcdvh.skillId);
|
||||||
client.announce(PacketCreator.skillCooldown(mcdvh.skillId, 0));
|
sendPacket(PacketCreator.skillCooldown(mcdvh.skillId, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2955,7 +2956,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
forceUpdateItem(item); //TEST :3
|
forceUpdateItem(item); //TEST :3
|
||||||
} else if (expiration != -1 && expiration < currenttime) {
|
} else if (expiration != -1 && expiration < currenttime) {
|
||||||
if (!ItemConstants.isPet(item.getItemId())) {
|
if (!ItemConstants.isPet(item.getItemId())) {
|
||||||
client.announce(PacketCreator.itemExpired(item.getItemId()));
|
sendPacket(PacketCreator.itemExpired(item.getItemId()));
|
||||||
toberemove.add(item);
|
toberemove.add(item);
|
||||||
if (ItemConstants.isRateCoupon(item.getItemId())) {
|
if (ItemConstants.isRateCoupon(item.getItemId())) {
|
||||||
deletedCoupon = true;
|
deletedCoupon = true;
|
||||||
@@ -2967,7 +2968,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ItemConstants.isExpirablePet(item.getItemId())) {
|
if (ItemConstants.isExpirablePet(item.getItemId())) {
|
||||||
client.announce(PacketCreator.itemExpired(item.getItemId()));
|
sendPacket(PacketCreator.itemExpired(item.getItemId()));
|
||||||
toberemove.add(item);
|
toberemove.add(item);
|
||||||
} else {
|
} else {
|
||||||
item.setExpiration(-1);
|
item.setExpiration(-1);
|
||||||
@@ -3018,7 +3019,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
final List<ModifyInventory> mods = new LinkedList<>();
|
final List<ModifyInventory> mods = new LinkedList<>();
|
||||||
mods.add(new ModifyInventory(3, item));
|
mods.add(new ModifyInventory(3, item));
|
||||||
mods.add(new ModifyInventory(0, item));
|
mods.add(new ModifyInventory(0, item));
|
||||||
client.announce(PacketCreator.modifyInventory(true, mods));
|
sendPacket(PacketCreator.modifyInventory(true, mods));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void gainGachaExp() {
|
public void gainGachaExp() {
|
||||||
@@ -3095,7 +3096,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
white = false;
|
white = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
client.announce(PacketCreator.getShowExpGain((int) gain, equip, party, inChat, white));
|
sendPacket(PacketCreator.getShowExpGain((int) gain, equip, party, inChat, white));
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void gainExpInternal(long gain, int equip, int party, boolean show, boolean inChat, boolean white) { // need of method synchonization here detected thanks to MedicOP
|
private synchronized void gainExpInternal(long gain, int equip, int party, boolean show, boolean inChat, boolean white) { // need of method synchonization here detected thanks to MedicOP
|
||||||
@@ -3159,10 +3160,10 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
updateSingleStat(MapleStat.FAME, thisFame);
|
updateSingleStat(MapleStat.FAME, thisFame);
|
||||||
|
|
||||||
if (fromPlayer != null) {
|
if (fromPlayer != null) {
|
||||||
fromPlayer.announce(PacketCreator.giveFameResponse(mode, getName(), thisFame));
|
fromPlayer.sendPacket(PacketCreator.giveFameResponse(mode, getName(), thisFame));
|
||||||
announce(PacketCreator.receiveFame(mode, fromPlayer.getName()));
|
sendPacket(PacketCreator.receiveFame(mode, fromPlayer.getName()));
|
||||||
} else {
|
} else {
|
||||||
announce(PacketCreator.getShowFameGain(delta));
|
sendPacket(PacketCreator.getShowFameGain(delta));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -3202,15 +3203,15 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (gain != 0) {
|
if (gain != 0) {
|
||||||
updateSingleStat(MapleStat.MESO, (int) nextMeso, enableActions);
|
updateSingleStat(MapleStat.MESO, (int) nextMeso, enableActions);
|
||||||
if (show) {
|
if (show) {
|
||||||
client.announce(PacketCreator.getShowMesoGain(gain, inChat));
|
sendPacket(PacketCreator.getShowMesoGain(gain, inChat));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void genericGuildMessage(int code) {
|
public void genericGuildMessage(int code) {
|
||||||
this.client.announce(PacketCreator.genericGuildMessage((byte) code));
|
this.sendPacket(GuildPackets.genericGuildMessage((byte) code));
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getAccountID() {
|
public int getAccountID() {
|
||||||
@@ -4033,7 +4034,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!inactiveStats.isEmpty()) {
|
if (!inactiveStats.isEmpty()) {
|
||||||
client.announce(PacketCreator.cancelBuff(inactiveStats));
|
sendPacket(PacketCreator.cancelBuff(inactiveStats));
|
||||||
getMap().broadcastMessage(this, PacketCreator.cancelForeignBuff(getId(), inactiveStats), false);
|
getMap().broadcastMessage(this, PacketCreator.cancelForeignBuff(getId(), inactiveStats), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4309,7 +4310,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (this.isRidingBattleship()) {
|
if (this.isRidingBattleship()) {
|
||||||
List<Pair<MapleBuffStat, Integer>> statups = new ArrayList<>(1);
|
List<Pair<MapleBuffStat, Integer>> statups = new ArrayList<>(1);
|
||||||
statups.add(new Pair<>(MapleBuffStat.MONSTER_RIDING, 0));
|
statups.add(new Pair<>(MapleBuffStat.MONSTER_RIDING, 0));
|
||||||
this.announce(PacketCreator.giveBuff(1932000, 5221006, statups));
|
this.sendPacket(PacketCreator.giveBuff(1932000, 5221006, statups));
|
||||||
this.announceBattleshipHp();
|
this.announceBattleshipHp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4403,7 +4404,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addHP(healEffect.getHp());
|
addHP(healEffect.getHp());
|
||||||
client.announce(PacketCreator.showOwnBuffEffect(beholder, 2));
|
sendPacket(PacketCreator.showOwnBuffEffect(beholder, 2));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.summonSkill(getId(), beholder, 5), true);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.summonSkill(getId(), beholder, 5), true);
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showOwnBuffEffect(beholder, 2), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showOwnBuffEffect(beholder, 2), false);
|
||||||
}
|
}
|
||||||
@@ -4421,9 +4422,9 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buffEffect.applyTo(MapleCharacter.this);
|
buffEffect.applyTo(MapleCharacter.this);
|
||||||
client.announce(PacketCreator.showOwnBuffEffect(beholder, 2));
|
sendPacket(PacketCreator.showOwnBuffEffect(beholder, 2));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.summonSkill(getId(), beholder, (int) (Math.random() * 3) + 6), true);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.summonSkill(getId(), beholder, (int) (Math.random() * 3) + 6), true);
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBuffeffect(getId(), beholder, 2), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBuffEffect(getId(), beholder, 2), false);
|
||||||
}
|
}
|
||||||
}, buffInterval, buffInterval);
|
}, buffInterval, buffInterval);
|
||||||
}
|
}
|
||||||
@@ -4455,7 +4456,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addHP(heal);
|
addHP(heal);
|
||||||
client.announce(PacketCreator.showOwnRecovery(heal));
|
sendPacket(PacketCreator.showOwnRecovery(heal));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, heal), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showRecovery(id, heal), false);
|
||||||
}
|
}
|
||||||
}, healInterval, healInterval);
|
}, healInterval, healInterval);
|
||||||
@@ -4813,7 +4814,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
Set<Integer> exclItems = pe.getValue();
|
Set<Integer> exclItems = pe.getValue();
|
||||||
if (!exclItems.isEmpty()) {
|
if (!exclItems.isEmpty()) {
|
||||||
client.announce(PacketCreator.loadExceptionList(this.getId(), pe.getKey(), petIndex, new ArrayList<>(exclItems)));
|
sendPacket(PacketCreator.loadExceptionList(this.getId(), pe.getKey(), petIndex, new ArrayList<>(exclItems)));
|
||||||
|
|
||||||
chrLock.lock();
|
chrLock.lock();
|
||||||
try {
|
try {
|
||||||
@@ -4837,7 +4838,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
Set<Integer> exclItems = pe.getValue();
|
Set<Integer> exclItems = pe.getValue();
|
||||||
if (!exclItems.isEmpty()) {
|
if (!exclItems.isEmpty()) {
|
||||||
c.announce(PacketCreator.loadExceptionList(this.getId(), pe.getKey(), petIndex, new ArrayList<>(exclItems)));
|
c.sendPacket(PacketCreator.loadExceptionList(this.getId(), pe.getKey(), petIndex, new ArrayList<>(exclItems)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5936,7 +5937,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
//Server.getInstance().getGuild(guildid, world, mgc).gainGP(40);
|
//Server.getInstance().getGuild(guildid, world, mgc).gainGP(40);
|
||||||
int allianceId = getGuild().getAllianceId();
|
int allianceId = getGuild().getAllianceId();
|
||||||
if (allianceId > 0) {
|
if (allianceId > 0) {
|
||||||
Server.getInstance().allianceMessage(allianceId, PacketCreator.updateAllianceJobLevel(this), getId(), -1);
|
Server.getInstance().allianceMessage(allianceId, GuildPackets.updateAllianceJobLevel(this), getId(), -1);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -5955,10 +5956,10 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.ENERGY_CHARGE, energybar));
|
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.ENERGY_CHARGE, energybar));
|
||||||
setBuffedValue(MapleBuffStat.ENERGY_CHARGE, energybar);
|
setBuffedValue(MapleBuffStat.ENERGY_CHARGE, energybar);
|
||||||
client.announce(PacketCreator.giveBuff(energybar, 0, stat));
|
sendPacket(PacketCreator.giveBuff(energybar, 0, stat));
|
||||||
client.announce(PacketCreator.showOwnBuffEffect(energycharge.getId(), 2));
|
sendPacket(PacketCreator.showOwnBuffEffect(energycharge.getId(), 2));
|
||||||
getMap().broadcastMessage(this, PacketCreator.showBuffeffect(id, energycharge.getId(), 2));
|
getMap().broadcastPacket(this, PacketCreator.showBuffEffect(id, energycharge.getId(), 2));
|
||||||
getMap().broadcastMessage(this, PacketCreator.giveForeignBuff(energybar, stat));
|
getMap().broadcastPacket(this, PacketCreator.giveForeignBuff(energybar, stat));
|
||||||
}
|
}
|
||||||
if (energybar >= 10000 && energybar < 11000) {
|
if (energybar >= 10000 && energybar < 11000) {
|
||||||
energybar = 15000;
|
energybar = 15000;
|
||||||
@@ -5969,8 +5970,8 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
energybar = 0;
|
energybar = 0;
|
||||||
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.ENERGY_CHARGE, energybar));
|
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.ENERGY_CHARGE, energybar));
|
||||||
setBuffedValue(MapleBuffStat.ENERGY_CHARGE, energybar);
|
setBuffedValue(MapleBuffStat.ENERGY_CHARGE, energybar);
|
||||||
client.announce(PacketCreator.giveBuff(energybar, 0, stat));
|
sendPacket(PacketCreator.giveBuff(energybar, 0, stat));
|
||||||
getMap().broadcastMessage(chr, PacketCreator.cancelForeignFirstDebuff(id, ((long) 1) << 50));
|
getMap().broadcastPacket(chr, PacketCreator.cancelForeignFirstDebuff(id, ((long) 1) << 50));
|
||||||
}
|
}
|
||||||
}, ceffect.getDuration());
|
}, ceffect.getDuration());
|
||||||
}
|
}
|
||||||
@@ -5981,7 +5982,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
Skill combo = SkillFactory.getSkill(skillid);
|
Skill combo = SkillFactory.getSkill(skillid);
|
||||||
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.COMBO, 1));
|
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.COMBO, 1));
|
||||||
setBuffedValue(MapleBuffStat.COMBO, 1);
|
setBuffedValue(MapleBuffStat.COMBO, 1);
|
||||||
client.announce(PacketCreator.giveBuff(skillid, combo.getEffect(getSkillLevel(combo)).getDuration() + (int) ((getBuffedStarttime(MapleBuffStat.COMBO) - System.currentTimeMillis())), stat));
|
sendPacket(PacketCreator.giveBuff(skillid, combo.getEffect(getSkillLevel(combo)).getDuration() + (int) ((getBuffedStarttime(MapleBuffStat.COMBO) - System.currentTimeMillis())), stat));
|
||||||
getMap().broadcastMessage(this, PacketCreator.giveForeignBuff(getId(), stat), false);
|
getMap().broadcastMessage(this, PacketCreator.giveForeignBuff(getId(), stat), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -6440,7 +6441,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
statup.add(new Pair<>(MapleStat.STR, str));
|
statup.add(new Pair<>(MapleStat.STR, str));
|
||||||
statup.add(new Pair<>(MapleStat.DEX, dex));
|
statup.add(new Pair<>(MapleStat.DEX, dex));
|
||||||
|
|
||||||
client.announce(PacketCreator.updatePlayerStats(statup, true, this));
|
sendPacket(PacketCreator.updatePlayerStats(statup, true, this));
|
||||||
} finally {
|
} finally {
|
||||||
statWlock.unlock();
|
statWlock.unlock();
|
||||||
effLock.unlock();
|
effLock.unlock();
|
||||||
@@ -6498,7 +6499,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
MapleFamilyEntry senior = familyEntry.getSenior();
|
MapleFamilyEntry senior = familyEntry.getSenior();
|
||||||
if(senior != null) { //only send the message to direct senior
|
if(senior != null) { //only send the message to direct senior
|
||||||
MapleCharacter seniorChr = senior.getChr();
|
MapleCharacter seniorChr = senior.getChr();
|
||||||
if(seniorChr != null) seniorChr.announce(PacketCreator.levelUpMessage(1, level, getName()));
|
if(seniorChr != null) seniorChr.sendPacket(PacketCreator.levelUpMessage(1, level, getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7496,7 +7497,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void yellowMessage(String m) {
|
public void yellowMessage(String m) {
|
||||||
announce(PacketCreator.sendYellowTip(m));
|
sendPacket(PacketCreator.sendYellowTip(m));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void raiseQuestMobCount(int id) {
|
public void raiseQuestMobCount(int id) {
|
||||||
@@ -7604,7 +7605,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
unsitChairInternal();
|
unsitChairInternal();
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void unsitChairInternal() {
|
private void unsitChairInternal() {
|
||||||
@@ -7622,7 +7623,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
getMap().broadcastMessage(this, PacketCreator.showChair(this.getId(), 0), false);
|
getMap().broadcastMessage(this, PacketCreator.showChair(this.getId(), 0), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
announce(PacketCreator.cancelChair(-1));
|
sendPacket(PacketCreator.cancelChair(-1));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sitChair(int itemId) {
|
public void sitChair(int itemId) {
|
||||||
@@ -7632,14 +7633,14 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
setChair(itemId);
|
setChair(itemId);
|
||||||
getMap().broadcastMessage(this, PacketCreator.showChair(this.getId(), itemId), false);
|
getMap().broadcastMessage(this, PacketCreator.showChair(this.getId(), itemId), false);
|
||||||
}
|
}
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
} else if (itemId >= 0) { // sit on map chair
|
} else if (itemId >= 0) { // sit on map chair
|
||||||
if (chair.get() < 0) {
|
if (chair.get() < 0) {
|
||||||
setChair(itemId);
|
setChair(itemId);
|
||||||
if (registerChairBuff()) {
|
if (registerChairBuff()) {
|
||||||
getMap().broadcastMessage(this, PacketCreator.giveForeignChairSkillEffect(this.getId()), false);
|
getMap().broadcastMessage(this, PacketCreator.giveForeignChairSkillEffect(this.getId()), false);
|
||||||
}
|
}
|
||||||
announce(PacketCreator.cancelChair(itemId));
|
sendPacket(PacketCreator.cancelChair(itemId));
|
||||||
}
|
}
|
||||||
} else { // stand up
|
} else { // stand up
|
||||||
unsitChairInternal();
|
unsitChairInternal();
|
||||||
@@ -7684,8 +7685,8 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addHP(-bloodEffect.getX());
|
addHP(-bloodEffect.getX());
|
||||||
announce(PacketCreator.showOwnBuffEffect(bloodEffect.getSourceId(), 5));
|
sendPacket(PacketCreator.showOwnBuffEffect(bloodEffect.getSourceId(), 5));
|
||||||
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBuffeffect(getId(), bloodEffect.getSourceId(), 5), false);
|
getMap().broadcastMessage(MapleCharacter.this, PacketCreator.showBuffEffect(getId(), bloodEffect.getSourceId(), 5), false);
|
||||||
}
|
}
|
||||||
}, 4000, 4000);
|
}, 4000, 4000);
|
||||||
}
|
}
|
||||||
@@ -7909,7 +7910,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
enforceMaxHpMp();
|
enforceMaxHpMp();
|
||||||
|
|
||||||
if (!hpmpupdate.isEmpty()) {
|
if (!hpmpupdate.isEmpty()) {
|
||||||
client.announce(PacketCreator.updatePlayerStats(hpmpupdate, true, this));
|
sendPacket(PacketCreator.updatePlayerStats(hpmpupdate, true, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (oldmaxhp != localmaxhp) { // thanks Wh1SK3Y (Suwaidy) for pointing out a deadlock occuring related to party members HP
|
if (oldmaxhp != localmaxhp) { // thanks Wh1SK3Y (Suwaidy) for pointing out a deadlock occuring related to party members HP
|
||||||
@@ -7927,7 +7928,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
try {
|
try {
|
||||||
if (party != null) {
|
if (party != null) {
|
||||||
for (MapleCharacter partychar : this.getPartyMembersOnSameMap()) {
|
for (MapleCharacter partychar : this.getPartyMembersOnSameMap()) {
|
||||||
announce(PacketCreator.updatePartyMemberHP(partychar.getId(), partychar.getHp(), partychar.getCurrentMaxHp()));
|
sendPacket(PacketCreator.updatePartyMemberHP(partychar.getId(), partychar.getHp(), partychar.getCurrentMaxHp()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -7944,7 +7945,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (mcvh.skillId != id) {
|
if (mcvh.skillId != id) {
|
||||||
coolDowns.remove(mcvh.skillId);
|
coolDowns.remove(mcvh.skillId);
|
||||||
if (packet) {
|
if (packet) {
|
||||||
client.announce(PacketCreator.skillCooldown(mcvh.skillId, 0));
|
sendPacket(PacketCreator.skillCooldown(mcvh.skillId, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8743,7 +8744,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sendPolice(int greason, String reason, int duration) {
|
public void sendPolice(int greason, String reason, int duration) {
|
||||||
announce(PacketCreator.sendPolice(String.format("You have been blocked by the#b %s Police for %s.#k", "Cosmic", reason)));
|
sendPacket(PacketCreator.sendPolice(String.format("You have been blocked by the#b %s Police for %s.#k", "Cosmic", reason)));
|
||||||
this.isbanned = true;
|
this.isbanned = true;
|
||||||
TimerManager.getInstance().schedule(new Runnable() {
|
TimerManager.getInstance().schedule(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -8763,7 +8764,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
FilePrinter.print(FilePrinter.AUTOBAN_DC, message);
|
FilePrinter.print(FilePrinter.AUTOBAN_DC, message);
|
||||||
}
|
}
|
||||||
//Server.getInstance().broadcastGMMessage(0, PacketCreator.serverNotice(1, getName() + " received this - " + text));
|
//Server.getInstance().broadcastGMMessage(0, PacketCreator.serverNotice(1, getName() + " received this - " + text));
|
||||||
//announce(PacketCreator.sendPolice(text));
|
//sendPacket(PacketCreator.sendPolice(text));
|
||||||
//this.isbanned = true;
|
//this.isbanned = true;
|
||||||
//TimerManager.getInstance().schedule(new Runnable() {
|
//TimerManager.getInstance().schedule(new Runnable() {
|
||||||
// @Override
|
// @Override
|
||||||
@@ -8774,7 +8775,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sendKeymap() {
|
public void sendKeymap() {
|
||||||
client.announce(PacketCreator.getKeymap(keymap));
|
sendPacket(PacketCreator.getKeymap(keymap));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendQuickmap() {
|
public void sendQuickmap() {
|
||||||
@@ -8785,12 +8786,12 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
pQuickslotKeyMapped = new MapleQuickslotBinding(MapleQuickslotBinding.DEFAULT_QUICKSLOTS);
|
pQuickslotKeyMapped = new MapleQuickslotBinding(MapleQuickslotBinding.DEFAULT_QUICKSLOTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.announce(PacketCreator.QuickslotMappedInit(pQuickslotKeyMapped));
|
this.sendPacket(PacketCreator.QuickslotMappedInit(pQuickslotKeyMapped));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendMacros() {
|
public void sendMacros() {
|
||||||
// Always send the macro packet to fix a client side bug when switching characters.
|
// Always send the macro packet to fix a client side bug when switching characters.
|
||||||
client.announce(PacketCreator.getMacros(skillMacros));
|
sendPacket(PacketCreator.getMacros(skillMacros));
|
||||||
}
|
}
|
||||||
|
|
||||||
public SkillMacro[] getMacros() {
|
public SkillMacro[] getMacros() {
|
||||||
@@ -8827,7 +8828,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public void setBuddyCapacity(int capacity) {
|
public void setBuddyCapacity(int capacity) {
|
||||||
buddylist.setCapacity(capacity);
|
buddylist.setCapacity(capacity);
|
||||||
client.announce(PacketCreator.updateBuddyCapacity(capacity));
|
sendPacket(PacketCreator.updateBuddyCapacity(capacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBuffedValue(MapleBuffStat effect, int value) {
|
public void setBuffedValue(MapleBuffStat effect, int value) {
|
||||||
@@ -9301,7 +9302,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (newLimit != -1) {
|
if (newLimit != -1) {
|
||||||
this.saveCharToDB();
|
this.saveCharToDB();
|
||||||
if (update) {
|
if (update) {
|
||||||
client.announce(PacketCreator.updateInventorySlotLimit(type, newLimit));
|
sendPacket(PacketCreator.updateInventorySlotLimit(type, newLimit));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@@ -9603,7 +9604,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public void showDojoClock() {
|
public void showDojoClock() {
|
||||||
if (GameConstants.isDojoBossArea(map.getId())) {
|
if (GameConstants.isDojoBossArea(map.getId())) {
|
||||||
client.announce(PacketCreator.getClock((int) (getDojoTimeLeft() / 1000)));
|
sendPacket(PacketCreator.getClock((int) (getDojoTimeLeft() / 1000)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9633,7 +9634,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
strLines.add("");
|
strLines.add("");
|
||||||
strLines.add(this.getClient().getChannelServer().getServerMessage().isEmpty() ? 0 : 1, "Get off my lawn!!");
|
strLines.add(this.getClient().getChannelServer().getServerMessage().isEmpty() ? 0 : 1, "Get off my lawn!!");
|
||||||
|
|
||||||
this.announce(PacketCreator.getAvatarMega(mapOwner, medal, this.getClient().getChannel(), 5390006, strLines, true));
|
this.sendPacket(PacketCreator.getAvatarMega(mapOwner, medal, this.getClient().getChannel(), 5390006, strLines, true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9653,7 +9654,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
rs.last();
|
rs.last();
|
||||||
int count = rs.getRow();
|
int count = rs.getRow();
|
||||||
rs.first();
|
rs.first();
|
||||||
client.announce(PacketCreator.showNotes(rs, count));
|
sendPacket(PacketCreator.showNotes(rs, count));
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -9750,11 +9751,11 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public void startMapEffect(String msg, int itemId, int duration) {
|
public void startMapEffect(String msg, int itemId, int duration) {
|
||||||
final MapleMapEffect mapEffect = new MapleMapEffect(msg, itemId);
|
final MapleMapEffect mapEffect = new MapleMapEffect(msg, itemId);
|
||||||
getClient().announce(mapEffect.makeStartData());
|
sendPacket(mapEffect.makeStartData());
|
||||||
TimerManager.getInstance().schedule(new Runnable() {
|
TimerManager.getInstance().schedule(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
getClient().announce(mapEffect.makeDestroyData());
|
sendPacket(mapEffect.makeDestroyData());
|
||||||
}
|
}
|
||||||
}, duration);
|
}, duration);
|
||||||
}
|
}
|
||||||
@@ -9787,8 +9788,8 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
removePet(pet, shift_left);
|
removePet(pet, shift_left);
|
||||||
commitExcludedItems();
|
commitExcludedItems();
|
||||||
|
|
||||||
client.announce(PacketCreator.petStatUpdate(this));
|
sendPacket(PacketCreator.petStatUpdate(this));
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateMacros(int position, SkillMacro updateMacro) {
|
public void updateMacros(int position, SkillMacro updateMacro) {
|
||||||
@@ -9809,7 +9810,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
int curmaxhp = getCurrentMaxHp();
|
int curmaxhp = getCurrentMaxHp();
|
||||||
int curhp = getHp();
|
int curhp = getHp();
|
||||||
for (MapleCharacter partychar : this.getPartyMembersOnSameMap()) {
|
for (MapleCharacter partychar : this.getPartyMembersOnSameMap()) {
|
||||||
partychar.announce(PacketCreator.updatePartyMemberHP(getId(), curhp, curmaxhp));
|
partychar.sendPacket(PacketCreator.updatePartyMemberHP(getId(), curhp, curmaxhp));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9859,20 +9860,20 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
switch (questUpdate.getLeft()) {
|
switch (questUpdate.getLeft()) {
|
||||||
case UPDATE:
|
case UPDATE:
|
||||||
announce(PacketCreator.updateQuest(chr, (MapleQuestStatus) objs[0], (Boolean) objs[1]));
|
sendPacket(PacketCreator.updateQuest(chr, (MapleQuestStatus) objs[0], (Boolean) objs[1]));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FORFEIT:
|
case FORFEIT:
|
||||||
announce(PacketCreator.forfeitQuest((Short) objs[0]));
|
sendPacket(PacketCreator.forfeitQuest((Short) objs[0]));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case COMPLETE:
|
case COMPLETE:
|
||||||
announce(PacketCreator.completeQuest((Short) objs[0], (Long) objs[1]));
|
sendPacket(PacketCreator.completeQuest((Short) objs[0], (Long) objs[1]));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INFO:
|
case INFO:
|
||||||
MapleQuestStatus qs = (MapleQuestStatus) objs[0];
|
MapleQuestStatus qs = (MapleQuestStatus) objs[0];
|
||||||
announce(PacketCreator.updateQuestInfo(qs.getQuest().getId(), qs.getNpc()));
|
sendPacket(PacketCreator.updateQuestInfo(qs.getQuest().getId(), qs.getNpc()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9933,7 +9934,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
private void expireQuest(MapleQuest quest) {
|
private void expireQuest(MapleQuest quest) {
|
||||||
if (quest.forfeit(this)) {
|
if (quest.forfeit(this)) {
|
||||||
announce(PacketCreator.questExpire(quest.getId()));
|
sendPacket(PacketCreator.questExpire(quest.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10028,7 +10029,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public void questTimeLimit(final MapleQuest quest, int seconds) {
|
public void questTimeLimit(final MapleQuest quest, int seconds) {
|
||||||
registerQuestExpire(quest, seconds * 1000);
|
registerQuestExpire(quest, seconds * 1000);
|
||||||
announce(PacketCreator.addQuestTimeLimit(quest.getId(), seconds * 1000));
|
sendPacket(PacketCreator.addQuestTimeLimit(quest.getId(), seconds * 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void questTimeLimit2(final MapleQuest quest, long expires) {
|
public void questTimeLimit2(final MapleQuest quest, long expires) {
|
||||||
@@ -10046,12 +10047,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void updateSingleStat(MapleStat stat, int newval, boolean itemReaction) {
|
private void updateSingleStat(MapleStat stat, int newval, boolean itemReaction) {
|
||||||
announce(PacketCreator.updatePlayerStats(Collections.singletonList(new Pair<>(stat, Integer.valueOf(newval))), itemReaction, this));
|
sendPacket(PacketCreator.updatePlayerStats(Collections.singletonList(new Pair<>(stat, Integer.valueOf(newval))), itemReaction, this));
|
||||||
}
|
|
||||||
|
|
||||||
@Deprecated(forRemoval = true)
|
|
||||||
public void announce(final byte[] packet) {
|
|
||||||
client.announce(packet);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendPacket(Packet packet) {
|
public void sendPacket(Packet packet) {
|
||||||
@@ -10070,16 +10066,16 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendDestroyData(MapleClient client) {
|
public void sendDestroyData(MapleClient client) {
|
||||||
client.announce(PacketCreator.removePlayerFromMap(this.getObjectId()));
|
client.sendPacket(PacketCreator.removePlayerFromMap(this.getObjectId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendSpawnData(MapleClient client) {
|
public void sendSpawnData(MapleClient client) {
|
||||||
if (!this.isHidden() || client.getPlayer().gmLevel() > 1) {
|
if (!this.isHidden() || client.getPlayer().gmLevel() > 1) {
|
||||||
client.announce(PacketCreator.spawnPlayerMapObject(client, this, false));
|
client.sendPacket(PacketCreator.spawnPlayerMapObject(client, this, false));
|
||||||
|
|
||||||
if (buffEffects.containsKey(getJobMapChair(job))) { // mustn't effLock, chrLock sendSpawnData
|
if (buffEffects.containsKey(getJobMapChair(job))) { // mustn't effLock, chrLock sendSpawnData
|
||||||
client.announce(PacketCreator.giveForeignChairSkillEffect(id));
|
client.sendPacket(PacketCreator.giveForeignChairSkillEffect(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10154,7 +10150,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
public void blockPortal(String scriptName) {
|
public void blockPortal(String scriptName) {
|
||||||
if (!blockedPortals.contains(scriptName) && scriptName != null) {
|
if (!blockedPortals.contains(scriptName) && scriptName != null) {
|
||||||
blockedPortals.add(scriptName);
|
blockedPortals.add(scriptName);
|
||||||
client.announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10178,7 +10174,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
|
|
||||||
public void updateAreaInfo(int area, String info) {
|
public void updateAreaInfo(int area, String info) {
|
||||||
area_info.put(Short.valueOf((short) area), info);
|
area_info.put(Short.valueOf((short) area), info);
|
||||||
announce(PacketCreator.updateAreaInfo(area, info));
|
sendPacket(PacketCreator.updateAreaInfo(area, info));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAreaInfo(int area) {
|
public String getAreaInfo(int area) {
|
||||||
@@ -10195,7 +10191,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.ban(reason);
|
this.ban(reason);
|
||||||
announce(PacketCreator.sendPolice(String.format("You have been blocked by the#b %s Police for HACK reason.#k", "Cosmic")));
|
sendPacket(PacketCreator.sendPolice(String.format("You have been blocked by the#b %s Police for HACK reason.#k", "Cosmic")));
|
||||||
TimerManager.getInstance().schedule(new Runnable() {
|
TimerManager.getInstance().schedule(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -11244,7 +11240,7 @@ public class MapleCharacter extends AbstractMapleCharacterObject {
|
|||||||
if (this.getCP() > this.getTotalCP()) {
|
if (this.getCP() > this.getTotalCP()) {
|
||||||
this.setTotalCP(this.getCP());
|
this.setTotalCP(this.getCP());
|
||||||
}
|
}
|
||||||
this.getClient().announce(PacketCreator.CPUpdate(false, this.getCP(), this.getTotalCP(), getTeam()));
|
sendPacket(PacketCreator.CPUpdate(false, this.getCP(), this.getTotalCP(), getTeam()));
|
||||||
if (this.getParty() != null && getTeam() != -1) {
|
if (this.getParty() != null && getTeam() != -1) {
|
||||||
this.getMap().broadcastMessage(PacketCreator.CPUpdate(true, this.getMonsterCarnival().getCP(team), this.getMonsterCarnival().getTotalCP(team), getTeam()));
|
this.getMap().broadcastMessage(PacketCreator.CPUpdate(true, this.getMonsterCarnival().getCP(team), this.getMonsterCarnival().getTotalCP(team), getTeam()));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -30,9 +30,7 @@ import io.netty.handler.timeout.IdleStateEvent;
|
|||||||
import net.MaplePacketHandler;
|
import net.MaplePacketHandler;
|
||||||
import net.PacketProcessor;
|
import net.PacketProcessor;
|
||||||
import net.netty.InvalidPacketHeaderException;
|
import net.netty.InvalidPacketHeaderException;
|
||||||
import net.packet.ByteBufOutPacket;
|
|
||||||
import net.packet.InPacket;
|
import net.packet.InPacket;
|
||||||
import net.packet.OutPacket;
|
|
||||||
import net.packet.Packet;
|
import net.packet.Packet;
|
||||||
import net.packet.logging.LoggingUtil;
|
import net.packet.logging.LoggingUtil;
|
||||||
import net.packet.logging.MapleLogger;
|
import net.packet.logging.MapleLogger;
|
||||||
@@ -45,6 +43,7 @@ import net.server.coordinator.session.Hwid;
|
|||||||
import net.server.coordinator.session.IpAddresses;
|
import net.server.coordinator.session.IpAddresses;
|
||||||
import net.server.coordinator.session.SessionCoordinator;
|
import net.server.coordinator.session.SessionCoordinator;
|
||||||
import net.server.coordinator.session.SessionCoordinator.AntiMulticlientResult;
|
import net.server.coordinator.session.SessionCoordinator.AntiMulticlientResult;
|
||||||
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
import net.server.guild.MapleGuildCharacter;
|
import net.server.guild.MapleGuildCharacter;
|
||||||
import net.server.world.*;
|
import net.server.world.*;
|
||||||
@@ -209,7 +208,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
handler.handlePacket(accessor, this);
|
handler.handlePacket(accessor, this);
|
||||||
} catch (final Throwable t) {
|
} catch (final Throwable t) {
|
||||||
FilePrinter.printError(FilePrinter.PACKET_HANDLER + handler.getClass().getName() + ".txt", t, "Error for " + (getPlayer() == null ? "" : "player ; " + getPlayer() + " on map ; " + getPlayer().getMapId() + " - ") + "account ; " + getAccountName() + "\r\n" + accessor);
|
FilePrinter.printError(FilePrinter.PACKET_HANDLER + handler.getClass().getName() + ".txt", t, "Error for " + (getPlayer() == null ? "" : "player ; " + getPlayer() + " on map ; " + getPlayer().getMapId() + " - ") + "account ; " + getAccountName() + "\r\n" + accessor);
|
||||||
//client.announce(PacketCreator.enableActions());//bugs sometimes
|
//client.sendPacket(PacketCreator.enableActions());//bugs sometimes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,7 +307,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void sendCharList(int server) {
|
public void sendCharList(int server) {
|
||||||
this.announce(PacketCreator.getCharList(this, server, 0));
|
this.sendPacket(PacketCreator.getCharList(this, server, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MapleCharacter> loadCharacters(int serverId) {
|
public List<MapleCharacter> loadCharacters(int serverId) {
|
||||||
@@ -1000,7 +999,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
if (guild != null) {
|
if (guild != null) {
|
||||||
final Server server = Server.getInstance();
|
final Server server = Server.getInstance();
|
||||||
server.setGuildMemberOnline(player, false, player.getClient().getChannel());
|
server.setGuildMemberOnline(player, false, player.getClient().getChannel());
|
||||||
player.getClient().announce(PacketCreator.showGuildInfo(player));
|
player.sendPacket(GuildPackets.showGuildInfo(player));
|
||||||
}
|
}
|
||||||
if (bl != null) {
|
if (bl != null) {
|
||||||
wserv.loggedOff(player.getName(), player.getId(), channel, player.getBuddylist().getBuddyIds());
|
wserv.loggedOff(player.getName(), player.getId(), channel, player.getBuddylist().getBuddyIds());
|
||||||
@@ -1145,7 +1144,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
|
|
||||||
public void checkIfIdle(final IdleStateEvent event) {
|
public void checkIfIdle(final IdleStateEvent event) {
|
||||||
final long pingedAt = System.currentTimeMillis();
|
final long pingedAt = System.currentTimeMillis();
|
||||||
announce(PacketCreator.getPing());
|
sendPacket(PacketCreator.getPing());
|
||||||
TimerManager.getInstance().schedule(() -> {
|
TimerManager.getInstance().schedule(() -> {
|
||||||
try {
|
try {
|
||||||
if (lastPong < pingedAt) {
|
if (lastPong < pingedAt) {
|
||||||
@@ -1415,15 +1414,15 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
|
|
||||||
private void announceDisableServerMessage() {
|
private void announceDisableServerMessage() {
|
||||||
if (!this.getWorldServer().registerDisabledServerMessage(player.getId())) {
|
if (!this.getWorldServer().registerDisabledServerMessage(player.getId())) {
|
||||||
announce(PacketCreator.serverMessage(""));
|
sendPacket(PacketCreator.serverMessage(""));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void announceServerMessage() {
|
public void announceServerMessage() {
|
||||||
announce(PacketCreator.serverMessage(this.getChannelServer().getServerMessage()));
|
sendPacket(PacketCreator.serverMessage(this.getChannelServer().getServerMessage()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void announceBossHpBar(MapleMonster mm, final int mobHash, final byte[] packet) {
|
public synchronized void announceBossHpBar(MapleMonster mm, final int mobHash, Packet packet) {
|
||||||
long timeNow = System.currentTimeMillis();
|
long timeNow = System.currentTimeMillis();
|
||||||
int targetHash = player.getTargetHpBarHash();
|
int targetHash = player.getTargetHpBarHash();
|
||||||
|
|
||||||
@@ -1431,55 +1430,31 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
if (timeNow - player.getTargetHpBarTime() >= 5 * 1000) {
|
if (timeNow - player.getTargetHpBarTime() >= 5 * 1000) {
|
||||||
// is there a way to INTERRUPT this annoying thread running on the client that drops the boss bar after some time at every attack?
|
// is there a way to INTERRUPT this annoying thread running on the client that drops the boss bar after some time at every attack?
|
||||||
announceDisableServerMessage();
|
announceDisableServerMessage();
|
||||||
announce(packet);
|
sendPacket(packet);
|
||||||
|
|
||||||
player.setTargetHpBarHash(mobHash);
|
player.setTargetHpBarHash(mobHash);
|
||||||
player.setTargetHpBarTime(timeNow);
|
player.setTargetHpBarTime(timeNow);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
announceDisableServerMessage();
|
announceDisableServerMessage();
|
||||||
announce(packet);
|
sendPacket(packet);
|
||||||
|
|
||||||
player.setTargetHpBarTime(timeNow);
|
player.setTargetHpBarTime(timeNow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated(forRemoval = true, since = "Netty migration")
|
|
||||||
public void announce(final byte[] packet) { // thanks GitGud for noticing an opportunity for improvement by overcoming "synchronized announce"
|
|
||||||
announcerLock.lock();
|
|
||||||
try {
|
|
||||||
// session.write(packet);
|
|
||||||
sendPacket(packet);
|
|
||||||
} finally {
|
|
||||||
announcerLock.unlock();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Workaround for old packets. All uses of Client#announce(byte[]) should be migrated to Client#sendPacket(OutPacket)
|
|
||||||
private void sendPacket(final byte[] packet) {
|
|
||||||
announcerLock.lock();
|
|
||||||
try {
|
|
||||||
OutPacket outPacket = new ByteBufOutPacket();
|
|
||||||
outPacket.writeBytes(packet);
|
|
||||||
|
|
||||||
ioChannel.writeAndFlush(outPacket);
|
|
||||||
} finally {
|
|
||||||
announcerLock.unlock();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void sendPacket(Packet packet) {
|
public void sendPacket(Packet packet) {
|
||||||
announcerLock.lock();
|
announcerLock.lock();
|
||||||
try {
|
try {
|
||||||
ioChannel.writeAndFlush(packet.getBytes());
|
ioChannel.writeAndFlush(packet);
|
||||||
} finally {
|
} finally {
|
||||||
announcerLock.unlock();
|
announcerLock.unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void announceHint(String msg, int length) {
|
public void announceHint(String msg, int length) {
|
||||||
announce(PacketCreator.sendHint(msg, length, 10));
|
sendPacket(PacketCreator.sendHint(msg, length, 10));
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void changeChannel(int channel) {
|
public void changeChannel(int channel) {
|
||||||
@@ -1489,18 +1464,18 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!player.isAlive() || FieldLimit.CANNOTMIGRATE.check(player.getMap().getFieldLimit())) {
|
if (!player.isAlive() || FieldLimit.CANNOTMIGRATE.check(player.getMap().getFieldLimit())) {
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
} else if (MapleMiniDungeonInfo.isDungeonMap(player.getMapId())) {
|
} else if (MapleMiniDungeonInfo.isDungeonMap(player.getMapId())) {
|
||||||
announce(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
sendPacket(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] socket = Server.getInstance().getInetSocket(this, getWorld(), channel);
|
String[] socket = Server.getInstance().getInetSocket(this, getWorld(), channel);
|
||||||
if (socket == null) {
|
if (socket == null) {
|
||||||
announce(PacketCreator.serverNotice(1, "Channel " + channel + " is currently disabled. Try another channel."));
|
sendPacket(PacketCreator.serverNotice(1, "Channel " + channel + " is currently disabled. Try another channel."));
|
||||||
announce(PacketCreator.enableActions());
|
sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1531,7 +1506,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
|
|
||||||
player.setSessionTransitionState();
|
player.setSessionTransitionState();
|
||||||
try {
|
try {
|
||||||
announce(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
sendPacket(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -1587,7 +1562,7 @@ public class MapleClient extends ChannelInboundHandlerAdapter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void enableCSActions() {
|
public void enableCSActions() {
|
||||||
announce(PacketCreator.enableCSUse(player));
|
sendPacket(PacketCreator.enableCSUse(player));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canBypassPin() {
|
public boolean canBypassPin() {
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
package client;
|
package client;
|
||||||
|
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.world.World;
|
import net.server.world.World;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
@@ -151,16 +152,16 @@ public class MapleFamily {
|
|||||||
return members.get(cid);
|
return members.get(cid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcast(byte[] packet) {
|
public void broadcast(Packet packet) {
|
||||||
broadcast(packet, -1);
|
broadcast(packet, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcast(byte[] packet, int ignoreID) {
|
public void broadcast(Packet packet, int ignoreID) {
|
||||||
for(MapleFamilyEntry entry : members.values()) {
|
for(MapleFamilyEntry entry : members.values()) {
|
||||||
MapleCharacter chr = entry.getChr();
|
MapleCharacter chr = entry.getChr();
|
||||||
if(chr != null) {
|
if(chr != null) {
|
||||||
if(chr.getId() == ignoreID) continue;
|
if(chr.getId() == ignoreID) continue;
|
||||||
chr.getClient().announce(packet);
|
chr.sendPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -169,7 +170,7 @@ public class MapleFamily {
|
|||||||
for(MapleFamilyEntry entry : members.values()) {
|
for(MapleFamilyEntry entry : members.values()) {
|
||||||
MapleCharacter chr = entry.getChr();
|
MapleCharacter chr = entry.getChr();
|
||||||
if(chr != null) {
|
if(chr != null) {
|
||||||
chr.getClient().announce(PacketCreator.getFamilyInfo(entry));
|
chr.sendPacket(PacketCreator.getFamilyInfo(entry));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
package client;
|
package client;
|
||||||
|
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.FilePrinter;
|
import tools.FilePrinter;
|
||||||
@@ -264,7 +265,7 @@ public class MapleFamilyEntry {
|
|||||||
this.totalReputation += gain;
|
this.totalReputation += gain;
|
||||||
}
|
}
|
||||||
MapleCharacter chr = getChr();
|
MapleCharacter chr = getChr();
|
||||||
if(chr != null) chr.announce(PacketCreator.sendGainRep(gain, from != null ? from.getName() : ""));
|
if(chr != null) chr.sendPacket(PacketCreator.sendGainRep(gain, from != null ? from.getName() : ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void giveReputationToSenior(int gain, boolean includeSuperSenior) {
|
public void giveReputationToSenior(int gain, boolean includeSuperSenior) {
|
||||||
@@ -420,15 +421,15 @@ public class MapleFamilyEntry {
|
|||||||
this.totalJuniors = totalJuniors;
|
this.totalJuniors = totalJuniors;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void announceToSenior(byte[] packet, boolean includeSuperSenior) {
|
public void announceToSenior(Packet packet, boolean includeSuperSenior) {
|
||||||
MapleFamilyEntry senior = getSenior();
|
MapleFamilyEntry senior = getSenior();
|
||||||
if(senior != null) {
|
if(senior != null) {
|
||||||
MapleCharacter seniorChr = senior.getChr();
|
MapleCharacter seniorChr = senior.getChr();
|
||||||
if(seniorChr != null) seniorChr.announce(packet);
|
if(seniorChr != null) seniorChr.sendPacket(packet);
|
||||||
senior = senior.getSenior();
|
senior = senior.getSenior();
|
||||||
if(includeSuperSenior && senior != null) {
|
if(includeSuperSenior && senior != null) {
|
||||||
seniorChr = senior.getChr();
|
seniorChr = senior.getChr();
|
||||||
if(seniorChr != null) seniorChr.announce(packet);
|
if(seniorChr != null) seniorChr.sendPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -437,11 +438,11 @@ public class MapleFamilyEntry {
|
|||||||
MapleFamilyEntry senior = getSenior();
|
MapleFamilyEntry senior = getSenior();
|
||||||
if(senior != null) {
|
if(senior != null) {
|
||||||
MapleCharacter seniorChr = senior.getChr();
|
MapleCharacter seniorChr = senior.getChr();
|
||||||
if(seniorChr != null) seniorChr.announce(PacketCreator.getFamilyInfo(senior));
|
if(seniorChr != null) seniorChr.sendPacket(PacketCreator.getFamilyInfo(senior));
|
||||||
senior = senior.getSenior();
|
senior = senior.getSenior();
|
||||||
if(includeSuperSenior && senior != null) {
|
if(includeSuperSenior && senior != null) {
|
||||||
seniorChr = senior.getChr();
|
seniorChr = senior.getChr();
|
||||||
if(seniorChr != null) seniorChr.announce(PacketCreator.getFamilyInfo(senior));
|
if(seniorChr != null) seniorChr.sendPacket(PacketCreator.getFamilyInfo(senior));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,10 +84,10 @@ public final class MonsterBook {
|
|||||||
calculateLevel();
|
calculateLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.addCard(false, cardid, qty + 1));
|
c.sendPacket(PacketCreator.addCard(false, cardid, qty + 1));
|
||||||
c.announce(PacketCreator.showGainCard());
|
c.sendPacket(PacketCreator.showGainCard());
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.addCard(true, cardid, 5));
|
c.sendPacket(PacketCreator.addCard(true, cardid, 5));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class DisposeCommand extends Command {
|
|||||||
public void execute(MapleClient c, String[] params) {
|
public void execute(MapleClient c, String[] params) {
|
||||||
NPCScriptManager.getInstance().dispose(c);
|
NPCScriptManager.getInstance().dispose(c);
|
||||||
QuestScriptManager.getInstance().dispose(c);
|
QuestScriptManager.getInstance().dispose(c);
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
c.removeClickedNPC();
|
c.removeClickedNPC();
|
||||||
c.getPlayer().message("You've been disposed.");
|
c.getPlayer().message("You've been disposed.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import client.MapleCharacter;
|
|||||||
import client.MapleClient;
|
import client.MapleClient;
|
||||||
import client.command.Command;
|
import client.command.Command;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import tools.PacketCreator;
|
import net.server.guild.GuildPackets;
|
||||||
import tools.Pair;
|
import tools.Pair;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -42,6 +42,6 @@ public class RanksCommand extends Command {
|
|||||||
MapleCharacter player = c.getPlayer();
|
MapleCharacter player = c.getPlayer();
|
||||||
|
|
||||||
List<Pair<String, Integer>> worldRanking = Server.getInstance().getWorldPlayerRanking(player.getWorld());
|
List<Pair<String, Integer>> worldRanking = Server.getInstance().getWorldPlayerRanking(player.getWorld());
|
||||||
player.announce(PacketCreator.showPlayerRanks(9010000, worldRanking));
|
player.sendPacket(GuildPackets.showPlayerRanks(9010000, worldRanking));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,15 +73,15 @@ public class BanCommand extends Command {
|
|||||||
target.ban(reason);
|
target.ban(reason);
|
||||||
target.yellowMessage("You have been banned by #b" + c.getPlayer().getName() + " #k.");
|
target.yellowMessage("You have been banned by #b" + c.getPlayer().getName() + " #k.");
|
||||||
target.yellowMessage("Reason: " + reason);
|
target.yellowMessage("Reason: " + reason);
|
||||||
c.announce(PacketCreator.getGMEffect(4, (byte) 0));
|
c.sendPacket(PacketCreator.getGMEffect(4, (byte) 0));
|
||||||
final MapleCharacter rip = target;
|
final MapleCharacter rip = target;
|
||||||
TimerManager.getInstance().schedule(() -> rip.getClient().disconnect(false, false), 5000); //5 Seconds
|
TimerManager.getInstance().schedule(() -> rip.getClient().disconnect(false, false), 5000); //5 Seconds
|
||||||
Server.getInstance().broadcastMessage(c.getWorld(), PacketCreator.serverNotice(6, "[RIP]: " + ign + " has been banned."));
|
Server.getInstance().broadcastMessage(c.getWorld(), PacketCreator.serverNotice(6, "[RIP]: " + ign + " has been banned."));
|
||||||
} else if (MapleCharacter.ban(ign, reason, false)) {
|
} else if (MapleCharacter.ban(ign, reason, false)) {
|
||||||
c.announce(PacketCreator.getGMEffect(4, (byte) 0));
|
c.sendPacket(PacketCreator.getGMEffect(4, (byte) 0));
|
||||||
Server.getInstance().broadcastMessage(c.getWorld(), PacketCreator.serverNotice(6, "[RIP]: " + ign + " has been banned."));
|
Server.getInstance().broadcastMessage(c.getWorld(), PacketCreator.serverNotice(6, "[RIP]: " + ign + " has been banned."));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.getGMEffect(6, (byte) 1));
|
c.sendPacket(PacketCreator.getGMEffect(6, (byte) 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,6 @@ public class MaxEnergyCommand extends Command {
|
|||||||
public void execute(MapleClient c, String[] params) {
|
public void execute(MapleClient c, String[] params) {
|
||||||
MapleCharacter player = c.getPlayer();
|
MapleCharacter player = c.getPlayer();
|
||||||
c.getPlayer().setDojoEnergy(10000);
|
c.getPlayer().setDojoEnergy(10000);
|
||||||
c.announce(PacketCreator.getEnergy("energy", 10000));
|
c.sendPacket(PacketCreator.getEnergy("energy", 10000));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class MusicCommand extends Command {
|
|||||||
sendMsg += "Syntax: #r!music <song>#k\r\n\r\n";
|
sendMsg += "Syntax: #r!music <song>#k\r\n\r\n";
|
||||||
sendMsg += getSongList();
|
sendMsg += getSongList();
|
||||||
|
|
||||||
c.announce(PacketCreator.getNPCTalk(1052015, (byte) 0, sendMsg, "00 00", (byte) 0));
|
c.sendPacket(PacketCreator.getNPCTalk(1052015, (byte) 0, sendMsg, "00 00", (byte) 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,6 +70,6 @@ public class MusicCommand extends Command {
|
|||||||
sendMsg += "Song not found, please enter a song below.\r\n\r\n";
|
sendMsg += "Song not found, please enter a song below.\r\n\r\n";
|
||||||
sendMsg += getSongList();
|
sendMsg += getSongList();
|
||||||
|
|
||||||
c.announce(PacketCreator.getNPCTalk(1052015, (byte) 0, sendMsg, "00 00", (byte) 0));
|
c.sendPacket(PacketCreator.getNPCTalk(1052015, (byte) 0, sendMsg, "00 00", (byte) 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ public class TimerAllCommand extends Command {
|
|||||||
|
|
||||||
if (params[0].equalsIgnoreCase("remove")) {
|
if (params[0].equalsIgnoreCase("remove")) {
|
||||||
for (MapleCharacter victim : player.getWorldServer().getPlayerStorage().getAllCharacters()) {
|
for (MapleCharacter victim : player.getWorldServer().getPlayerStorage().getAllCharacters()) {
|
||||||
victim.announce(PacketCreator.removeClock());
|
victim.sendPacket(PacketCreator.removeClock());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
int seconds = Integer.parseInt(params[0]);
|
int seconds = Integer.parseInt(params[0]);
|
||||||
for (MapleCharacter victim : player.getWorldServer().getPlayerStorage().getAllCharacters()) {
|
for (MapleCharacter victim : player.getWorldServer().getPlayerStorage().getAllCharacters()) {
|
||||||
victim.announce(PacketCreator.getClock(seconds));
|
victim.sendPacket(PacketCreator.getClock(seconds));
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
player.yellowMessage("Syntax: !timerall <seconds>|remove");
|
player.yellowMessage("Syntax: !timerall <seconds>|remove");
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ public class TimerCommand extends Command {
|
|||||||
MapleCharacter victim = c.getWorldServer().getPlayerStorage().getCharacterByName(params[0]);
|
MapleCharacter victim = c.getWorldServer().getPlayerStorage().getCharacterByName(params[0]);
|
||||||
if (victim != null) {
|
if (victim != null) {
|
||||||
if (params[1].equalsIgnoreCase("remove")) {
|
if (params[1].equalsIgnoreCase("remove")) {
|
||||||
victim.announce(PacketCreator.removeClock());
|
victim.sendPacket(PacketCreator.removeClock());
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
victim.announce(PacketCreator.getClock(Integer.parseInt(params[1])));
|
victim.sendPacket(PacketCreator.getClock(Integer.parseInt(params[1])));
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
player.yellowMessage("Syntax: !timer <playername> <seconds>|remove");
|
player.yellowMessage("Syntax: !timer <playername> <seconds>|remove");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,13 +43,13 @@ public class TimerMapCommand extends Command {
|
|||||||
|
|
||||||
if (params[0].equalsIgnoreCase("remove")) {
|
if (params[0].equalsIgnoreCase("remove")) {
|
||||||
for (MapleCharacter victim : player.getMap().getCharacters()) {
|
for (MapleCharacter victim : player.getMap().getCharacters()) {
|
||||||
victim.announce(PacketCreator.removeClock());
|
victim.sendPacket(PacketCreator.removeClock());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
int seconds = Integer.parseInt(params[0]);
|
int seconds = Integer.parseInt(params[0]);
|
||||||
for (MapleCharacter victim : player.getMap().getCharacters()) {
|
for (MapleCharacter victim : player.getMap().getCharacters()) {
|
||||||
victim.announce(PacketCreator.getClock(seconds));
|
victim.sendPacket(PacketCreator.getClock(seconds));
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
player.yellowMessage("Syntax: !timermap <seconds>|remove");
|
player.yellowMessage("Syntax: !timermap <seconds>|remove");
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public class WarpWorldCommand extends Command {
|
|||||||
player.setSessionTransitionState();
|
player.setSessionTransitionState();
|
||||||
player.setWorld(worldb);
|
player.setWorld(worldb);
|
||||||
player.saveCharToDB();//To set the new world :O (true because else 2 player instances are created, one in both worlds)
|
player.saveCharToDB();//To set the new world :O (true because else 2 player instances are created, one in both worlds)
|
||||||
c.announce(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
c.sendPacket(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
||||||
} catch (UnknownHostException | NumberFormatException ex) {
|
} catch (UnknownHostException | NumberFormatException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
player.message("Unexpected error when changing worlds, are you sure the world you are trying to warp to has the same amount of channels?");
|
player.message("Unexpected error when changing worlds, are you sure the world you are trying to warp to has the same amount of channels?");
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public abstract class CharacterFactory {
|
|||||||
if (!newchar.insertNewChar(recipe)) {
|
if (!newchar.insertNewChar(recipe)) {
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.addNewCharEntry(newchar));
|
c.sendPacket(PacketCreator.addNewCharEntry(newchar));
|
||||||
|
|
||||||
Server.getInstance().createCharacterEntry(newchar);
|
Server.getInstance().createCharacterEntry(newchar);
|
||||||
Server.getInstance().broadcastGMMessage(c.getWorld(), PacketCreator.sendYellowTip("[New Char]: " + c.getAccountName() + " has created a new character with IGN " + name));
|
Server.getInstance().broadcastGMMessage(c.getWorld(), PacketCreator.sendYellowTip("[New Char]: " + c.getAccountName() + " has created a new character with IGN " + name));
|
||||||
|
|||||||
@@ -532,8 +532,8 @@ public class Equip extends Item {
|
|||||||
showLevelupMessage(showStr, c); // thanks to Polaris dev team !
|
showLevelupMessage(showStr, c); // thanks to Polaris dev team !
|
||||||
c.getPlayer().dropMessage(6, lvupStr);
|
c.getPlayer().dropMessage(6, lvupStr);
|
||||||
|
|
||||||
c.announce(PacketCreator.showEquipmentLevelUp());
|
c.sendPacket(PacketCreator.showEquipmentLevelUp());
|
||||||
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.showForeignEffect(c.getPlayer().getId(), 15));
|
c.getPlayer().getMap().broadcastPacket(c.getPlayer(), PacketCreator.showForeignEffect(c.getPlayer().getId(), 15));
|
||||||
c.getPlayer().forceUpdateItem(this);
|
c.getPlayer().forceUpdateItem(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ public class MaplePet extends Item {
|
|||||||
closeness = newCloseness;
|
closeness = newCloseness;
|
||||||
while(newCloseness >= ExpTable.getClosenessNeededForLevel(level)) {
|
while(newCloseness >= ExpTable.getClosenessNeededForLevel(level)) {
|
||||||
level += 1;
|
level += 1;
|
||||||
owner.getClient().announce(PacketCreator.showOwnPetLevelUp(slot));
|
owner.sendPacket(PacketCreator.showOwnPetLevelUp(slot));
|
||||||
owner.getMap().broadcastMessage(PacketCreator.showPetLevelUp(owner, slot));
|
owner.getMap().broadcastMessage(PacketCreator.showPetLevelUp(owner, slot));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ public class MapleInventoryManipulator {
|
|||||||
quantity -= (newQ - oldQ);
|
quantity -= (newQ - oldQ);
|
||||||
eItem.setQuantity(newQ);
|
eItem.setQuantity(newQ);
|
||||||
eItem.setExpiration(expiration);
|
eItem.setExpiration(expiration);
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, eItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, eItem))));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
@@ -109,17 +109,17 @@ public class MapleInventoryManipulator {
|
|||||||
nItem.setExpiration(expiration);
|
nItem.setExpiration(expiration);
|
||||||
short newSlot = inv.addItem(nItem);
|
short newSlot = inv.addItem(nItem);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (owner != null) {
|
if (owner != null) {
|
||||||
nItem.setOwner(owner);
|
nItem.setOwner(owner);
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
||||||
if(sandboxItem) chr.setHasSandboxItem();
|
if(sandboxItem) chr.setHasSandboxItem();
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -129,11 +129,11 @@ public class MapleInventoryManipulator {
|
|||||||
nItem.setExpiration(expiration);
|
nItem.setExpiration(expiration);
|
||||||
short newSlot = inv.addItem(nItem);
|
short newSlot = inv.addItem(nItem);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
||||||
if(MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
if(MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
||||||
}
|
}
|
||||||
} else if (quantity == 1) {
|
} else if (quantity == 1) {
|
||||||
@@ -145,11 +145,11 @@ public class MapleInventoryManipulator {
|
|||||||
}
|
}
|
||||||
short newSlot = inv.addItem(nEquip);
|
short newSlot = inv.addItem(nEquip);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nEquip))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nEquip))));
|
||||||
if(MapleInventoryManipulator.isSandboxItem(nEquip)) chr.setHasSandboxItem();
|
if(MapleInventoryManipulator.isSandboxItem(nEquip)) chr.setHasSandboxItem();
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("Trying to create equip with non-one quantity");
|
throw new RuntimeException("Trying to create equip with non-one quantity");
|
||||||
@@ -182,8 +182,8 @@ public class MapleInventoryManipulator {
|
|||||||
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
|
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
|
||||||
int itemid = item.getItemId();
|
int itemid = item.getItemId();
|
||||||
if (ii.isPickupRestricted(itemid) && chr.haveItemWithId(itemid, true)) {
|
if (ii.isPickupRestricted(itemid) && chr.haveItemWithId(itemid, true)) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.showItemUnavailable());
|
c.sendPacket(PacketCreator.showItemUnavailable());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
short quantity = item.getQuantity();
|
short quantity = item.getQuantity();
|
||||||
@@ -203,7 +203,7 @@ public class MapleInventoryManipulator {
|
|||||||
quantity -= (newQ - oldQ);
|
quantity -= (newQ - oldQ);
|
||||||
eItem.setQuantity(newQ);
|
eItem.setQuantity(newQ);
|
||||||
item.setPosition(eItem.getPosition());
|
item.setPosition(eItem.getPosition());
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, eItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, eItem))));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
@@ -219,14 +219,14 @@ public class MapleInventoryManipulator {
|
|||||||
nItem.setFlag(item.getFlag());
|
nItem.setFlag(item.getFlag());
|
||||||
short newSlot = inv.addItem(nItem);
|
short newSlot = inv.addItem(nItem);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
item.setQuantity((short) (quantity + newQ));
|
item.setQuantity((short) (quantity + newQ));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
nItem.setPosition(newSlot);
|
nItem.setPosition(newSlot);
|
||||||
item.setPosition(newSlot);
|
item.setPosition(newSlot);
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
||||||
if (MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
if (MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -236,34 +236,34 @@ public class MapleInventoryManipulator {
|
|||||||
|
|
||||||
short newSlot = inv.addItem(nItem);
|
short newSlot = inv.addItem(nItem);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
nItem.setPosition(newSlot);
|
nItem.setPosition(newSlot);
|
||||||
item.setPosition(newSlot);
|
item.setPosition(newSlot);
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, nItem))));
|
||||||
if (MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
if (MapleInventoryManipulator.isSandboxItem(nItem)) chr.setHasSandboxItem();
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
} else if (quantity == 1) {
|
} else if (quantity == 1) {
|
||||||
short newSlot = inv.addItem(item);
|
short newSlot = inv.addItem(item);
|
||||||
if (newSlot == -1) {
|
if (newSlot == -1) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
item.setPosition(newSlot);
|
item.setPosition(newSlot);
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, item))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(0, item))));
|
||||||
if (MapleInventoryManipulator.isSandboxItem(item)) chr.setHasSandboxItem();
|
if (MapleInventoryManipulator.isSandboxItem(item)) chr.setHasSandboxItem();
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.ITEM, "Tried to pickup Equip id " + itemid + " containing more than 1 quantity --> " + quantity);
|
FilePrinter.printError(FilePrinter.ITEM, "Tried to pickup Equip id " + itemid + " containing more than 1 quantity --> " + quantity);
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.showItemUnavailable());
|
c.sendPacket(PacketCreator.showItemUnavailable());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (show) {
|
if (show) {
|
||||||
c.announce(PacketCreator.getShowItemGain(itemid, item.getQuantity()));
|
c.sendPacket(PacketCreator.getShowItemGain(itemid, item.getQuantity()));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -429,9 +429,9 @@ public class MapleInventoryManipulator {
|
|||||||
|
|
||||||
private static void announceModifyInventory(MapleClient c, Item item, boolean fromDrop, boolean allowZero) {
|
private static void announceModifyInventory(MapleClient c, Item item, boolean fromDrop, boolean allowZero) {
|
||||||
if (item.getQuantity() == 0 && !allowZero) {
|
if (item.getQuantity() == 0 && !allowZero) {
|
||||||
c.announce(PacketCreator.modifyInventory(fromDrop, Collections.singletonList(new ModifyInventory(3, item))));
|
c.sendPacket(PacketCreator.modifyInventory(fromDrop, Collections.singletonList(new ModifyInventory(3, item))));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.modifyInventory(fromDrop, Collections.singletonList(new ModifyInventory(1, item))));
|
c.sendPacket(PacketCreator.modifyInventory(fromDrop, Collections.singletonList(new ModifyInventory(1, item))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -498,7 +498,7 @@ public class MapleInventoryManipulator {
|
|||||||
} else {
|
} else {
|
||||||
mods.add(new ModifyInventory(2, source, src));
|
mods.add(new ModifyInventory(2, source, src));
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.modifyInventory(true, mods));
|
c.sendPacket(PacketCreator.modifyInventory(true, mods));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void equip(MapleClient c, short src, short dst) {
|
public static void equip(MapleClient c, short src, short dst) {
|
||||||
@@ -510,7 +510,7 @@ public class MapleInventoryManipulator {
|
|||||||
|
|
||||||
Equip source = (Equip) eqpInv.getItem(src);
|
Equip source = (Equip) eqpInv.getItem(src);
|
||||||
if (source == null || !ii.canWearEquipment(chr, source, dst)) {
|
if (source == null || !ii.canWearEquipment(chr, source, dst)) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
} else if ((((source.getItemId() >= 1902000 && source.getItemId() <= 1902002) || source.getItemId() == 1912000) && chr.isCygnus()) || ((source.getItemId() >= 1902005 && source.getItemId() <= 1902007) || source.getItemId() == 1912005) && !chr.isCygnus()) {// Adventurer taming equipment
|
} else if ((((source.getItemId() >= 1902000 && source.getItemId() <= 1902002) || source.getItemId() == 1912000) && chr.isCygnus()) || ((source.getItemId() >= 1902005 && source.getItemId() <= 1902007) || source.getItemId() == 1912005) && !chr.isCygnus()) {// Adventurer taming equipment
|
||||||
return;
|
return;
|
||||||
@@ -527,8 +527,8 @@ public class MapleInventoryManipulator {
|
|||||||
Item top = eqpdInv.getItem((short) -5);
|
Item top = eqpdInv.getItem((short) -5);
|
||||||
if (top != null && ItemConstants.isOverall(top.getItemId())) {
|
if (top != null && ItemConstants.isOverall(top.getItemId())) {
|
||||||
if (eqpInv.isFull()) {
|
if (eqpInv.isFull()) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
unequip(c, (byte) -5, eqpInv.getNextFreeSlot());
|
unequip(c, (byte) -5, eqpInv.getNextFreeSlot());
|
||||||
@@ -537,8 +537,8 @@ public class MapleInventoryManipulator {
|
|||||||
final Item bottom = eqpdInv.getItem((short) -6);
|
final Item bottom = eqpdInv.getItem((short) -6);
|
||||||
if (bottom != null && ItemConstants.isOverall(source.getItemId())) {
|
if (bottom != null && ItemConstants.isOverall(source.getItemId())) {
|
||||||
if (eqpInv.isFull()) {
|
if (eqpInv.isFull()) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
unequip(c, (byte) -6, eqpInv.getNextFreeSlot());
|
unequip(c, (byte) -6, eqpInv.getNextFreeSlot());
|
||||||
@@ -547,8 +547,8 @@ public class MapleInventoryManipulator {
|
|||||||
Item weapon = eqpdInv.getItem((short) -11);
|
Item weapon = eqpdInv.getItem((short) -11);
|
||||||
if (weapon != null && ii.isTwoHanded(weapon.getItemId())) {
|
if (weapon != null && ii.isTwoHanded(weapon.getItemId())) {
|
||||||
if (eqpInv.isFull()) {
|
if (eqpInv.isFull()) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
unequip(c, (byte) -11, eqpInv.getNextFreeSlot());
|
unequip(c, (byte) -11, eqpInv.getNextFreeSlot());
|
||||||
@@ -557,8 +557,8 @@ public class MapleInventoryManipulator {
|
|||||||
Item shield = eqpdInv.getItem((short) -10);
|
Item shield = eqpdInv.getItem((short) -10);
|
||||||
if (shield != null && ii.isTwoHanded(source.getItemId())) {
|
if (shield != null && ii.isTwoHanded(source.getItemId())) {
|
||||||
if (eqpInv.isFull()) {
|
if (eqpInv.isFull()) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
unequip(c, (byte) -10, eqpInv.getNextFreeSlot());
|
unequip(c, (byte) -10, eqpInv.getNextFreeSlot());
|
||||||
@@ -614,7 +614,7 @@ public class MapleInventoryManipulator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mods.add(new ModifyInventory(2, source, src));
|
mods.add(new ModifyInventory(2, source, src));
|
||||||
c.announce(PacketCreator.modifyInventory(true, mods));
|
c.sendPacket(PacketCreator.modifyInventory(true, mods));
|
||||||
chr.equipChanged();
|
chr.equipChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -632,7 +632,7 @@ public class MapleInventoryManipulator {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (target != null && src <= 0) {
|
if (target != null && src <= 0) {
|
||||||
c.announce(PacketCreator.getInventoryFull());
|
c.sendPacket(PacketCreator.getInventoryFull());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -656,7 +656,7 @@ public class MapleInventoryManipulator {
|
|||||||
target.setPosition(src);
|
target.setPosition(src);
|
||||||
eqpdInv.addItemFromDB(target);
|
eqpdInv.addItemFromDB(target);
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(2, source, src))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(2, source, src))));
|
||||||
chr.equipChanged();
|
chr.equipChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -712,7 +712,7 @@ public class MapleInventoryManipulator {
|
|||||||
Item target = source.copy();
|
Item target = source.copy();
|
||||||
target.setQuantity(quantity);
|
target.setQuantity(quantity);
|
||||||
source.setQuantity((short) (source.getQuantity() - quantity));
|
source.setQuantity((short) (source.getQuantity() - quantity));
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, source))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(1, source))));
|
||||||
|
|
||||||
if (ItemConstants.isNewYearCardEtc(itemId)) {
|
if (ItemConstants.isNewYearCardEtc(itemId)) {
|
||||||
if(itemId == 4300000) {
|
if(itemId == 4300000) {
|
||||||
@@ -742,7 +742,7 @@ public class MapleInventoryManipulator {
|
|||||||
inv.removeSlot(src);
|
inv.removeSlot(src);
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(3, source))));
|
c.sendPacket(PacketCreator.modifyInventory(true, Collections.singletonList(new ModifyInventory(3, source))));
|
||||||
if (src < 0) {
|
if (src < 0) {
|
||||||
chr.equipChanged();
|
chr.equipChanged();
|
||||||
} else if (ItemConstants.isNewYearCardEtc(itemId)) {
|
} else if (ItemConstants.isNewYearCardEtc(itemId)) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package client.keybind;
|
package client.keybind;
|
||||||
|
|
||||||
import tools.data.output.MaplePacketLittleEndianWriter;
|
import net.packet.OutPacket;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
@@ -31,25 +31,22 @@ public class MapleQuickslotBinding
|
|||||||
this.m_aQuickslotKeyMapped = aKeys.clone();
|
this.m_aQuickslotKeyMapped = aKeys.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Encode(MaplePacketLittleEndianWriter oPacket)
|
public void encode(OutPacket p)
|
||||||
{
|
{
|
||||||
// Quickslots are default.
|
// Quickslots are default.
|
||||||
// The client will skip them and call CQuickslotKeyMappedMan::DefaultQuickslotKeyMap.
|
// The client will skip them and call CQuickslotKeyMappedMan::DefaultQuickslotKeyMap.
|
||||||
if(Arrays.equals(this.m_aQuickslotKeyMapped, DEFAULT_QUICKSLOTS))
|
if (Arrays.equals(this.m_aQuickslotKeyMapped, DEFAULT_QUICKSLOTS)) {
|
||||||
{
|
p.writeBool(false);
|
||||||
oPacket.writeBool(false);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
oPacket.writeBool(true);
|
p.writeBool(true);
|
||||||
|
|
||||||
for(byte nKey : this.m_aQuickslotKeyMapped)
|
for(byte nKey : this.m_aQuickslotKeyMapped) {
|
||||||
{
|
|
||||||
// For some reason Nexon sends these as integers, similar to CFuncKeyMappedMan.
|
// For some reason Nexon sends these as integers, similar to CFuncKeyMappedMan.
|
||||||
// However there's no evidence any key can be above 0xFF anyhow.
|
// However there's no evidence any key can be above 0xFF anyhow.
|
||||||
// Regardless, we need to encode an integer to avoid an error 38 crash; as CFuncKeyMapped::m_aQuickslotKeyMapped is int[8].
|
// Regardless, we need to encode an integer to avoid an error 38 crash; as CFuncKeyMapped::m_aQuickslotKeyMapped is int[8].
|
||||||
oPacket.writeInt(nKey);
|
p.writeInt(nKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -257,7 +257,7 @@ public class NewYearCardRecord {
|
|||||||
|
|
||||||
MapleCharacter target = server.getWorld(world).getPlayerStorage().getCharacterById(receiverId);
|
MapleCharacter target = server.getWorld(world).getPlayerStorage().getCharacterById(receiverId);
|
||||||
if(target != null && target.isLoggedinWorld()) {
|
if(target != null && target.isLoggedinWorld()) {
|
||||||
target.announce(PacketCreator.onNewYearCardRes(target, NewYearCardRecord.this, 0xC, 0));
|
target.sendPacket(PacketCreator.onNewYearCardRes(target, NewYearCardRecord.this, 0xC, 0));
|
||||||
}
|
}
|
||||||
}, 1000 * 60 * 60); //1 Hour
|
}, 1000 * 60 * 60); //1 Hour
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class BuybackProcessor {
|
|||||||
map.broadcastMessage(PacketCreator.playSound("Buyback/" + jobString));
|
map.broadcastMessage(PacketCreator.playSound("Buyback/" + jobString));
|
||||||
map.broadcastMessage(PacketCreator.earnTitleMessage(chr.getName() + " just bought back into the game!"));
|
map.broadcastMessage(PacketCreator.earnTitleMessage(chr.getName() + " just bought back into the game!"));
|
||||||
|
|
||||||
chr.announce(PacketCreator.showBuybackEffect());
|
chr.sendPacket(PacketCreator.showBuybackEffect());
|
||||||
map.broadcastMessage(chr, PacketCreator.showForeignBuybackEffect(chr.getId()), false);
|
map.broadcastMessage(chr, PacketCreator.showForeignBuybackEffect(chr.getId()), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ public class MakerProcessor {
|
|||||||
int fromLeftover = toCreate;
|
int fromLeftover = toCreate;
|
||||||
toCreate = ii.getMakerCrystalFromLeftover(toCreate);
|
toCreate = ii.getMakerCrystalFromLeftover(toCreate);
|
||||||
if(toCreate == -1) {
|
if(toCreate == -1) {
|
||||||
c.announce(PacketCreator.serverNotice(1, ii.getName(fromLeftover) + " is unavailable for Monster Crystal conversion."));
|
c.sendPacket(PacketCreator.serverNotice(1, ii.getName(fromLeftover) + " is unavailable for Monster Crystal conversion."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,13 +83,13 @@ public class MakerProcessor {
|
|||||||
if(p != null) {
|
if(p != null) {
|
||||||
recipe = MakerItemFactory.generateDisassemblyCrystalEntry(toDisassemble, p.getLeft(), p.getRight());
|
recipe = MakerItemFactory.generateDisassemblyCrystalEntry(toDisassemble, p.getLeft(), p.getRight());
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.serverNotice(1, ii.getName(toCreate) + " is unavailable for Monster Crystal disassembly."));
|
c.sendPacket(PacketCreator.serverNotice(1, ii.getName(toCreate) + " is unavailable for Monster Crystal disassembly."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.serverNotice(1, "An unknown error occurred when trying to apply that item for disassembly."));
|
c.sendPacket(PacketCreator.serverNotice(1, "An unknown error occurred when trying to apply that item for disassembly."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -136,8 +136,8 @@ public class MakerProcessor {
|
|||||||
|
|
||||||
if(!reagentids.isEmpty()) {
|
if(!reagentids.isEmpty()) {
|
||||||
if(!removeOddMakerReagents(toCreate, reagentids)) {
|
if(!removeOddMakerReagents(toCreate, reagentids)) {
|
||||||
c.announce(PacketCreator.serverNotice(1, "You can only use WATK and MATK Strengthening Gems on weapon items."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You can only use WATK and MATK Strengthening Gems on weapon items."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -151,33 +151,33 @@ public class MakerProcessor {
|
|||||||
switch(createStatus) {
|
switch(createStatus) {
|
||||||
case -1:// non-available for Maker itemid has been tried to forge
|
case -1:// non-available for Maker itemid has been tried to forge
|
||||||
FilePrinter.printError(FilePrinter.EXPLOITS, "Player " + c.getPlayer().getName() + " tried to craft itemid " + toCreate + " using the Maker skill.");
|
FilePrinter.printError(FilePrinter.EXPLOITS, "Player " + c.getPlayer().getName() + " tried to craft itemid " + toCreate + " using the Maker skill.");
|
||||||
c.announce(PacketCreator.serverNotice(1, "The requested item could not be crafted on this operation."));
|
c.sendPacket(PacketCreator.serverNotice(1, "The requested item could not be crafted on this operation."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1: // no items
|
case 1: // no items
|
||||||
c.announce(PacketCreator.serverNotice(1, "You don't have all required items in your inventory to make " + ii.getName(toCreate) + "."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You don't have all required items in your inventory to make " + ii.getName(toCreate) + "."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2: // no meso
|
case 2: // no meso
|
||||||
c.announce(PacketCreator.serverNotice(1, "You don't have enough mesos (" + GameConstants.numberWithCommas(recipe.getCost()) + ") to complete this operation."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You don't have enough mesos (" + GameConstants.numberWithCommas(recipe.getCost()) + ") to complete this operation."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3: // no req level
|
case 3: // no req level
|
||||||
c.announce(PacketCreator.serverNotice(1, "You don't have enough level to complete this operation."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You don't have enough level to complete this operation."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 4: // no req skill level
|
case 4: // no req skill level
|
||||||
c.announce(PacketCreator.serverNotice(1, "You don't have enough Maker level to complete this operation."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You don't have enough Maker level to complete this operation."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5: // inventory full
|
case 5: // inventory full
|
||||||
c.announce(PacketCreator.serverNotice(1, "Your inventory is full."));
|
c.sendPacket(PacketCreator.serverNotice(1, "Your inventory is full."));
|
||||||
c.announce(PacketCreator.makerEnableActions());
|
c.sendPacket(PacketCreator.makerEnableActions());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -214,14 +214,14 @@ public class MakerProcessor {
|
|||||||
|
|
||||||
// thanks inhyuk for noticing missing MAKER_RESULT packets
|
// thanks inhyuk for noticing missing MAKER_RESULT packets
|
||||||
if (type == 3) {
|
if (type == 3) {
|
||||||
c.announce(PacketCreator.makerResultCrystal(recipe.getGainItems().get(0).getLeft(), recipe.getReqItems().get(0).getLeft()));
|
c.sendPacket(PacketCreator.makerResultCrystal(recipe.getGainItems().get(0).getLeft(), recipe.getReqItems().get(0).getLeft()));
|
||||||
} else if (type == 4) {
|
} else if (type == 4) {
|
||||||
c.announce(PacketCreator.makerResultDesynth(recipe.getReqItems().get(0).getLeft(), recipe.getCost(), recipe.getGainItems()));
|
c.sendPacket(PacketCreator.makerResultDesynth(recipe.getReqItems().get(0).getLeft(), recipe.getCost(), recipe.getGainItems()));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.makerResult(makerSucceeded, recipe.getGainItems().get(0).getLeft(), recipe.getGainItems().get(0).getRight(), recipe.getCost(), recipe.getReqItems(), stimulantid, new LinkedList<>(reagentids.keySet())));
|
c.sendPacket(PacketCreator.makerResult(makerSucceeded, recipe.getGainItems().get(0).getLeft(), recipe.getGainItems().get(0).getRight(), recipe.getCost(), recipe.getReqItems(), stimulantid, new LinkedList<>(reagentids.keySet())));
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.showMakerEffect(makerSucceeded));
|
c.sendPacket(PacketCreator.showMakerEffect(makerSucceeded));
|
||||||
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.showForeignMakerEffect(c.getPlayer().getId(), makerSucceeded), false);
|
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.showForeignMakerEffect(c.getPlayer().getId(), makerSucceeded), false);
|
||||||
|
|
||||||
if(toCreate == 4260003 && type == 3 && c.getPlayer().getQuestStatus(6033) == 1) {
|
if(toCreate == 4260003 && type == 3 && c.getPlayer().getQuestStatus(6033) == 1) {
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ public class PetAutopotProcessor {
|
|||||||
MapleClient c = this.c;
|
MapleClient c = this.c;
|
||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
if (!chr.isAlive()) {
|
if (!chr.isAlive()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ public class PetAutopotProcessor {
|
|||||||
toUse = useInv.getItem(slot);
|
toUse = useInv.getItem(slot);
|
||||||
if (toUse != null) {
|
if (toUse != null) {
|
||||||
if (toUse.getItemId() != itemId) {
|
if (toUse.getItemId() != itemId) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ public class PetAutopotProcessor {
|
|||||||
// from now on, toUse becomes the "cursor" for the current pot being used
|
// from now on, toUse becomes the "cursor" for the current pot being used
|
||||||
if (toUse.getQuantity() <= 0) {
|
if (toUse.getQuantity() <= 0) {
|
||||||
if (!cursorOnNextAvailablePot(chr)) {
|
if (!cursorOnNextAvailablePot(chr)) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -179,7 +179,7 @@ public class PetAutopotProcessor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class SpawnPetProcessor {
|
|||||||
{
|
{
|
||||||
if (chr.haveItem(petid + 1)) {
|
if (chr.haveItem(petid + 1)) {
|
||||||
chr.dropMessage(5, "You can't hatch your " + (petid == 5000028 ? "Dragon egg" : "Robo egg") + " if you already have a Baby " + (petid == 5000028 ? "Dragon." : "Robo."));
|
chr.dropMessage(5, "You can't hatch your " + (petid == 5000028 ? "Dragon egg" : "Robo egg") + " if you already have a Baby " + (petid == 5000028 ? "Dragon." : "Robo."));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
int evolveid = MapleDataTool.getInt("info/evol1", dataRoot.getData("Pet/" + petid + ".img"));
|
int evolveid = MapleDataTool.getInt("info/evol1", dataRoot.getData("Pet/" + petid + ".img"));
|
||||||
@@ -64,7 +64,7 @@ public class SpawnPetProcessor {
|
|||||||
MapleInventoryManipulator.removeById(c, MapleInventoryType.CASH, petid, (short) 1, false, false);
|
MapleInventoryManipulator.removeById(c, MapleInventoryType.CASH, petid, (short) 1, false, false);
|
||||||
MapleInventoryManipulator.addById(c, evolveid, (short) 1, null, petId, expiration);
|
MapleInventoryManipulator.addById(c, evolveid, (short) 1, null, petId, expiration);
|
||||||
|
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -86,8 +86,8 @@ public class SpawnPetProcessor {
|
|||||||
pet.saveToDb();
|
pet.saveToDb();
|
||||||
chr.addPet(pet);
|
chr.addPet(pet);
|
||||||
chr.getMap().broadcastMessage(c.getPlayer(), PacketCreator.showPet(c.getPlayer(), pet, false, false), true);
|
chr.getMap().broadcastMessage(c.getPlayer(), PacketCreator.showPet(c.getPlayer(), pet, false, false), true);
|
||||||
c.announce(PacketCreator.petStatUpdate(c.getPlayer()));
|
c.sendPacket(PacketCreator.petStatUpdate(c.getPlayer()));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
|
|
||||||
chr.commitExcludedItems();
|
chr.commitExcludedItems();
|
||||||
chr.getClient().getWorldServer().registerPetHunger(chr, chr.getPetIndex(pet));
|
chr.getClient().getWorldServer().registerPetHunger(chr, chr.getPetIndex(pet));
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ public class DueyProcessor {
|
|||||||
ps2.setInt(1, player.getId());
|
ps2.setInt(1, player.getId());
|
||||||
ps2.executeUpdate();
|
ps2.executeUpdate();
|
||||||
|
|
||||||
c.announce(PacketCreator.sendDueyParcelReceived(rs.getString("SenderName"), rs.getInt("Type") == 1));
|
c.sendPacket(PacketCreator.sendDueyParcelReceived(rs.getString("SenderName"), rs.getInt("Type") == 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -305,21 +305,21 @@ public class DueyProcessor {
|
|||||||
int recipientAccId = accIdCid.getLeft();
|
int recipientAccId = accIdCid.getLeft();
|
||||||
if (recipientAccId != -1) {
|
if (recipientAccId != -1) {
|
||||||
if (recipientAccId == c.getAccID()) {
|
if (recipientAccId == c.getAccID()) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_SAMEACC_ERROR.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_SAMEACC_ERROR.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NAME_DOES_NOT_EXIST.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NAME_DOES_NOT_EXIST.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NOT_ENOUGH_MESOS.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NOT_ENOUGH_MESOS.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int recipientCid = accIdCid.getRight();
|
int recipientCid = accIdCid.getRight();
|
||||||
if (recipientCid == -1) {
|
if (recipientCid == -1) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NAME_DOES_NOT_EXIST.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_NAME_DOES_NOT_EXIST.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,18 +329,18 @@ public class DueyProcessor {
|
|||||||
|
|
||||||
int packageId = createPackage(sendMesos, sendMessage, c.getPlayer().getName(), recipientCid, quick);
|
int packageId = createPackage(sendMesos, sendMessage, c.getPlayer().getName(), recipientCid, quick);
|
||||||
if (packageId == -1) {
|
if (packageId == -1) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_ENABLE_ACTIONS.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_ENABLE_ACTIONS.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
c.getPlayer().gainMeso((int) -finalcost, false);
|
c.getPlayer().gainMeso((int) -finalcost, false);
|
||||||
|
|
||||||
int res = addPackageItemFromInventory(packageId, c, invTypeId, itemPos, amount);
|
int res = addPackageItemFromInventory(packageId, c, invTypeId, itemPos, amount);
|
||||||
if (res == 0) {
|
if (res == 0) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_SUCCESSFULLY_SENT.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_SUCCESSFULLY_SENT.getCode()));
|
||||||
} else if (res > 0) {
|
} else if (res > 0) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_ENABLE_ACTIONS.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_ENABLE_ACTIONS.getCode()));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_INCORRECT_REQUEST.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(DueyProcessor.Actions.TOCLIENT_SEND_INCORRECT_REQUEST.getCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
MapleClient rClient = null;
|
MapleClient rClient = null;
|
||||||
@@ -368,7 +368,7 @@ public class DueyProcessor {
|
|||||||
if (c.tryacquireClient()) {
|
if (c.tryacquireClient()) {
|
||||||
try {
|
try {
|
||||||
removePackageFromDB(packageid);
|
removePackageFromDB(packageid);
|
||||||
c.announce(PacketCreator.removeItemFromDuey(playerRemove, packageid));
|
c.sendPacket(PacketCreator.removeItemFromDuey(playerRemove, packageid));
|
||||||
} finally {
|
} finally {
|
||||||
c.releaseClient();
|
c.releaseClient();
|
||||||
}
|
}
|
||||||
@@ -392,29 +392,29 @@ public class DueyProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dp == null) {
|
if (dp == null) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
||||||
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to receive package from duey with id " + packageId);
|
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to receive package from duey with id " + packageId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dp.isDeliveringTime()) {
|
if (dp.isDeliveringTime()) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Item dpItem = dp.getItem();
|
Item dpItem = dp.getItem();
|
||||||
if (dpItem != null) {
|
if (dpItem != null) {
|
||||||
if (!c.getPlayer().canHoldMeso(dp.getMesos())) {
|
if (!c.getPlayer().canHoldMeso(dp.getMesos())) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_UNKNOWN_ERROR.getCode()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!MapleInventoryManipulator.checkSpace(c, dpItem.getItemId(), dpItem.getQuantity(), dpItem.getOwner())) {
|
if (!MapleInventoryManipulator.checkSpace(c, dpItem.getItemId(), dpItem.getQuantity(), dpItem.getOwner())) {
|
||||||
int itemid = dpItem.getItemId();
|
int itemid = dpItem.getItemId();
|
||||||
if (MapleItemInformationProvider.getInstance().isPickupRestricted(itemid) && c.getPlayer().getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) != null) {
|
if (MapleItemInformationProvider.getInstance().isPickupRestricted(itemid) && c.getPlayer().getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) != null) {
|
||||||
c.announce(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_RECEIVER_WITH_UNIQUE.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_RECEIVER_WITH_UNIQUE.getCode()));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_NO_FREE_SLOTS.getCode()));
|
c.sendPacket(PacketCreator.sendDueyMSG(Actions.TOCLIENT_RECV_NO_FREE_SLOTS.getCode()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -440,15 +440,15 @@ public class DueyProcessor {
|
|||||||
try {
|
try {
|
||||||
long timeNow = System.currentTimeMillis();
|
long timeNow = System.currentTimeMillis();
|
||||||
if (timeNow - c.getPlayer().getNpcCooldown() < YamlConfig.config.server.BLOCK_NPC_RACE_CONDT) {
|
if (timeNow - c.getPlayer().getNpcCooldown() < YamlConfig.config.server.BLOCK_NPC_RACE_CONDT) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
c.getPlayer().setNpcCooldown(timeNow);
|
c.getPlayer().setNpcCooldown(timeNow);
|
||||||
|
|
||||||
if (quickDelivery) {
|
if (quickDelivery) {
|
||||||
c.announce(PacketCreator.sendDuey(0x1A, null));
|
c.sendPacket(PacketCreator.sendDuey(0x1A, null));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendDuey(0x8, loadPackages(c.getPlayer())));
|
c.sendPacket(PacketCreator.sendDuey(0x8, loadPackages(c.getPlayer())));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
c.releaseClient();
|
c.releaseClient();
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ public class FredrickProcessor {
|
|||||||
|
|
||||||
byte response = canRetrieveFromFredrick(chr, items);
|
byte response = canRetrieveFromFredrick(chr, items);
|
||||||
if (response != 0) {
|
if (response != 0) {
|
||||||
chr.announce(PacketCreator.fredrickMessage(response));
|
chr.sendPacket(PacketCreator.fredrickMessage(response));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ public class FredrickProcessor {
|
|||||||
FilePrinter.print(FilePrinter.FREDRICK + chr.getName() + ".txt", chr.getName() + " gained " + item.getQuantity() + " " + itemName + " (" + item.getItemId() + ")");
|
FilePrinter.print(FilePrinter.FREDRICK + chr.getName() + ".txt", chr.getName() + " gained " + item.getQuantity() + " " + itemName + " (" + item.getItemId() + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
chr.announce(PacketCreator.fredrickMessage((byte) 0x1E));
|
chr.sendPacket(PacketCreator.fredrickMessage((byte) 0x1E));
|
||||||
removeFredrickLog(chr.getId());
|
removeFredrickLog(chr.getId());
|
||||||
} else {
|
} else {
|
||||||
chr.message("An unknown error has occured.");
|
chr.message("An unknown error has occured.");
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class StorageProcessor {
|
|||||||
|
|
||||||
if (chr.getLevel() < 15){
|
if (chr.getLevel() < 15){
|
||||||
chr.dropMessage(1, "You may only use the storage once you have reached level 15.");
|
chr.dropMessage(1, "You may only use the storage once you have reached level 15.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,13 +71,13 @@ public class StorageProcessor {
|
|||||||
Item item = storage.getItem(slot);
|
Item item = storage.getItem(slot);
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
if (ii.isPickupRestricted(item.getItemId()) && chr.haveItemWithId(item.getItemId(), true)) {
|
if (ii.isPickupRestricted(item.getItemId()) && chr.haveItemWithId(item.getItemId(), true)) {
|
||||||
c.announce(PacketCreator.getStorageError((byte) 0x0C));
|
c.sendPacket(PacketCreator.getStorageError((byte) 0x0C));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int takeoutFee = storage.getTakeOutFee();
|
int takeoutFee = storage.getTakeOutFee();
|
||||||
if (chr.getMeso() < takeoutFee) {
|
if (chr.getMeso() < takeoutFee) {
|
||||||
c.announce(PacketCreator.getStorageError((byte) 0x0B));
|
c.sendPacket(PacketCreator.getStorageError((byte) 0x0B));
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
chr.gainMeso(-takeoutFee, false);
|
chr.gainMeso(-takeoutFee, false);
|
||||||
@@ -95,11 +95,11 @@ public class StorageProcessor {
|
|||||||
|
|
||||||
storage.sendTakenOut(c, item.getInventoryType());
|
storage.sendTakenOut(c, item.getInventoryType());
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.getStorageError((byte) 0x0A));
|
c.sendPacket(PacketCreator.getStorageError((byte) 0x0A));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (mode == 5) { // store
|
} else if (mode == 5) { // store
|
||||||
@@ -115,17 +115,17 @@ public class StorageProcessor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (quantity < 1) {
|
if (quantity < 1) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (storage.isFull()) {
|
if (storage.isFull()) {
|
||||||
c.announce(PacketCreator.getStorageError((byte) 0x11));
|
c.sendPacket(PacketCreator.getStorageError((byte) 0x11));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int storeFee = storage.getStoreFee();
|
int storeFee = storage.getStoreFee();
|
||||||
if (chr.getMeso() < storeFee) {
|
if (chr.getMeso() < storeFee) {
|
||||||
c.announce(PacketCreator.getStorageError((byte) 0x0B));
|
c.sendPacket(PacketCreator.getStorageError((byte) 0x0B));
|
||||||
} else {
|
} else {
|
||||||
Item item;
|
Item item;
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@ public class StorageProcessor {
|
|||||||
item = inv.getItem(slot);
|
item = inv.getItem(slot);
|
||||||
if (item != null && item.getItemId() == itemId && (item.getQuantity() >= quantity || ItemConstants.isRechargeable(itemId))) {
|
if (item != null && item.getItemId() == itemId && (item.getQuantity() >= quantity || ItemConstants.isRechargeable(itemId))) {
|
||||||
if (ItemConstants.isWeddingRing(itemId) || ItemConstants.isWeddingToken(itemId)) {
|
if (ItemConstants.isWeddingRing(itemId) || ItemConstants.isWeddingToken(itemId)) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,7 +144,7 @@ public class StorageProcessor {
|
|||||||
|
|
||||||
MapleInventoryManipulator.removeFromSlot(c, invType, slot, quantity, false);
|
MapleInventoryManipulator.removeFromSlot(c, invType, slot, quantity, false);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,7 +168,7 @@ public class StorageProcessor {
|
|||||||
}
|
}
|
||||||
} else if (mode == 6) { // arrange items
|
} else if (mode == 6) { // arrange items
|
||||||
if(YamlConfig.config.server.USE_STORAGE_ITEM_SORT) storage.arrangeItems(c);
|
if(YamlConfig.config.server.USE_STORAGE_ITEM_SORT) storage.arrangeItems(c);
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else if (mode == 7) { // meso
|
} else if (mode == 7) { // meso
|
||||||
int meso = slea.readInt();
|
int meso = slea.readInt();
|
||||||
int storageMesos = storage.getMeso();
|
int storageMesos = storage.getMeso();
|
||||||
@@ -177,13 +177,13 @@ public class StorageProcessor {
|
|||||||
if (meso < 0 && (storageMesos - meso) < 0) {
|
if (meso < 0 && (storageMesos - meso) < 0) {
|
||||||
meso = Integer.MIN_VALUE + storageMesos;
|
meso = Integer.MIN_VALUE + storageMesos;
|
||||||
if (meso < playerMesos) {
|
if (meso < playerMesos) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (meso > 0 && (playerMesos + meso) < 0) {
|
} else if (meso > 0 && (playerMesos + meso) < 0) {
|
||||||
meso = Integer.MAX_VALUE - playerMesos;
|
meso = Integer.MAX_VALUE - playerMesos;
|
||||||
if (meso > storageMesos) {
|
if (meso > storageMesos) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -193,7 +193,7 @@ public class StorageProcessor {
|
|||||||
FilePrinter.print(FilePrinter.STORAGE + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + (meso > 0 ? " took out " : " stored ") + Math.abs(meso) + " mesos");
|
FilePrinter.print(FilePrinter.STORAGE + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + (meso > 0 ? " took out " : " stored ") + Math.abs(meso) + " mesos");
|
||||||
storage.sendMeso(c);
|
storage.sendMeso(c);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (mode == 8) {// close... unless the player decides to enter cash shop!
|
} else if (mode == 8) {// close... unless the player decides to enter cash shop!
|
||||||
|
|||||||
@@ -329,11 +329,11 @@ public class AssignAPProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
chr.assignStrDexIntLuk(statGain[0], statGain[1], statGain[3], statGain[2]);
|
chr.assignStrDexIntLuk(statGain[0], statGain[1], statGain[3], statGain[2]);
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
c.announce(PacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + statGain[0] + "\r\nDEX: +" + statGain[1] + "\r\nINT: +" + statGain[3] + "\r\nLUK: +" + statGain[2]));
|
c.sendPacket(PacketCreator.serverNotice(1, "Better AP applications detected:\r\nSTR: +" + statGain[0] + "\r\nDEX: +" + statGain[1] + "\r\nINT: +" + statGain[3] + "\r\nLUK: +" + statGain[2]));
|
||||||
} else {
|
} else {
|
||||||
if(slea.available() < 16) {
|
if(slea.available() < 16) {
|
||||||
AutobanFactory.PACKET_EDIT.alert(chr, "Didn't send full packet for Auto Assign.");
|
AutobanFactory.PACKET_EDIT.alert(chr, "Didn't send full packet for Auto Assign.");
|
||||||
@@ -353,7 +353,7 @@ public class AssignAPProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
chr.assignStrDexIntLuk(statGain[0], statGain[1], statGain[3], statGain[2]);
|
chr.assignStrDexIntLuk(statGain[0], statGain[1], statGain[3], statGain[2]);
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
c.unlockClient();
|
c.unlockClient();
|
||||||
@@ -426,48 +426,48 @@ public class AssignAPProcessor {
|
|||||||
case 64: // str
|
case 64: // str
|
||||||
if (player.getStr() < 5) {
|
if (player.getStr() < 5) {
|
||||||
player.message("You don't have the minimum STR required to swap.");
|
player.message("You don't have the minimum STR required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!player.assignStr(-1)) {
|
if (!player.assignStr(-1)) {
|
||||||
player.message("Couldn't execute AP reset operation.");
|
player.message("Couldn't execute AP reset operation.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 128: // dex
|
case 128: // dex
|
||||||
if (player.getDex() < 5) {
|
if (player.getDex() < 5) {
|
||||||
player.message("You don't have the minimum DEX required to swap.");
|
player.message("You don't have the minimum DEX required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!player.assignDex(-1)) {
|
if (!player.assignDex(-1)) {
|
||||||
player.message("Couldn't execute AP reset operation.");
|
player.message("Couldn't execute AP reset operation.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 256: // int
|
case 256: // int
|
||||||
if (player.getInt() < 5) {
|
if (player.getInt() < 5) {
|
||||||
player.message("You don't have the minimum INT required to swap.");
|
player.message("You don't have the minimum INT required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!player.assignInt(-1)) {
|
if (!player.assignInt(-1)) {
|
||||||
player.message("Couldn't execute AP reset operation.");
|
player.message("Couldn't execute AP reset operation.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 512: // luk
|
case 512: // luk
|
||||||
if (player.getLuk() < 5) {
|
if (player.getLuk() < 5) {
|
||||||
player.message("You don't have the minimum LUK required to swap.");
|
player.message("You don't have the minimum LUK required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (!player.assignLuk(-1)) {
|
if (!player.assignLuk(-1)) {
|
||||||
player.message("Couldn't execute AP reset operation.");
|
player.message("Couldn't execute AP reset operation.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -475,14 +475,14 @@ public class AssignAPProcessor {
|
|||||||
if(YamlConfig.config.server.USE_ENFORCE_HPMP_SWAP) {
|
if(YamlConfig.config.server.USE_ENFORCE_HPMP_SWAP) {
|
||||||
if (APTo != 8192) {
|
if (APTo != 8192) {
|
||||||
player.message("You can only swap HP ability points to MP.");
|
player.message("You can only swap HP ability points to MP.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getHpMpApUsed() < 1) {
|
if (player.getHpMpApUsed() < 1) {
|
||||||
player.message("You don't have enough HPMP stat points to spend on AP Reset.");
|
player.message("You don't have enough HPMP stat points to spend on AP Reset.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -490,7 +490,7 @@ public class AssignAPProcessor {
|
|||||||
int level_ = player.getLevel();
|
int level_ = player.getLevel();
|
||||||
if (hp < level_ * 14 + 148) {
|
if (hp < level_ * 14 + 148) {
|
||||||
player.message("You don't have the minimum HP pool required to swap.");
|
player.message("You don't have the minimum HP pool required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,14 +506,14 @@ public class AssignAPProcessor {
|
|||||||
if(YamlConfig.config.server.USE_ENFORCE_HPMP_SWAP) {
|
if(YamlConfig.config.server.USE_ENFORCE_HPMP_SWAP) {
|
||||||
if (APTo != 2048) {
|
if (APTo != 2048) {
|
||||||
player.message("You can only swap MP ability points to HP.");
|
player.message("You can only swap MP ability points to HP.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player.getHpMpApUsed() < 1) {
|
if (player.getHpMpApUsed() < 1) {
|
||||||
player.message("You don't have enough HPMP stat points to spend on AP Reset.");
|
player.message("You don't have enough HPMP stat points to spend on AP Reset.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -534,7 +534,7 @@ public class AssignAPProcessor {
|
|||||||
|
|
||||||
if (!canWash) {
|
if (!canWash) {
|
||||||
player.message("You don't have the minimum MP pool required to swap.");
|
player.message("You don't have the minimum MP pool required to swap.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -546,7 +546,7 @@ public class AssignAPProcessor {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
c.announce(PacketCreator.updatePlayerStats(PacketCreator.EMPTY_STATUPDATE, true, player));
|
c.sendPacket(PacketCreator.updatePlayerStats(PacketCreator.EMPTY_STATUPDATE, true, player));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -571,47 +571,47 @@ public class AssignAPProcessor {
|
|||||||
case 64:
|
case 64:
|
||||||
if (!chr.assignStr(1)) {
|
if (!chr.assignStr(1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 128: // Dex
|
case 128: // Dex
|
||||||
if (!chr.assignDex(1)) {
|
if (!chr.assignDex(1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 256: // Int
|
case 256: // Int
|
||||||
if (!chr.assignInt(1)) {
|
if (!chr.assignInt(1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 512: // Luk
|
case 512: // Luk
|
||||||
if (!chr.assignLuk(1)) {
|
if (!chr.assignLuk(1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2048:
|
case 2048:
|
||||||
if (!chr.assignHP(calcHpChange(chr, usedAPReset), 1)) {
|
if (!chr.assignHP(calcHpChange(chr, usedAPReset), 1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 8192:
|
case 8192:
|
||||||
if (!chr.assignMP(calcMpChange(chr, usedAPReset), 1)) {
|
if (!chr.assignMP(calcMpChange(chr, usedAPReset), 1)) {
|
||||||
chr.message("Couldn't execute AP assign operation.");
|
chr.message("Couldn't execute AP assign operation.");
|
||||||
chr.announce(PacketCreator.enableActions());
|
chr.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
chr.announce(PacketCreator.updatePlayerStats(PacketCreator.EMPTY_STATUPDATE, true, chr));
|
chr.sendPacket(PacketCreator.updatePlayerStats(PacketCreator.EMPTY_STATUPDATE, true, chr));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class AssignSPProcessor {
|
|||||||
|
|
||||||
public static boolean canSPAssign(MapleClient c, int skillid) {
|
public static boolean canSPAssign(MapleClient c, int skillid) {
|
||||||
if (skillid == Aran.HIDDEN_FULL_DOUBLE || skillid == Aran.HIDDEN_FULL_TRIPLE || skillid == Aran.HIDDEN_OVER_DOUBLE || skillid == Aran.HIDDEN_OVER_TRIPLE) {
|
if (skillid == Aran.HIDDEN_FULL_DOUBLE || skillid == Aran.HIDDEN_FULL_TRIPLE || skillid == Aran.HIDDEN_OVER_DOUBLE || skillid == Aran.HIDDEN_OVER_TRIPLE) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ public class AssignSPProcessor {
|
|||||||
if (!isBeginnerSkill) {
|
if (!isBeginnerSkill) {
|
||||||
player.gainSp(-1, GameConstants.getSkillBook(skillid/10000), false);
|
player.gainSp(-1, GameConstants.getSkillBook(skillid/10000), false);
|
||||||
} else {
|
} else {
|
||||||
player.announce(PacketCreator.enableActions());
|
player.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
if (skill.getId() == Aran.FULL_SWING) {
|
if (skill.getId() == Aran.FULL_SWING) {
|
||||||
player.changeSkillLevel(skill, (byte) (curLevel + 1), player.getMasterLevel(skill), player.getSkillExpiration(skill));
|
player.changeSkillLevel(skill, (byte) (curLevel + 1), player.getMasterLevel(skill), player.getSkillExpiration(skill));
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public abstract class ServerChannelInitializer extends ChannelInitializer<Socket
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void writeInitialUnencryptedHelloPacket(SocketChannel socketChannel, InitializationVector sendIv, InitializationVector recvIv) {
|
private void writeInitialUnencryptedHelloPacket(SocketChannel socketChannel, InitializationVector sendIv, InitializationVector recvIv) {
|
||||||
socketChannel.writeAndFlush(Unpooled.wrappedBuffer(PacketCreator.getHello(ServerConstants.VERSION, sendIv, recvIv)));
|
socketChannel.writeAndFlush(Unpooled.wrappedBuffer(PacketCreator.getHello(ServerConstants.VERSION, sendIv, recvIv).getBytes()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpHandlers(ChannelPipeline pipeline, InitializationVector sendIv, InitializationVector recvIv,
|
private void setUpHandlers(ChannelPipeline pipeline, InitializationVector sendIv, InitializationVector recvIv,
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ public class ByteBufOutPacket implements OutPacket {
|
|||||||
private final ByteBuf byteBuf;
|
private final ByteBuf byteBuf;
|
||||||
private byte[] bytes;
|
private byte[] bytes;
|
||||||
|
|
||||||
@Deprecated(forRemoval = true)
|
|
||||||
public ByteBufOutPacket() {
|
public ByteBufOutPacket() {
|
||||||
this.byteBuf = Unpooled.buffer();
|
this.byteBuf = Unpooled.buffer();
|
||||||
}
|
}
|
||||||
@@ -82,7 +81,12 @@ public class ByteBufOutPacket implements OutPacket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void writePoint(Point value) {
|
public void writeFixedString(String value) {
|
||||||
|
writeBytes(value.getBytes(STRING_CHARSET));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writePos(Point value) {
|
||||||
writeShort((short) value.getX());
|
writeShort((short) value.getX());
|
||||||
writeShort((short) value.getY());
|
writeShort((short) value.getY());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ public interface OutPacket extends Packet {
|
|||||||
void writeLong(long value);
|
void writeLong(long value);
|
||||||
void writeBool(boolean value);
|
void writeBool(boolean value);
|
||||||
void writeString(String value);
|
void writeString(String value);
|
||||||
void writePoint(Point value);
|
void writeFixedString(String value);
|
||||||
|
void writePos(Point value);
|
||||||
void skip(int numberOfBytes);
|
void skip(int numberOfBytes);
|
||||||
|
|
||||||
static OutPacket create(SendOpcode opcode) {
|
static OutPacket create(SendOpcode opcode) {
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import constants.inventory.ItemConstants;
|
|||||||
import constants.net.OpcodeConstants;
|
import constants.net.OpcodeConstants;
|
||||||
import constants.net.ServerConstants;
|
import constants.net.ServerConstants;
|
||||||
import net.netty.LoginServer;
|
import net.netty.LoginServer;
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.audit.ThreadTracker;
|
import net.server.audit.ThreadTracker;
|
||||||
import net.server.audit.locks.MonitoredLockType;
|
import net.server.audit.locks.MonitoredLockType;
|
||||||
import net.server.audit.locks.MonitoredReadLock;
|
import net.server.audit.locks.MonitoredReadLock;
|
||||||
@@ -995,7 +996,7 @@ public class Server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void allianceMessage(int id, final byte[] packet, int exception, int guildex) {
|
public void allianceMessage(int id, Packet packet, int exception, int guildex) {
|
||||||
MapleAlliance alliance = alliances.get(id);
|
MapleAlliance alliance = alliances.get(id);
|
||||||
if (alliance != null) {
|
if (alliance != null) {
|
||||||
for (Integer gid : alliance.getGuilds()) {
|
for (Integer gid : alliance.getGuilds()) {
|
||||||
@@ -1221,11 +1222,11 @@ public class Server {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void guildMessage(int gid, byte[] packet) {
|
public void guildMessage(int gid, Packet packet) {
|
||||||
guildMessage(gid, packet, -1);
|
guildMessage(gid, packet, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void guildMessage(int gid, byte[] packet, int exception) {
|
public void guildMessage(int gid, Packet packet, int exception) {
|
||||||
MapleGuild g = guilds.get(gid);
|
MapleGuild g = guilds.get(gid);
|
||||||
if (g != null) {
|
if (g != null) {
|
||||||
g.broadcast(packet, exception);
|
g.broadcast(packet, exception);
|
||||||
@@ -1267,13 +1268,13 @@ public class Server {
|
|||||||
worlda.reloadGuildSummary();
|
worlda.reloadGuildSummary();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcastMessage(int world, final byte[] packet) {
|
public void broadcastMessage(int world, Packet packet) {
|
||||||
for (Channel ch : getChannelsFromWorld(world)) {
|
for (Channel ch : getChannelsFromWorld(world)) {
|
||||||
ch.broadcastPacket(packet);
|
ch.broadcastPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcastGMMessage(int world, final byte[] packet) {
|
public void broadcastGMMessage(int world, Packet packet) {
|
||||||
for (Channel ch : getChannelsFromWorld(world)) {
|
for (Channel ch : getChannelsFromWorld(world)) {
|
||||||
ch.broadcastGMPacket(packet);
|
ch.broadcastGMPacket(packet);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import client.MapleCharacter;
|
|||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import constants.game.GameConstants;
|
import constants.game.GameConstants;
|
||||||
import net.netty.ChannelServer;
|
import net.netty.ChannelServer;
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.PlayerStorage;
|
import net.server.PlayerStorage;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.audit.LockCollector;
|
import net.server.audit.LockCollector;
|
||||||
@@ -263,7 +264,7 @@ public final class Channel {
|
|||||||
|
|
||||||
public void addPlayer(MapleCharacter chr) {
|
public void addPlayer(MapleCharacter chr) {
|
||||||
players.addPlayer(chr);
|
players.addPlayer(chr);
|
||||||
chr.announce(PacketCreator.serverMessage(serverMessage));
|
chr.sendPacket(PacketCreator.serverMessage(serverMessage));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerMessage() {
|
public String getServerMessage() {
|
||||||
@@ -282,9 +283,9 @@ public final class Channel {
|
|||||||
return (int)(Math.ceil(((float) players.getAllCharacters().size() / YamlConfig.config.server.CHANNEL_LOAD) * 800));
|
return (int)(Math.ceil(((float) players.getAllCharacters().size() / YamlConfig.config.server.CHANNEL_LOAD) * 800));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcastPacket(final byte[] data) {
|
public void broadcastPacket(Packet packet) {
|
||||||
for (MapleCharacter chr : players.getAllCharacters()) {
|
for (MapleCharacter chr : players.getAllCharacters()) {
|
||||||
chr.announce(data);
|
chr.sendPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,10 +309,10 @@ public final class Channel {
|
|||||||
return eventSM;
|
return eventSM;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void broadcastGMPacket(final byte[] data) {
|
public void broadcastGMPacket(Packet packet) {
|
||||||
for (MapleCharacter chr : players.getAllCharacters()) {
|
for (MapleCharacter chr : players.getAllCharacters()) {
|
||||||
if (chr.isGM()) {
|
if (chr.isGM()) {
|
||||||
chr.announce(data);
|
chr.sendPacket(packet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public abstract class AbstractDealDamageHandler extends AbstractMaplePacketHandl
|
|||||||
theSkill = SkillFactory.getSkill(attack.skill); // thanks Conrad for noticing some Aran skills not consuming MP
|
theSkill = SkillFactory.getSkill(attack.skill); // thanks Conrad for noticing some Aran skills not consuming MP
|
||||||
attackEffect = attack.getAttackEffect(player, theSkill); //returns back the player's attack effect so we are gucci
|
attackEffect = attack.getAttackEffect(player, theSkill); //returns back the player's attack effect so we are gucci
|
||||||
if (attackEffect == null) {
|
if (attackEffect == null) {
|
||||||
player.announce(PacketCreator.enableActions());
|
player.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ public abstract class AbstractDealDamageHandler extends AbstractMaplePacketHandl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
player.announce(PacketCreator.enableActions());
|
player.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public final class AcceptFamilyHandler extends AbstractMaplePacketHandler {
|
|||||||
MapleFamilyEntry newEntry = new MapleFamilyEntry(inviter.getFamily(), chr.getId(), chr.getName(), chr.getLevel(), chr.getJob());
|
MapleFamilyEntry newEntry = new MapleFamilyEntry(inviter.getFamily(), chr.getId(), chr.getName(), chr.getLevel(), chr.getJob());
|
||||||
newEntry.setCharacter(chr);
|
newEntry.setCharacter(chr);
|
||||||
if(!newEntry.setSenior(inviter.getFamilyEntry(), true)) {
|
if(!newEntry.setSenior(inviter.getFamilyEntry(), true)) {
|
||||||
inviter.announce(PacketCreator.sendFamilyMessage(1, 0));
|
inviter.sendPacket(PacketCreator.sendFamilyMessage(1, 0));
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
// save
|
// save
|
||||||
@@ -81,15 +81,15 @@ public final class AcceptFamilyHandler extends AbstractMaplePacketHandler {
|
|||||||
if(inviter.getFamily().getTotalGenerations() + targetFamily.getTotalGenerations() <= YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
if(inviter.getFamily().getTotalGenerations() + targetFamily.getTotalGenerations() <= YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
||||||
targetEntry.join(inviter.getFamilyEntry());
|
targetEntry.join(inviter.getFamilyEntry());
|
||||||
} else {
|
} else {
|
||||||
inviter.announce(PacketCreator.sendFamilyMessage(76, 0));
|
inviter.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
chr.announce(PacketCreator.sendFamilyMessage(76, 0));
|
chr.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else { // create new family
|
} else { // create new family
|
||||||
if(chr.getFamily() != null && inviter.getFamily() != null && chr.getFamily().getTotalGenerations() + inviter.getFamily().getTotalGenerations() >= YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
if(chr.getFamily() != null && inviter.getFamily() != null && chr.getFamily().getTotalGenerations() + inviter.getFamily().getTotalGenerations() >= YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
||||||
inviter.announce(PacketCreator.sendFamilyMessage(76, 0));
|
inviter.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
chr.announce(PacketCreator.sendFamilyMessage(76, 0));
|
chr.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MapleFamily newFamily = new MapleFamily(-1, c.getWorld());
|
MapleFamily newFamily = new MapleFamily(-1, c.getWorld());
|
||||||
@@ -113,14 +113,14 @@ public final class AcceptFamilyHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.getPlayer().getFamily().broadcast(PacketCreator.sendFamilyJoinResponse(true, c.getPlayer().getName()), c.getPlayer().getId());
|
c.getPlayer().getFamily().broadcast(PacketCreator.sendFamilyJoinResponse(true, c.getPlayer().getName()), c.getPlayer().getId());
|
||||||
c.announce(PacketCreator.getSeniorMessage(inviter.getName()));
|
c.sendPacket(PacketCreator.getSeniorMessage(inviter.getName()));
|
||||||
c.announce(PacketCreator.getFamilyInfo(chr.getFamilyEntry()));
|
c.sendPacket(PacketCreator.getFamilyInfo(chr.getFamilyEntry()));
|
||||||
chr.getFamilyEntry().updateSeniorFamilyInfo(true);
|
chr.getFamilyEntry().updateSeniorFamilyInfo(true);
|
||||||
} else {
|
} else {
|
||||||
inviter.announce(PacketCreator.sendFamilyJoinResponse(false, c.getPlayer().getName()));
|
inviter.sendPacket(PacketCreator.sendFamilyJoinResponse(false, c.getPlayer().getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.sendFamilyMessage(0, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void insertNewFamilyRecord(int characterID, int familyID, int seniorID, boolean updateChar) {
|
private static void insertNewFamilyRecord(int characterID, int familyID, int seniorID, boolean updateChar) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.server.channel.handlers;
|
|||||||
import client.MapleClient;
|
import client.MapleClient;
|
||||||
import config.YamlConfig;
|
import config.YamlConfig;
|
||||||
import net.AbstractMaplePacketHandler;
|
import net.AbstractMaplePacketHandler;
|
||||||
|
import net.packet.Packet;
|
||||||
import tools.LogHelper;
|
import tools.LogHelper;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.data.input.SeekableLittleEndianAccessor;
|
import tools.data.input.SeekableLittleEndianAccessor;
|
||||||
@@ -21,7 +22,7 @@ public class AdminChatHandler extends AbstractMaplePacketHandler {
|
|||||||
byte mode = slea.readByte();
|
byte mode = slea.readByte();
|
||||||
//not saving slides...
|
//not saving slides...
|
||||||
String message = slea.readMapleAsciiString();
|
String message = slea.readMapleAsciiString();
|
||||||
byte[] packet = PacketCreator.serverNotice(slea.readByte(), message);//maybe I should make a check for the slea.readByte()... but I just hope gm's don't fuck things up :)
|
Packet packet = PacketCreator.serverNotice(slea.readByte(), message);//maybe I should make a check for the slea.readByte()... but I just hope gm's don't fuck things up :)
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case 0:// /alertall, /noticeall, /slideall
|
case 0:// /alertall, /noticeall, /slideall
|
||||||
c.getWorldServer().broadcastPacket(packet);
|
c.getWorldServer().broadcastPacket(packet);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public final class AdminCommandHandler extends AbstractMaplePacketHandler {
|
|||||||
c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(toSpawnChild[0]), c.getPlayer().getPosition());
|
c.getPlayer().getMap().spawnMonsterOnGroundBelow(MapleLifeFactory.getMonster(toSpawnChild[0]), c.getPlayer().getPosition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
break;
|
break;
|
||||||
case 0x01: { // /d (inv)
|
case 0x01: { // /d (inv)
|
||||||
byte type = slea.readByte();
|
byte type = slea.readByte();
|
||||||
@@ -94,11 +94,11 @@ public final class AdminCommandHandler extends AbstractMaplePacketHandler {
|
|||||||
target.block(type, duration, description);
|
target.block(type, duration, description);
|
||||||
target.sendPolice(duration, reason, 6000);
|
target.sendPolice(duration, reason, 6000);
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.getGMEffect(4, (byte) 0));
|
c.sendPacket(PacketCreator.getGMEffect(4, (byte) 0));
|
||||||
} else if (MapleCharacter.ban(victim, reason, false)) {
|
} else if (MapleCharacter.ban(victim, reason, false)) {
|
||||||
c.announce(PacketCreator.getGMEffect(4, (byte) 0));
|
c.sendPacket(PacketCreator.getGMEffect(4, (byte) 0));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.getGMEffect(6, (byte) 1));
|
c.sendPacket(PacketCreator.getGMEffect(6, (byte) 1));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x10: // /h, information added by vana -- <and tele mode f1> ... hide ofcourse
|
case 0x10: // /h, information added by vana -- <and tele mode f1> ... hide ofcourse
|
||||||
@@ -160,10 +160,10 @@ public final class AdminCommandHandler extends AbstractMaplePacketHandler {
|
|||||||
String message = slea.readMapleAsciiString();
|
String message = slea.readMapleAsciiString();
|
||||||
target = c.getChannelServer().getPlayerStorage().getCharacterByName(victim);
|
target = c.getChannelServer().getPlayerStorage().getCharacterByName(victim);
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
target.getClient().announce(PacketCreator.serverNotice(1, message));
|
target.getClient().sendPacket(PacketCreator.serverNotice(1, message));
|
||||||
c.announce(PacketCreator.getGMEffect(0x1E, (byte) 1));
|
c.sendPacket(PacketCreator.getGMEffect(0x1E, (byte) 1));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.getGMEffect(0x1E, (byte) 0));
|
c.sendPacket(PacketCreator.getGMEffect(0x1E, (byte) 0));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x24:// /Artifact Ranking
|
case 0x24:// /Artifact Ranking
|
||||||
|
|||||||
@@ -25,7 +25,10 @@ import client.MapleCharacter;
|
|||||||
import client.MapleClient;
|
import client.MapleClient;
|
||||||
import net.AbstractMaplePacketHandler;
|
import net.AbstractMaplePacketHandler;
|
||||||
import net.opcodes.SendOpcode;
|
import net.opcodes.SendOpcode;
|
||||||
|
import net.packet.OutPacket;
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleAlliance;
|
import net.server.guild.MapleAlliance;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
import net.server.guild.MapleGuildCharacter;
|
import net.server.guild.MapleGuildCharacter;
|
||||||
@@ -45,7 +48,7 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
|
|
||||||
if (chr.getGuild() == null) {
|
if (chr.getGuild() == null) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,18 +59,18 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
byte b = slea.readByte();
|
byte b = slea.readByte();
|
||||||
if (alliance == null) {
|
if (alliance == null) {
|
||||||
if (b != 4) {
|
if (b != 4) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (b == 4) {
|
if (b == 4) {
|
||||||
chr.dropMessage(5, "Your guild is already registered on a guild alliance.");
|
chr.dropMessage(5, "Your guild is already registered on a guild alliance.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chr.getMGC().getAllianceRank() > 2 || !alliance.getGuilds().contains(chr.getGuildId())) {
|
if (chr.getMGC().getAllianceRank() > 2 || !alliance.getGuilds().contains(chr.getGuildId())) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -131,9 +134,9 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
chr.saveGuildStatus();
|
chr.saveGuildStatus();
|
||||||
|
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.addGuildToAlliance(alliance, guildid, c), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.addGuildToAlliance(alliance, guildid, c), -1, -1);
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.updateAllianceInfo(alliance, c.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.updateAllianceInfo(alliance, c.getWorld()), -1, -1);
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.allianceNotice(alliance.getId(), alliance.getNotice()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.allianceNotice(alliance.getId(), alliance.getNotice()), -1, -1);
|
||||||
guild.dropMessage("Your guild has joined the [" + alliance.getName() + "] union.");
|
guild.dropMessage("Your guild has joined the [" + alliance.getName() + "] union.");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -145,12 +148,12 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.removeGuildFromAlliance(alliance, guildid, c.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.removeGuildFromAlliance(alliance, guildid, c.getWorld()), -1, -1);
|
||||||
Server.getInstance().removeGuildFromAlliance(alliance.getId(), guildid);
|
Server.getInstance().removeGuildFromAlliance(alliance.getId(), guildid);
|
||||||
|
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.getGuildAlliances(alliance, c.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.getGuildAlliances(alliance, c.getWorld()), -1, -1);
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.allianceNotice(alliance.getId(), alliance.getNotice()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.allianceNotice(alliance.getId(), alliance.getNotice()), -1, -1);
|
||||||
Server.getInstance().guildMessage(guildid, PacketCreator.disbandAlliance(allianceid));
|
Server.getInstance().guildMessage(guildid, GuildPackets.disbandAlliance(allianceid));
|
||||||
|
|
||||||
alliance.dropMessage("[" + Server.getInstance().getGuild(guildid).getName() + "] guild has been expelled from the union.");
|
alliance.dropMessage("[" + Server.getInstance().getGuild(guildid).getName() + "] guild has been expelled from the union.");
|
||||||
break;
|
break;
|
||||||
@@ -175,7 +178,7 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
ranks[i] = slea.readMapleAsciiString();
|
ranks[i] = slea.readMapleAsciiString();
|
||||||
}
|
}
|
||||||
Server.getInstance().setAllianceRanks(alliance.getId(), ranks);
|
Server.getInstance().setAllianceRanks(alliance.getId(), ranks);
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.changeAllianceRankTitle(alliance.getId(), ranks), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.changeAllianceRankTitle(alliance.getId(), ranks), -1, -1);
|
||||||
break;
|
break;
|
||||||
case 0x09: {
|
case 0x09: {
|
||||||
int int1 = slea.readInt();
|
int int1 = slea.readInt();
|
||||||
@@ -190,7 +193,7 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
case 0x0A:
|
case 0x0A:
|
||||||
String notice = slea.readMapleAsciiString();
|
String notice = slea.readMapleAsciiString();
|
||||||
Server.getInstance().setAllianceNotice(alliance.getId(), notice);
|
Server.getInstance().setAllianceNotice(alliance.getId(), notice);
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.allianceNotice(alliance.getId(), notice), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.allianceNotice(alliance.getId(), notice), -1, -1);
|
||||||
|
|
||||||
alliance.dropMessage(5, "* Alliance Notice : " + notice);
|
alliance.dropMessage(5, "* Alliance Notice : " + notice);
|
||||||
break;
|
break;
|
||||||
@@ -210,7 +213,7 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
newLeader.getMGC().setAllianceRank(1);
|
newLeader.getMGC().setAllianceRank(1);
|
||||||
newLeader.saveGuildStatus();
|
newLeader.saveGuildStatus();
|
||||||
|
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.getGuildAlliances(alliance, newLeader.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.getGuildAlliances(alliance, newLeader.getWorld()), -1, -1);
|
||||||
alliance.dropMessage("'" + newLeader.getName() + "' has been appointed as the new head of this Alliance.");
|
alliance.dropMessage("'" + newLeader.getName() + "' has been appointed as the new head of this Alliance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -221,17 +224,16 @@ public final class AllianceOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
chr.getMGC().setAllianceRank(newRank);
|
chr.getMGC().setAllianceRank(newRank);
|
||||||
chr.saveGuildStatus();
|
chr.saveGuildStatus();
|
||||||
|
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.getGuildAlliances(alliance, chr.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.getGuildAlliances(alliance, chr.getWorld()), -1, -1);
|
||||||
alliance.dropMessage("'" + chr.getName() + "' has been reassigned to '" + alliance.getRankTitle(newRank) + "' in this Alliance.");
|
alliance.dropMessage("'" + chr.getName() + "' has been reassigned to '" + alliance.getRankTitle(newRank) + "' in this Alliance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static byte[] sendShowInfo(int allianceid, int playerid) {
|
private static Packet sendShowInfo(int allianceid, int playerid) {
|
||||||
MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
|
OutPacket p = OutPacket.create(SendOpcode.ALLIANCE_OPERATION);
|
||||||
mplew.writeShort(SendOpcode.ALLIANCE_OPERATION.getValue());
|
p.writeByte(0x02);
|
||||||
mplew.write(0x02);
|
p.writeInt(allianceid);
|
||||||
mplew.writeInt(allianceid);
|
p.writeInt(playerid);
|
||||||
mplew.writeInt(playerid);
|
return p;
|
||||||
return mplew.getPacket();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static byte[] sendInvitation(int allianceid, int playerid, final String guildname) {
|
private static byte[] sendInvitation(int allianceid, int playerid, final String guildname) {
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ package net.server.channel.handlers;
|
|||||||
import client.MapleCharacter;
|
import client.MapleCharacter;
|
||||||
import client.MapleClient;
|
import client.MapleClient;
|
||||||
import net.AbstractMaplePacketHandler;
|
import net.AbstractMaplePacketHandler;
|
||||||
|
import net.server.guild.GuildPackets;
|
||||||
import tools.DatabaseConnection;
|
import tools.DatabaseConnection;
|
||||||
import tools.PacketCreator;
|
|
||||||
import tools.data.input.SeekableLittleEndianAccessor;
|
import tools.data.input.SeekableLittleEndianAccessor;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
@@ -103,7 +103,7 @@ public final class BBSOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
ps.setInt(1, c.getPlayer().getGuildId());
|
ps.setInt(1, c.getPlayer().getGuildId());
|
||||||
try (ResultSet rs = ps.executeQuery()) {
|
try (ResultSet rs = ps.executeQuery()) {
|
||||||
c.announce(PacketCreator.BBSThreadList(rs, start));
|
c.sendPacket(GuildPackets.BBSThreadList(rs, start));
|
||||||
}
|
}
|
||||||
} catch (SQLException se) {
|
} catch (SQLException se) {
|
||||||
se.printStackTrace();
|
se.printStackTrace();
|
||||||
@@ -317,7 +317,7 @@ public final class BBSOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
ps2.setInt(1, !bIsThreadIdLocal ? threadid : threadRS.getInt("threadid"));
|
ps2.setInt(1, !bIsThreadIdLocal ? threadid : threadRS.getInt("threadid"));
|
||||||
repliesRS = ps2.executeQuery();
|
repliesRS = ps2.executeQuery();
|
||||||
}
|
}
|
||||||
client.announce(PacketCreator.showThread(bIsThreadIdLocal ? threadid : threadRS.getInt("localthreadid"), threadRS, repliesRS));
|
client.sendPacket(GuildPackets.showThread(bIsThreadIdLocal ? threadid : threadRS.getInt("localthreadid"), threadRS, repliesRS));
|
||||||
repliesRS.close();
|
repliesRS.close();
|
||||||
}
|
}
|
||||||
if (ps2 != null) {
|
if (ps2 != null) {
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public class BuddylistModifyHandler extends AbstractMaplePacketHandler {
|
|||||||
private void nextPendingRequest(MapleClient c) {
|
private void nextPendingRequest(MapleClient c) {
|
||||||
CharacterNameAndId pendingBuddyRequest = c.getPlayer().getBuddylist().pollPendingRequest();
|
CharacterNameAndId pendingBuddyRequest = c.getPlayer().getBuddylist().pollPendingRequest();
|
||||||
if (pendingBuddyRequest != null) {
|
if (pendingBuddyRequest != null) {
|
||||||
c.announce(PacketCreator.requestBuddylistAdd(pendingBuddyRequest.getId(), c.getPlayer().getId(), pendingBuddyRequest.getName()));
|
c.sendPacket(PacketCreator.requestBuddylistAdd(pendingBuddyRequest.getId(), c.getPlayer().getId(), pendingBuddyRequest.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,9 +88,9 @@ public class BuddylistModifyHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
BuddylistEntry ble = buddylist.get(addName);
|
BuddylistEntry ble = buddylist.get(addName);
|
||||||
if (ble != null && !ble.isVisible() && group.equals(ble.getGroup())) {
|
if (ble != null && !ble.isVisible() && group.equals(ble.getGroup())) {
|
||||||
c.announce(PacketCreator.serverNotice(1, "You already have \"" + ble.getName() + "\" on your Buddylist"));
|
c.sendPacket(PacketCreator.serverNotice(1, "You already have \"" + ble.getName() + "\" on your Buddylist"));
|
||||||
} else if (buddylist.isFull() && ble == null) {
|
} else if (buddylist.isFull() && ble == null) {
|
||||||
c.announce(PacketCreator.serverNotice(1, "Your buddylist is already full"));
|
c.sendPacket(PacketCreator.serverNotice(1, "Your buddylist is already full"));
|
||||||
} else if (ble == null) {
|
} else if (ble == null) {
|
||||||
try {
|
try {
|
||||||
World world = c.getWorldServer();
|
World world = c.getWorldServer();
|
||||||
@@ -135,7 +135,7 @@ public class BuddylistModifyHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (buddyAddResult == BuddyAddResult.BUDDYLIST_FULL) {
|
if (buddyAddResult == BuddyAddResult.BUDDYLIST_FULL) {
|
||||||
c.announce(PacketCreator.serverNotice(1, "\"" + addName + "\"'s Buddylist is full"));
|
c.sendPacket(PacketCreator.serverNotice(1, "\"" + addName + "\"'s Buddylist is full"));
|
||||||
} else {
|
} else {
|
||||||
int displayChannel;
|
int displayChannel;
|
||||||
displayChannel = -1;
|
displayChannel = -1;
|
||||||
@@ -152,17 +152,17 @@ public class BuddylistModifyHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
buddylist.put(new BuddylistEntry(charWithId.getName(), group, otherCid, displayChannel, true));
|
buddylist.put(new BuddylistEntry(charWithId.getName(), group, otherCid, displayChannel, true));
|
||||||
c.announce(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
c.sendPacket(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.serverNotice(1, "A character called \"" + addName + "\" does not exist"));
|
c.sendPacket(PacketCreator.serverNotice(1, "A character called \"" + addName + "\" does not exist"));
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ble.changeGroup(group);
|
ble.changeGroup(group);
|
||||||
c.announce(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
c.sendPacket(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
||||||
}
|
}
|
||||||
} else if (mode == 2) { // accept buddy
|
} else if (mode == 2) { // accept buddy
|
||||||
int otherCid = slea.readInt();
|
int otherCid = slea.readInt();
|
||||||
@@ -187,7 +187,7 @@ public class BuddylistModifyHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
if (otherName != null) {
|
if (otherName != null) {
|
||||||
buddylist.put(new BuddylistEntry(otherName, "Default Group", otherCid, channel, true));
|
buddylist.put(new BuddylistEntry(otherName, "Default Group", otherCid, channel, true));
|
||||||
c.announce(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
c.sendPacket(PacketCreator.updateBuddylist(buddylist.getBuddies()));
|
||||||
notifyRemoteChannel(c, channel, otherCid, ADDED);
|
notifyRemoteChannel(c, channel, otherCid, ADDED);
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public final class CancelDebuffHandler extends AbstractMaplePacketHandler {//TIP
|
|||||||
List<MapleDisease> disease_ = new ArrayList<MapleDisease>();
|
List<MapleDisease> disease_ = new ArrayList<MapleDisease>();
|
||||||
disease_.add(disease);
|
disease_.add(disease);
|
||||||
diseases_.add(disease);
|
diseases_.add(disease);
|
||||||
c.announce(PacketCreator.cancelDebuff(disease_));
|
c.sendPacket(PacketCreator.cancelDebuff(disease_));
|
||||||
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.cancelForeignDebuff(c.getPlayer().getId(), disease_), false);
|
c.getPlayer().getMap().broadcastMessage(c.getPlayer(), PacketCreator.cancelForeignDebuff(c.getPlayer().getId(), disease_), false);
|
||||||
}
|
}
|
||||||
for (MapleDisease disease : diseases_) {
|
for (MapleDisease disease : diseases_) {
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
CashShop cs = chr.getCashShop();
|
CashShop cs = chr.getCashShop();
|
||||||
|
|
||||||
if (!cs.isOpened()) {
|
if (!cs.isOpened()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
Item item = cItem.toItem();
|
Item item = cItem.toItem();
|
||||||
cs.gainCash(useNX, cItem, chr.getWorld()); // thanks Rohenn for noticing cash operations after item acquisition
|
cs.gainCash(useNX, cItem, chr.getWorld()); // thanks Rohenn for noticing cash operations after item acquisition
|
||||||
cs.addToInventory(item);
|
cs.addToInventory(item);
|
||||||
c.announce(PacketCreator.showBoughtCashItem(item, c.getAccID()));
|
c.sendPacket(PacketCreator.showBoughtCashItem(item, c.getAccID()));
|
||||||
} else { // Package
|
} else { // Package
|
||||||
cs.gainCash(useNX, cItem, chr.getWorld());
|
cs.gainCash(useNX, cItem, chr.getWorld());
|
||||||
|
|
||||||
@@ -97,9 +97,9 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
for (Item item : cashPackage) {
|
for (Item item : cashPackage) {
|
||||||
cs.addToInventory(item);
|
cs.addToInventory(item);
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.showBoughtCashPackage(cashPackage, c.getAccID()));
|
c.sendPacket(PacketCreator.showBoughtCashPackage(cashPackage, c.getAccID()));
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else if (action == 0x04) {//TODO check for gender
|
} else if (action == 0x04) {//TODO check for gender
|
||||||
int birthday = slea.readInt();
|
int birthday = slea.readInt();
|
||||||
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
||||||
@@ -110,19 +110,19 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!checkBirthday(c, birthday)) {
|
if (!checkBirthday(c, birthday)) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC4));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC4));
|
||||||
return;
|
return;
|
||||||
} else if (recipient == null) {
|
} else if (recipient == null) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xA9));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xA9));
|
||||||
return;
|
return;
|
||||||
} else if (recipient.get("accountid").equals(String.valueOf(c.getAccID()))) {
|
} else if (recipient.get("accountid").equals(String.valueOf(c.getAccID()))) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xA8));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xA8));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cs.gainCash(4, cItem, chr.getWorld());
|
cs.gainCash(4, cItem, chr.getWorld());
|
||||||
cs.gift(Integer.parseInt(recipient.get("id")), chr.getName(), message, cItem.getSN());
|
cs.gift(Integer.parseInt(recipient.get("id")), chr.getName(), message, cItem.getSN());
|
||||||
c.announce(PacketCreator.showGiftSucceed(recipient.get("name"), cItem));
|
c.sendPacket(PacketCreator.showGiftSucceed(recipient.get("name"), cItem));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
try {
|
try {
|
||||||
chr.sendNote(recipient.get("name"), chr.getName() + " has sent you a gift! Go check out the Cash Shop.", (byte) 0); //fame or not
|
chr.sendNote(recipient.get("name"), chr.getName() + " has sent you a gift! Go check out the Cash Shop.", (byte) 0); //fame or not
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
@@ -139,7 +139,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
cs.addToWishList(sn);
|
cs.addToWishList(sn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.showWishList(chr, true));
|
c.sendPacket(PacketCreator.showWishList(chr, true));
|
||||||
} else if (action == 0x06) { // Increase Inventory Slots
|
} else if (action == 0x06) { // Increase Inventory Slots
|
||||||
slea.skip(1);
|
slea.skip(1);
|
||||||
int cash = slea.readInt();
|
int cash = slea.readInt();
|
||||||
@@ -157,8 +157,8 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
cs.gainCash(cash, -4000);
|
cs.gainCash(cash, -4000);
|
||||||
if (chr.gainSlots(type, qty, false)) {
|
if (chr.gainSlots(type, qty, false)) {
|
||||||
c.announce(PacketCreator.showBoughtInventorySlots(type, chr.getSlots(type)));
|
c.sendPacket(PacketCreator.showBoughtInventorySlots(type, chr.getSlots(type)));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots of type " + type + " for player " + MapleCharacter.makeMapleReadable(chr.getName()));
|
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots of type " + type + " for player " + MapleCharacter.makeMapleReadable(chr.getName()));
|
||||||
}
|
}
|
||||||
@@ -176,8 +176,8 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
cs.gainCash(cash, cItem, chr.getWorld());
|
cs.gainCash(cash, cItem, chr.getWorld());
|
||||||
if (chr.gainSlots(type, qty, false)) {
|
if (chr.gainSlots(type, qty, false)) {
|
||||||
c.announce(PacketCreator.showBoughtInventorySlots(type, chr.getSlots(type)));
|
c.sendPacket(PacketCreator.showBoughtInventorySlots(type, chr.getSlots(type)));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots of type " + type + " for player " + MapleCharacter.makeMapleReadable(chr.getName()));
|
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots of type " + type + " for player " + MapleCharacter.makeMapleReadable(chr.getName()));
|
||||||
}
|
}
|
||||||
@@ -201,8 +201,8 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
FilePrinter.print(FilePrinter.STORAGE + c.getAccountName() + ".txt", c.getPlayer().getName() + " bought " + qty + " slots to their account storage.");
|
FilePrinter.print(FilePrinter.STORAGE + c.getAccountName() + ".txt", c.getPlayer().getName() + " bought " + qty + " slots to their account storage.");
|
||||||
chr.setUsedStorage();
|
chr.setUsedStorage();
|
||||||
|
|
||||||
c.announce(PacketCreator.showBoughtStorageSlots(chr.getStorage().getSlots()));
|
c.sendPacket(PacketCreator.showBoughtStorageSlots(chr.getStorage().getSlots()));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
||||||
}
|
}
|
||||||
@@ -223,8 +223,8 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
FilePrinter.print(FilePrinter.STORAGE + c.getAccountName() + ".txt", c.getPlayer().getName() + " bought " + qty + " slots to their account storage.");
|
FilePrinter.print(FilePrinter.STORAGE + c.getAccountName() + ".txt", c.getPlayer().getName() + " bought " + qty + " slots to their account storage.");
|
||||||
chr.setUsedStorage();
|
chr.setUsedStorage();
|
||||||
|
|
||||||
c.announce(PacketCreator.showBoughtStorageSlots(chr.getStorage().getSlots()));
|
c.sendPacket(PacketCreator.showBoughtStorageSlots(chr.getStorage().getSlots()));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add " + qty + " slots to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
||||||
}
|
}
|
||||||
@@ -245,8 +245,8 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
cs.gainCash(cash, cItem, chr.getWorld());
|
cs.gainCash(cash, cItem, chr.getWorld());
|
||||||
if (c.gainCharacterSlot()) {
|
if (c.gainCharacterSlot()) {
|
||||||
c.announce(PacketCreator.showBoughtCharacterSlot(c.getCharacterSlots()));
|
c.sendPacket(PacketCreator.showBoughtCharacterSlot(c.getCharacterSlots()));
|
||||||
c.announce(PacketCreator.showCash(chr));
|
c.sendPacket(PacketCreator.showCash(chr));
|
||||||
} else {
|
} else {
|
||||||
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add a character slot to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
FilePrinter.printError(FilePrinter.CASHITEM_BOUGHT, "Could not add a character slot to " + MapleCharacter.makeMapleReadable(chr.getName()) + "'s account.");
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
@@ -260,7 +260,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
if (chr.getInventory(item.getInventoryType()).addItem(item) != -1) {
|
if (chr.getInventory(item.getInventoryType()).addItem(item) != -1) {
|
||||||
cs.removeFromInventory(item);
|
cs.removeFromInventory(item);
|
||||||
c.announce(PacketCreator.takeFromCashInventory(item));
|
c.sendPacket(PacketCreator.takeFromCashInventory(item));
|
||||||
|
|
||||||
if(item instanceof Equip) {
|
if(item instanceof Equip) {
|
||||||
Equip equip = (Equip) item;
|
Equip equip = (Equip) item;
|
||||||
@@ -286,17 +286,17 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
} else if (c.getPlayer().getPetIndex(item.getPetId()) > -1) {
|
} else if (c.getPlayer().getPetIndex(item.getPetId()) > -1) {
|
||||||
chr.getClient().announce(PacketCreator.serverNotice(1, "You cannot put the pet you currently equip into the Cash Shop inventory."));
|
chr.getClient().sendPacket(PacketCreator.serverNotice(1, "You cannot put the pet you currently equip into the Cash Shop inventory."));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
} else if (ItemConstants.isWeddingRing(item.getItemId()) || ItemConstants.isWeddingToken(item.getItemId())) {
|
} else if (ItemConstants.isWeddingRing(item.getItemId()) || ItemConstants.isWeddingToken(item.getItemId())) {
|
||||||
chr.getClient().announce(PacketCreator.serverNotice(1, "You cannot put relationship items into the Cash Shop inventory."));
|
chr.getClient().sendPacket(PacketCreator.serverNotice(1, "You cannot put relationship items into the Cash Shop inventory."));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cs.addToInventory(item);
|
cs.addToInventory(item);
|
||||||
mi.removeSlot(item.getPosition());
|
mi.removeSlot(item.getPosition());
|
||||||
c.announce(PacketCreator.putIntoCashInventory(item, c.getAccID()));
|
c.sendPacket(PacketCreator.putIntoCashInventory(item, c.getAccID()));
|
||||||
} else if (action == 0x1D) { //crush ring (action 28)
|
} else if (action == 0x1D) { //crush ring (action 28)
|
||||||
int birthday = slea.readInt();
|
int birthday = slea.readInt();
|
||||||
if (checkBirthday(c, birthday)) {
|
if (checkBirthday(c, birthday)) {
|
||||||
@@ -307,7 +307,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
CashItem itemRing = CashItemFactory.getItem(SN);
|
CashItem itemRing = CashItemFactory.getItem(SN);
|
||||||
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(recipientName);
|
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(recipientName);
|
||||||
if (partner == null) {
|
if (partner == null) {
|
||||||
chr.getClient().announce(PacketCreator.serverNotice(1, "The partner you specified cannot be found.\r\nPlease make sure your partner is online and in the same channel."));
|
chr.sendPacket(PacketCreator.serverNotice(1, "The partner you specified cannot be found.\r\nPlease make sure your partner is online and in the same channel."));
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
/* if (partner.getGender() == chr.getGender()) {
|
/* if (partner.getGender() == chr.getGender()) {
|
||||||
@@ -321,7 +321,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
Pair<Integer, Integer> rings = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
Pair<Integer, Integer> rings = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
||||||
eqp.setRingId(rings.getLeft());
|
eqp.setRingId(rings.getLeft());
|
||||||
cs.addToInventory(eqp);
|
cs.addToInventory(eqp);
|
||||||
c.announce(PacketCreator.showBoughtCashItem(eqp, c.getAccID()));
|
c.sendPacket(PacketCreator.showBoughtCashItem(eqp, c.getAccID()));
|
||||||
cs.gainCash(toCharge, itemRing, chr.getWorld());
|
cs.gainCash(toCharge, itemRing, chr.getWorld());
|
||||||
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), rings.getRight());
|
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), rings.getRight());
|
||||||
chr.addCrushRing(MapleRing.loadFromDb(rings.getLeft()));
|
chr.addCrushRing(MapleRing.loadFromDb(rings.getLeft()));
|
||||||
@@ -334,27 +334,27 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC4));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC4));
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.showCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showCash(c.getPlayer()));
|
||||||
} else if (action == 0x20) {
|
} else if (action == 0x20) {
|
||||||
int serialNumber = slea.readInt(); // thanks GabrielSin for detecting a potential exploit with 1 meso cash items.
|
int serialNumber = slea.readInt(); // thanks GabrielSin for detecting a potential exploit with 1 meso cash items.
|
||||||
if (serialNumber / 10000000 != 8) {
|
if (serialNumber / 10000000 != 8) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CashItem item = CashItemFactory.getItem(serialNumber);
|
CashItem item = CashItemFactory.getItem(serialNumber);
|
||||||
if (item == null || !item.isOnSale()) {
|
if (item == null || !item.isOnSale()) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int itemId = item.getItemId();
|
int itemId = item.getItemId();
|
||||||
int itemPrice = item.getPrice();
|
int itemPrice = item.getPrice();
|
||||||
if (itemPrice <= 0) {
|
if (itemPrice <= 0) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,10 +362,10 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
if (chr.canHold(itemId)) {
|
if (chr.canHold(itemId)) {
|
||||||
chr.gainMeso(-itemPrice, false);
|
chr.gainMeso(-itemPrice, false);
|
||||||
MapleInventoryManipulator.addById(c, itemId, (short) 1, "", -1);
|
MapleInventoryManipulator.addById(c, itemId, (short) 1, "", -1);
|
||||||
c.announce(PacketCreator.showBoughtQuestItem(itemId));
|
c.sendPacket(PacketCreator.showBoughtQuestItem(itemId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.showCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showCash(c.getPlayer()));
|
||||||
} else if (action == 0x23) { //Friendship :3
|
} else if (action == 0x23) { //Friendship :3
|
||||||
int birthday = slea.readInt();
|
int birthday = slea.readInt();
|
||||||
if (checkBirthday(c, birthday)) {
|
if (checkBirthday(c, birthday)) {
|
||||||
@@ -379,7 +379,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
slea.readByte();
|
slea.readByte();
|
||||||
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(sentTo);
|
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(sentTo);
|
||||||
if (partner == null) {
|
if (partner == null) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0xBE));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0xBE));
|
||||||
} else {
|
} else {
|
||||||
// Need to check to make sure its actually an equip and the right SN...
|
// Need to check to make sure its actually an equip and the right SN...
|
||||||
if(itemRing.toItem() instanceof Equip) {
|
if(itemRing.toItem() instanceof Equip) {
|
||||||
@@ -387,7 +387,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
Pair<Integer, Integer> rings = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
Pair<Integer, Integer> rings = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
||||||
eqp.setRingId(rings.getLeft());
|
eqp.setRingId(rings.getLeft());
|
||||||
cs.addToInventory(eqp);
|
cs.addToInventory(eqp);
|
||||||
c.announce(PacketCreator.showBoughtCashRing(eqp, partner.getName(), c.getAccID()));
|
c.sendPacket(PacketCreator.showBoughtCashRing(eqp, partner.getName(), c.getAccID()));
|
||||||
cs.gainCash(payment, -itemRing.getPrice());
|
cs.gainCash(payment, -itemRing.getPrice());
|
||||||
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), rings.getRight());
|
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), rings.getRight());
|
||||||
chr.addFriendshipRing(MapleRing.loadFromDb(rings.getLeft()));
|
chr.addFriendshipRing(MapleRing.loadFromDb(rings.getLeft()));
|
||||||
@@ -400,14 +400,14 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) 0xC4));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) 0xC4));
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.showCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showCash(c.getPlayer()));
|
||||||
} else if (action == 0x2E) { //name change
|
} else if (action == 0x2E) { //name change
|
||||||
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
||||||
if (cItem == null || !canBuy(chr, cItem, cs.getCash(4))) {
|
if (cItem == null || !canBuy(chr, cItem, cs.getCash(4))) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -415,28 +415,28 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
slea.readMapleAsciiString(); //old name
|
slea.readMapleAsciiString(); //old name
|
||||||
String newName = slea.readMapleAsciiString();
|
String newName = slea.readMapleAsciiString();
|
||||||
if(!MapleCharacter.canCreateChar(newName) || chr.getLevel() < 10) { //(longest ban duration isn't tracked currently)
|
if(!MapleCharacter.canCreateChar(newName) || chr.getLevel() < 10) { //(longest ban duration isn't tracked currently)
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
} else if(c.getTempBanCalendar() != null && c.getTempBanCalendar().getTimeInMillis() + (30*24*60*60*1000) > Calendar.getInstance().getTimeInMillis()) {
|
} else if(c.getTempBanCalendar() != null && c.getTempBanCalendar().getTimeInMillis() + (30*24*60*60*1000) > Calendar.getInstance().getTimeInMillis()) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(chr.registerNameChange(newName)) { //success
|
if(chr.registerNameChange(newName)) { //success
|
||||||
Item item = cItem.toItem();
|
Item item = cItem.toItem();
|
||||||
c.announce(PacketCreator.showNameChangeSuccess(item, c.getAccID()));
|
c.sendPacket(PacketCreator.showNameChangeSuccess(item, c.getAccID()));
|
||||||
cs.gainCash(4, cItem, chr.getWorld());
|
cs.gainCash(4, cItem, chr.getWorld());
|
||||||
cs.addToInventory(item);
|
cs.addToInventory(item);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
} else if(action == 0x31) { //world transfer
|
} else if(action == 0x31) { //world transfer
|
||||||
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
CashItem cItem = CashItemFactory.getItem(slea.readInt());
|
||||||
if (cItem == null || !canBuy(chr, cItem, cs.getCash(4))) {
|
if (cItem == null || !canBuy(chr, cItem, cs.getCash(4))) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -445,21 +445,21 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
int worldTransferError = chr.checkWorldTransferEligibility();
|
int worldTransferError = chr.checkWorldTransferEligibility();
|
||||||
if(worldTransferError != 0 || newWorldSelection >= Server.getInstance().getWorldsSize() || Server.getInstance().getWorldsSize() <= 1) {
|
if(worldTransferError != 0 || newWorldSelection >= Server.getInstance().getWorldsSize() || Server.getInstance().getWorldsSize() <= 1) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
return;
|
return;
|
||||||
} else if(newWorldSelection == c.getWorld()) {
|
} else if(newWorldSelection == c.getWorld()) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0xDC));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0xDC));
|
||||||
return;
|
return;
|
||||||
} else if(c.getAvailableCharacterWorldSlots(newWorldSelection) < 1 || Server.getInstance().getAccountWorldCharacterCount(c.getAccID(), newWorldSelection) >= 3) {
|
} else if(c.getAvailableCharacterWorldSlots(newWorldSelection) < 1 || Server.getInstance().getAccountWorldCharacterCount(c.getAccID(), newWorldSelection) >= 3) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0xDF));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0xDF));
|
||||||
return;
|
return;
|
||||||
} else if(chr.registerWorldTransfer(newWorldSelection)) {
|
} else if(chr.registerWorldTransfer(newWorldSelection)) {
|
||||||
Item item = cItem.toItem();
|
Item item = cItem.toItem();
|
||||||
c.announce(PacketCreator.showWorldTransferSuccess(item, c.getAccID()));
|
c.sendPacket(PacketCreator.showWorldTransferSuccess(item, c.getAccID()));
|
||||||
cs.gainCash(4, cItem, chr.getWorld());
|
cs.gainCash(4, cItem, chr.getWorld());
|
||||||
cs.addToInventory(item);
|
cs.addToInventory(item);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte)0));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte)0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
@@ -470,7 +470,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
c.releaseClient();
|
c.releaseClient();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,9 +41,9 @@ public class CashShopSurpriseHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
if(cssResult != null) {
|
if(cssResult != null) {
|
||||||
Item cssItem = cssResult.getLeft(), cssBox = cssResult.getRight();
|
Item cssItem = cssResult.getLeft(), cssBox = cssResult.getRight();
|
||||||
c.announce(PacketCreator.onCashGachaponOpenSuccess(c.getAccID(), cssBox.getSN(), cssBox.getQuantity(), cssItem, cssItem.getItemId(), cssItem.getQuantity(), true));
|
c.sendPacket(PacketCreator.onCashGachaponOpenSuccess(c.getAccID(), cssBox.getSN(), cssBox.getQuantity(), cssItem, cssItem.getItemId(), cssItem.getQuantity(), true));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.onCashItemGachaponOpenFailed());
|
c.sendPacket(PacketCreator.onCashItemGachaponOpenFailed());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
FilePrinter.printError(FilePrinter.PORTAL_STUCK + chr.getName() + ".txt", "Player " + chr.getName() + " got stuck when changing maps. Timestamp: " + Calendar.getInstance().getTime().toString() + " Last visited mapids: " + chr.getLastVisitedMapids());
|
FilePrinter.printError(FilePrinter.PORTAL_STUCK + chr.getName() + ".txt", "Player " + chr.getName() + " got stuck when changing maps. Timestamp: " + Calendar.getInstance().getTime().toString() + " Last visited mapids: " + chr.getLastVisitedMapids());
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (chr.getTrade() != null) {
|
if (chr.getTrade() != null) {
|
||||||
@@ -65,7 +65,7 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
chr.setSessionTransitionState();
|
chr.setSessionTransitionState();
|
||||||
try {
|
try {
|
||||||
c.announce(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
c.sendPacket(PacketCreator.getChannelChange(InetAddress.getByName(socket[0]), Integer.parseInt(socket[1])));
|
||||||
} catch (UnknownHostException ex) {
|
} catch (UnknownHostException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -95,7 +95,7 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
// thanks lucasziron (lziron) for showing revivePlayer() triggering by Wheel
|
// thanks lucasziron (lziron) for showing revivePlayer() triggering by Wheel
|
||||||
|
|
||||||
MapleInventoryManipulator.removeById(c, MapleInventoryType.CASH, 5510000, 1, true, false);
|
MapleInventoryManipulator.removeById(c, MapleInventoryType.CASH, 5510000, 1, true, false);
|
||||||
chr.announce(PacketCreator.showWheelsLeft(chr.getItemQuantity(5510000, false)));
|
chr.sendPacket(PacketCreator.showWheelsLeft(chr.getItemQuantity(5510000, false)));
|
||||||
|
|
||||||
chr.updateHp(50);
|
chr.updateHp(50);
|
||||||
chr.changeMap(map, map.findClosestPlayerSpawnpoint(chr.getPosition()));
|
chr.changeMap(map, map.findClosestPlayerSpawnpoint(chr.getPosition()));
|
||||||
@@ -121,8 +121,8 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
} else if (divi == 20100) {
|
} else if (divi == 20100) {
|
||||||
if (targetid == 104000000) {
|
if (targetid == 104000000) {
|
||||||
c.announce(PacketCreator.lockUI(false));
|
c.sendPacket(PacketCreator.lockUI(false));
|
||||||
c.announce(PacketCreator.disableUI(false));
|
c.sendPacket(PacketCreator.disableUI(false));
|
||||||
warp = true;
|
warp = true;
|
||||||
}
|
}
|
||||||
} else if (divi == 9130401) { // Only allow warp if player is already in Intro map, or else = hack
|
} else if (divi == 9130401) { // Only allow warp if player is already in Intro map, or else = hack
|
||||||
@@ -151,8 +151,8 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (portal != null && !portal.getPortalStatus()) {
|
if (portal != null && !portal.getPortalStatus()) {
|
||||||
c.announce(PacketCreator.blockedMessage(1));
|
c.sendPacket(PacketCreator.blockedMessage(1));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,13 +164,13 @@ public final class ChangeMapHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
if (portal != null) {
|
if (portal != null) {
|
||||||
if (portal.getPosition().distanceSq(chr.getPosition()) > 400000) {
|
if (portal.getPosition().distanceSq(chr.getPosition()) > 400000) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
portal.enterPortal(c);
|
portal.enterPortal(c);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|||||||
@@ -37,11 +37,11 @@ public final class ChangeMapSpecialHandler extends AbstractMaplePacketHandler {
|
|||||||
slea.readShort();
|
slea.readShort();
|
||||||
MaplePortal portal = c.getPlayer().getMap().getPortal(startwp);
|
MaplePortal portal = c.getPlayer().getMap().getPortal(startwp);
|
||||||
if (portal == null || c.getPlayer().portalDelay() > currentServerTime() || c.getPlayer().getBlockedPortals().contains(portal.getScriptName())) {
|
if (portal == null || c.getPlayer().portalDelay() > currentServerTime() || c.getPlayer().getBlockedPortals().contains(portal.getScriptName())) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (c.getPlayer().isChangingMaps() || c.getPlayer().isBanned()) {
|
if (c.getPlayer().isChangingMaps() || c.getPlayer().isBanned()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (c.getPlayer().getTrade() != null) {
|
if (c.getPlayer().getTrade() != null) {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public final class CharInfoRequestHandler extends AbstractMaplePacketHandler {
|
|||||||
if(c.getPlayer().getId() != player.getId()) {
|
if(c.getPlayer().getId() != player.getId()) {
|
||||||
player.exportExcludedItems(c);
|
player.exportExcludedItems(c);
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.charInfo(player));
|
c.sendPacket(PacketCreator.charInfo(player));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
|
|||||||
return;
|
return;
|
||||||
if (GameConstants.isDojo(chr.getMap().getId()) && attack.numAttacked > 0) {
|
if (GameConstants.isDojo(chr.getMap().getId()) && attack.numAttacked > 0) {
|
||||||
chr.setDojoEnergy(chr.getDojoEnergy() + YamlConfig.config.server.DOJO_ENERGY_ATK);
|
chr.setDojoEnergy(chr.getDojoEnergy() + YamlConfig.config.server.DOJO_ENERGY_ATK);
|
||||||
c.announce(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
c.sendPacket(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
||||||
}
|
}
|
||||||
|
|
||||||
chr.getMap().broadcastMessage(chr, PacketCreator.closeRangeAttack(chr, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, attack.speed, attack.direction, attack.display), false, true);
|
chr.getMap().broadcastMessage(chr, PacketCreator.closeRangeAttack(chr, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, attack.speed, attack.direction, attack.display), false, true);
|
||||||
@@ -104,7 +104,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
|
|||||||
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.COMBO, neworbcount));
|
List<Pair<MapleBuffStat, Integer>> stat = Collections.singletonList(new Pair<>(MapleBuffStat.COMBO, neworbcount));
|
||||||
chr.setBuffedValue(MapleBuffStat.COMBO, neworbcount);
|
chr.setBuffedValue(MapleBuffStat.COMBO, neworbcount);
|
||||||
duration -= (int) (currentServerTime() - chr.getBuffedStarttime(MapleBuffStat.COMBO));
|
duration -= (int) (currentServerTime() - chr.getBuffedStarttime(MapleBuffStat.COMBO));
|
||||||
c.announce(PacketCreator.giveBuff(oid, duration, stat));
|
c.sendPacket(PacketCreator.giveBuff(oid, duration, stat));
|
||||||
chr.getMap().broadcastMessage(chr, PacketCreator.giveForeignBuff(chr.getId(), stat), false);
|
chr.getMap().broadcastMessage(chr, PacketCreator.giveForeignBuff(chr.getId(), stat), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -146,8 +146,8 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
chr.setDojoEnergy(0);
|
chr.setDojoEnergy(0);
|
||||||
c.announce(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
c.sendPacket(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
||||||
c.announce(PacketCreator.serverNotice(5, "As you used the secret skill, your energy bar has been reset."));
|
c.sendPacket(PacketCreator.serverNotice(5, "As you used the secret skill, your energy bar has been reset."));
|
||||||
} else if (attack.skill > 0) {
|
} else if (attack.skill > 0) {
|
||||||
Skill skill = SkillFactory.getSkill(attack.skill);
|
Skill skill = SkillFactory.getSkill(attack.skill);
|
||||||
MapleStatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
|
MapleStatEffect effect_ = skill.getEffect(chr.getSkillLevel(skill));
|
||||||
@@ -155,7 +155,7 @@ public final class CloseRangeDamageHandler extends AbstractDealDamageHandler {
|
|||||||
if (chr.skillIsCooling(attack.skill)) {
|
if (chr.skillIsCooling(attack.skill)) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
|
c.sendPacket(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
|
||||||
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
|
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ public final class CouponCodeHandler extends AbstractMaplePacketHandler {
|
|||||||
Pair<Integer, List<Pair<Integer, Pair<Integer, Integer>>>> codeRes = getNXCodeResult(c.getPlayer(), code.toUpperCase());
|
Pair<Integer, List<Pair<Integer, Pair<Integer, Integer>>>> codeRes = getNXCodeResult(c.getPlayer(), code.toUpperCase());
|
||||||
int type = codeRes.getLeft();
|
int type = codeRes.getLeft();
|
||||||
if (type < 0) {
|
if (type < 0) {
|
||||||
c.announce(PacketCreator.showCashShopMessage((byte) parseCouponResult(type)));
|
c.sendPacket(PacketCreator.showCashShopMessage((byte) parseCouponResult(type)));
|
||||||
} else {
|
} else {
|
||||||
List<Item> cashItems = new LinkedList<>();
|
List<Item> cashItems = new LinkedList<>();
|
||||||
List<Pair<Integer, Integer>> items = new LinkedList<>();
|
List<Pair<Integer, Integer>> items = new LinkedList<>();
|
||||||
@@ -260,9 +260,9 @@ public final class CouponCodeHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nxCredit != 0 || nxPrepaid != 0) { //coupon packet can only show maple points (afaik)
|
if (nxCredit != 0 || nxPrepaid != 0) { //coupon packet can only show maple points (afaik)
|
||||||
c.announce(PacketCreator.showBoughtQuestItem(0));
|
c.sendPacket(PacketCreator.showBoughtQuestItem(0));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showCouponRedeemedItems(c.getAccID(), maplePoints, mesos, cashItems, items));
|
c.sendPacket(PacketCreator.showCouponRedeemedItems(c.getAccID(), maplePoints, mesos, cashItems, items));
|
||||||
}
|
}
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public final class DenyPartyRequestHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
if (MapleInviteCoordinator.answerInvite(InviteType.PARTY, chr.getId(), cfrom.getPartyId(), false).result == InviteResult.DENIED) {
|
if (MapleInviteCoordinator.answerInvite(InviteType.PARTY, chr.getId(), cfrom.getPartyId(), false).result == InviteResult.DENIED) {
|
||||||
chr.updatePartySearchAvailability(chr.getParty() == null);
|
chr.updatePartySearchAvailability(chr.getParty() == null);
|
||||||
cfrom.getClient().announce(PacketCreator.partyStatusMessage(23, chr.getName()));
|
cfrom.sendPacket(PacketCreator.partyStatusMessage(23, chr.getName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public final class DoorHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
if (chr.isChangingMaps() || chr.isBanned()) {
|
if (chr.isChangingMaps() || chr.isBanned()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ public final class DoorHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.blockedMessage(6));
|
c.sendPacket(PacketCreator.blockedMessage(6));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public final class DueyHandler extends AbstractMaplePacketHandler {
|
|||||||
@Override
|
@Override
|
||||||
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||||
if (!YamlConfig.config.server.USE_DUEY){
|
if (!YamlConfig.config.server.USE_DUEY){
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,19 +40,19 @@ public class EnterCashShopHandler extends AbstractMaplePacketHandler {
|
|||||||
MapleCharacter mc = c.getPlayer();
|
MapleCharacter mc = c.getPlayer();
|
||||||
|
|
||||||
if (mc.cannotEnterCashShop()) {
|
if (mc.cannotEnterCashShop()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mc.getEventInstance() != null) {
|
if(mc.getEventInstance() != null) {
|
||||||
c.announce(PacketCreator.serverNotice(5, "Entering Cash Shop or MTS are disabled when registered on an event."));
|
c.sendPacket(PacketCreator.serverNotice(5, "Entering Cash Shop or MTS are disabled when registered on an event."));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(MapleMiniDungeonInfo.isDungeonMap(mc.getMapId())) {
|
if(MapleMiniDungeonInfo.isDungeonMap(mc.getMapId())) {
|
||||||
c.announce(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
c.sendPacket(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,11 +79,11 @@ public class EnterCashShopHandler extends AbstractMaplePacketHandler {
|
|||||||
mc.forfeitExpirableQuests();
|
mc.forfeitExpirableQuests();
|
||||||
mc.cancelQuestExpirationTask();
|
mc.cancelQuestExpirationTask();
|
||||||
|
|
||||||
c.announce(PacketCreator.openCashShop(c, false));
|
c.sendPacket(PacketCreator.openCashShop(c, false));
|
||||||
c.announce(PacketCreator.showCashInventory(c));
|
c.sendPacket(PacketCreator.showCashInventory(c));
|
||||||
c.announce(PacketCreator.showGifts(mc.getCashShop().loadGifts()));
|
c.sendPacket(PacketCreator.showGifts(mc.getCashShop().loadGifts()));
|
||||||
c.announce(PacketCreator.showWishList(mc, false));
|
c.sendPacket(PacketCreator.showWishList(mc, false));
|
||||||
c.announce(PacketCreator.showCash(mc));
|
c.sendPacket(PacketCreator.showCash(mc));
|
||||||
|
|
||||||
c.getChannelServer().removePlayer(mc);
|
c.getChannelServer().removePlayer(mc);
|
||||||
mc.getMap().removePlayer(mc);
|
mc.getMap().removePlayer(mc);
|
||||||
|
|||||||
@@ -51,38 +51,38 @@ public final class EnterMTSHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
if(!chr.isAlive() && YamlConfig.config.server.USE_BUYBACK_SYSTEM) {
|
if(!chr.isAlive() && YamlConfig.config.server.USE_BUYBACK_SYSTEM) {
|
||||||
BuybackProcessor.processBuyback(c);
|
BuybackProcessor.processBuyback(c);
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else {
|
} else {
|
||||||
if (!YamlConfig.config.server.USE_MTS) {
|
if (!YamlConfig.config.server.USE_MTS) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(chr.getEventInstance() != null) {
|
if(chr.getEventInstance() != null) {
|
||||||
c.announce(PacketCreator.serverNotice(5, "Entering Cash Shop or MTS are disabled when registered on an event."));
|
c.sendPacket(PacketCreator.serverNotice(5, "Entering Cash Shop or MTS are disabled when registered on an event."));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(MapleMiniDungeonInfo.isDungeonMap(chr.getMapId())) {
|
if(MapleMiniDungeonInfo.isDungeonMap(chr.getMapId())) {
|
||||||
c.announce(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
c.sendPacket(PacketCreator.serverNotice(5, "Changing channels or entering Cash Shop or MTS are disabled when inside a Mini-Dungeon."));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (FieldLimit.CANNOTMIGRATE.check(chr.getMap().getFieldLimit())) {
|
if (FieldLimit.CANNOTMIGRATE.check(chr.getMap().getFieldLimit())) {
|
||||||
chr.dropMessage(1, "You can't do it here in this map.");
|
chr.dropMessage(1, "You can't do it here in this map.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!chr.isAlive()) {
|
if (!chr.isAlive()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (chr.getLevel() < 10) {
|
if (chr.getLevel() < 10) {
|
||||||
c.announce(PacketCreator.blockedMessage2(5));
|
c.sendPacket(PacketCreator.blockedMessage2(5));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,14 +110,14 @@ public final class EnterMTSHandler extends AbstractMaplePacketHandler {
|
|||||||
c.getChannelServer().removePlayer(chr);
|
c.getChannelServer().removePlayer(chr);
|
||||||
chr.getMap().removePlayer(c.getPlayer());
|
chr.getMap().removePlayer(c.getPlayer());
|
||||||
try {
|
try {
|
||||||
c.announce(PacketCreator.openCashShop(c, true));
|
c.sendPacket(PacketCreator.openCashShop(c, true));
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
chr.getCashShop().open(true);// xD
|
chr.getCashShop().open(true);// xD
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.MTSWantedListingOver(0, 0));
|
c.sendPacket(PacketCreator.MTSWantedListingOver(0, 0));
|
||||||
c.announce(PacketCreator.showMTSCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||||
List<MTSItemInfo> items = new ArrayList<>();
|
List<MTSItemInfo> items = new ArrayList<>();
|
||||||
int pages = 0;
|
int pages = 0;
|
||||||
try (Connection con = DatabaseConnection.getConnection()) {
|
try (Connection con = DatabaseConnection.getConnection()) {
|
||||||
@@ -171,9 +171,9 @@ public final class EnterMTSHandler extends AbstractMaplePacketHandler {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.sendMTS(items, 1, 0, 0, pages));
|
c.sendPacket(PacketCreator.sendMTS(items, 1, 0, 0, pages));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(chr.getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(chr.getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(chr.getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(chr.getId())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,26 +45,26 @@ public final class FamilyAddHandler extends AbstractMaplePacketHandler {
|
|||||||
MapleCharacter addChr = c.getChannelServer().getPlayerStorage().getCharacterByName(toAdd);
|
MapleCharacter addChr = c.getChannelServer().getPlayerStorage().getCharacterByName(toAdd);
|
||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
if(addChr == null) {
|
if(addChr == null) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(65, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(65, 0));
|
||||||
} else if(addChr == chr) { //only possible through packet editing/client editing i think?
|
} else if(addChr == chr) { //only possible through packet editing/client editing i think?
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else if(addChr.getMap() != chr.getMap() || (addChr.isHidden()) && chr.gmLevel() < addChr.gmLevel()) {
|
} else if(addChr.getMap() != chr.getMap() || (addChr.isHidden()) && chr.gmLevel() < addChr.gmLevel()) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(69, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(69, 0));
|
||||||
} else if(addChr.getLevel() <= 10) {
|
} else if(addChr.getLevel() <= 10) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(77, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(77, 0));
|
||||||
} else if(Math.abs(addChr.getLevel() - chr.getLevel()) > 20) {
|
} else if(Math.abs(addChr.getLevel() - chr.getLevel()) > 20) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(72, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(72, 0));
|
||||||
} else if(addChr.getFamily() != null && addChr.getFamily() == chr.getFamily()) { //same family
|
} else if(addChr.getFamily() != null && addChr.getFamily() == chr.getFamily()) { //same family
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY, addChr.getId())) {
|
} else if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY, addChr.getId())) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(73, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(73, 0));
|
||||||
} else if(chr.getFamily() != null && addChr.getFamily() != null && addChr.getFamily().getTotalGenerations() + chr.getFamily().getTotalGenerations() > YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
} else if(chr.getFamily() != null && addChr.getFamily() != null && addChr.getFamily().getTotalGenerations() + chr.getFamily().getTotalGenerations() > YamlConfig.config.server.FAMILY_MAX_GENERATIONS) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(76, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(76, 0));
|
||||||
} else {
|
} else {
|
||||||
MapleInviteCoordinator.createInvite(InviteType.FAMILY, chr, addChr, addChr.getId());
|
MapleInviteCoordinator.createInvite(InviteType.FAMILY, chr, addChr, addChr.getId());
|
||||||
addChr.getClient().announce(PacketCreator.sendFamilyInvite(chr.getId(), chr.getName()));
|
addChr.getClient().sendPacket(PacketCreator.sendFamilyInvite(chr.getId(), chr.getName()));
|
||||||
chr.dropMessage("The invite has been sent.");
|
chr.dropMessage("The invite has been sent.");
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class FamilyPreceptsHandler extends AbstractMaplePacketHandler {
|
|||||||
if(newPrecepts.length() > 200) return;
|
if(newPrecepts.length() > 200) return;
|
||||||
family.setMessage(newPrecepts, true);
|
family.setMessage(newPrecepts, true);
|
||||||
//family.broadcastFamilyInfoUpdate(); //probably don't need to broadcast for this?
|
//family.broadcastFamilyInfoUpdate(); //probably don't need to broadcast for this?
|
||||||
c.announce(PacketCreator.getFamilyInfo(c.getPlayer().getFamilyEntry()));
|
c.sendPacket(PacketCreator.getFamilyInfo(c.getPlayer().getFamilyEntry()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class FamilySeparateHandler extends AbstractMaplePacketHandler {
|
|||||||
int cost = 2500 * levelDiff;
|
int cost = 2500 * levelDiff;
|
||||||
cost += levelDiff * levelDiff;
|
cost += levelDiff * levelDiff;
|
||||||
if(c.getPlayer().getMeso() < cost) {
|
if(c.getPlayer().getMeso() < cost) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(isSenior ? 81 : 80, cost));
|
c.sendPacket(PacketCreator.sendFamilyMessage(isSenior ? 81 : 80, cost));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
c.getPlayer().gainMeso(-cost);
|
c.getPlayer().gainMeso(-cost);
|
||||||
@@ -61,9 +61,9 @@ public class FamilySeparateHandler extends AbstractMaplePacketHandler {
|
|||||||
if(senior.getSenior() != null) senior.getSenior().gainReputation(-(repCost/2), false);
|
if(senior.getSenior() != null) senior.getSenior().gainReputation(-(repCost/2), false);
|
||||||
forkOn.announceToSenior(PacketCreator.serverNotice(5, forkOn.getName() + " has left the family."), true);
|
forkOn.announceToSenior(PacketCreator.serverNotice(5, forkOn.getName() + " has left the family."), true);
|
||||||
forkOn.fork();
|
forkOn.fork();
|
||||||
c.announce(PacketCreator.getFamilyInfo(forkOn)); //pedigree info will be requested from the client if the window is open
|
c.sendPacket(PacketCreator.getFamilyInfo(forkOn)); //pedigree info will be requested from the client if the window is open
|
||||||
forkOn.updateSeniorFamilyInfo(true);
|
forkOn.updateSeniorFamilyInfo(true);
|
||||||
c.announce(PacketCreator.sendFamilyMessage(1, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(1, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class FamilySummonResponseHandler extends AbstractMaplePacketHandler {
|
|||||||
} else {
|
} else {
|
||||||
inviterEntry.refundEntitlement(MapleFamilyEntitlement.SUMMON_FAMILY);
|
inviterEntry.refundEntitlement(MapleFamilyEntitlement.SUMMON_FAMILY);
|
||||||
inviterEntry.gainReputation(MapleFamilyEntitlement.SUMMON_FAMILY.getRepCost(), false); //refund rep cost if declined
|
inviterEntry.gainReputation(MapleFamilyEntitlement.SUMMON_FAMILY.getRepCost(), false); //refund rep cost if declined
|
||||||
inviter.announce(PacketCreator.getFamilyInfo(inviterEntry));
|
inviter.sendPacket(PacketCreator.getFamilyInfo(inviterEntry));
|
||||||
inviter.dropMessage(5, c.getPlayer().getName() + " has denied the summon request.");
|
inviter.dropMessage(5, c.getPlayer().getName() + " has denied the summon request.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public final class FamilyUseHandler extends AbstractMaplePacketHandler {
|
|||||||
if(entry.getReputation() < cost || entry.isEntitlementUsed(type)) {
|
if(entry.getReputation() < cost || entry.isEntitlementUsed(type)) {
|
||||||
return; // shouldn't even be able to request it
|
return; // shouldn't even be able to request it
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.getFamilyInfo(entry));
|
c.sendPacket(PacketCreator.getFamilyInfo(entry));
|
||||||
MapleCharacter victim;
|
MapleCharacter victim;
|
||||||
if(type == MapleFamilyEntitlement.FAMILY_REUINION || type == MapleFamilyEntitlement.SUMMON_FAMILY) {
|
if(type == MapleFamilyEntitlement.FAMILY_REUINION || type == MapleFamilyEntitlement.SUMMON_FAMILY) {
|
||||||
victim = c.getChannelServer().getPlayerStorage().getCharacterByName(slea.readMapleAsciiString());
|
victim = c.getChannelServer().getPlayerStorage().getCharacterByName(slea.readMapleAsciiString());
|
||||||
@@ -67,7 +67,7 @@ public final class FamilyUseHandler extends AbstractMaplePacketHandler {
|
|||||||
c.getPlayer().changeMap(victim.getMap(), victim.getMap().getPortal(0));
|
c.getPlayer().changeMap(victim.getMap(), victim.getMap().getPortal(0));
|
||||||
useEntitlement(entry, type);
|
useEntitlement(entry, type);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(75, 0)); // wrong message, but close enough. (client should check this first anyway)
|
c.sendPacket(PacketCreator.sendFamilyMessage(75, 0)); // wrong message, but close enough. (client should check this first anyway)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -75,20 +75,20 @@ public final class FamilyUseHandler extends AbstractMaplePacketHandler {
|
|||||||
&& (ownMap.getForcedReturnId() == 999999999 || ownMap.getId() < 100000000) && ownMap.getEventInstance() == null) {
|
&& (ownMap.getForcedReturnId() == 999999999 || ownMap.getId() < 100000000) && ownMap.getEventInstance() == null) {
|
||||||
|
|
||||||
if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY_SUMMON, victim.getId())) {
|
if(MapleInviteCoordinator.hasInvite(InviteType.FAMILY_SUMMON, victim.getId())) {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(74, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(74, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MapleInviteCoordinator.createInvite(InviteType.FAMILY_SUMMON, c.getPlayer(), victim, victim.getId(), c.getPlayer().getMap());
|
MapleInviteCoordinator.createInvite(InviteType.FAMILY_SUMMON, c.getPlayer(), victim, victim.getId(), c.getPlayer().getMap());
|
||||||
victim.announce(PacketCreator.sendFamilySummonRequest(c.getPlayer().getFamily().getName(), c.getPlayer().getName()));
|
victim.sendPacket(PacketCreator.sendFamilySummonRequest(c.getPlayer().getFamily().getName(), c.getPlayer().getName()));
|
||||||
useEntitlement(entry, type);
|
useEntitlement(entry, type);
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(75, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(75, 0));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.sendFamilyMessage(67, 0));
|
c.sendPacket(PacketCreator.sendFamilyMessage(67, 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if(type == MapleFamilyEntitlement.FAMILY_BONDING) {
|
} else if(type == MapleFamilyEntitlement.FAMILY_BONDING) {
|
||||||
@@ -133,7 +133,7 @@ public final class FamilyUseHandler extends AbstractMaplePacketHandler {
|
|||||||
private boolean useEntitlement(MapleFamilyEntry entry, MapleFamilyEntitlement entitlement) {
|
private boolean useEntitlement(MapleFamilyEntry entry, MapleFamilyEntitlement entitlement) {
|
||||||
if(entry.useEntitlement(entitlement)) {
|
if(entry.useEntitlement(entitlement)) {
|
||||||
entry.gainReputation(-entitlement.getRepCost(), false);
|
entry.gainReputation(-entitlement.getRepCost(), false);
|
||||||
entry.getChr().announce(PacketCreator.getFamilyInfo(entry));
|
entry.getChr().sendPacket(PacketCreator.getFamilyInfo(entry));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class FredrickHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
switch (operation) {
|
switch (operation) {
|
||||||
case 0x19: //Will never come...
|
case 0x19: //Will never come...
|
||||||
//c.announce(PacketCreator.getFredrick((byte) 0x24));
|
//c.sendPacket(PacketCreator.getFredrick((byte) 0x24));
|
||||||
break;
|
break;
|
||||||
case 0x1A:
|
case 0x1A:
|
||||||
FredrickProcessor.fredrickRetrieveItems(c);
|
FredrickProcessor.fredrickRetrieveItems(c);
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public final class GeneralChatHandler extends AbstractMaplePacketHandler {
|
|||||||
String s = slea.readMapleAsciiString();
|
String s = slea.readMapleAsciiString();
|
||||||
MapleCharacter chr = c.getPlayer();
|
MapleCharacter chr = c.getPlayer();
|
||||||
if(chr.getAutobanManager().getLastSpam(7) + 200 > currentServerTime()) {
|
if(chr.getAutobanManager().getLastSpam(7) + 200 > currentServerTime()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (s.length() > Byte.MAX_VALUE && !chr.isGM()) {
|
if (s.length() > Byte.MAX_VALUE && !chr.isGM()) {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public final class GiveFameHandler extends AbstractMaplePacketHandler {
|
|||||||
player.message("Could not process the request, since this character currently has the minimum/maximum level of fame.");
|
player.message("Could not process the request, since this character currently has the minimum/maximum level of fame.");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.giveFameErrorResponse(status == FameStatus.NOT_TODAY ? 3 : 4));
|
c.sendPacket(PacketCreator.giveFameErrorResponse(status == FameStatus.NOT_TODAY ? 3 : 4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,7 @@ import constants.game.GameConstants;
|
|||||||
import net.AbstractMaplePacketHandler;
|
import net.AbstractMaplePacketHandler;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.coordinator.matchchecker.MatchCheckerListenerFactory.MatchCheckerType;
|
import net.server.coordinator.matchchecker.MatchCheckerListenerFactory.MatchCheckerType;
|
||||||
|
import net.server.guild.GuildPackets;
|
||||||
import net.server.guild.MapleAlliance;
|
import net.server.guild.MapleAlliance;
|
||||||
import net.server.guild.MapleGuild;
|
import net.server.guild.MapleGuild;
|
||||||
import net.server.guild.MapleGuildResponse;
|
import net.server.guild.MapleGuildResponse;
|
||||||
@@ -59,7 +60,7 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
int allianceId = -1;
|
int allianceId = -1;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0x00:
|
case 0x00:
|
||||||
//c.announce(PacketCreator.showGuildInfo(mc));
|
//c.sendPacket(PacketCreator.showGuildInfo(mc));
|
||||||
break;
|
break;
|
||||||
case 0x02:
|
case 0x02:
|
||||||
if (mc.getGuildId() > 0) {
|
if (mc.getGuildId() > 0) {
|
||||||
@@ -109,7 +110,7 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
String targetName = slea.readMapleAsciiString();
|
String targetName = slea.readMapleAsciiString();
|
||||||
MapleGuildResponse mgr = MapleGuild.sendInvitation(c, targetName);
|
MapleGuildResponse mgr = MapleGuild.sendInvitation(c, targetName);
|
||||||
if (mgr != null) {
|
if (mgr != null) {
|
||||||
c.announce(mgr.getPacket(targetName));
|
c.sendPacket(mgr.getPacket(targetName));
|
||||||
} else {} // already sent invitation, do nothing
|
} else {} // already sent invitation, do nothing
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -140,14 +141,14 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.showGuildInfo(mc));
|
c.sendPacket(GuildPackets.showGuildInfo(mc));
|
||||||
|
|
||||||
allianceId = mc.getGuild().getAllianceId();
|
allianceId = mc.getGuild().getAllianceId();
|
||||||
if(allianceId > 0) Server.getInstance().getAlliance(allianceId).updateAlliancePackets(mc);
|
if(allianceId > 0) Server.getInstance().getAlliance(allianceId).updateAlliancePackets(mc);
|
||||||
|
|
||||||
mc.saveGuildStatus(); // update database
|
mc.saveGuildStatus(); // update database
|
||||||
mc.getMap().broadcastMessage(mc, PacketCreator.guildNameChanged(mc.getId(), mc.getGuild().getName())); // thanks Vcoc for pointing out an issue with updating guild tooltip to players in the map
|
mc.getMap().broadcastPacket(mc, GuildPackets.guildNameChanged(mc.getId(), mc.getGuild().getName())); // thanks Vcoc for pointing out an issue with updating guild tooltip to players in the map
|
||||||
mc.getMap().broadcastMessage(mc, PacketCreator.guildMarkChanged(mc.getId(), mc.getGuild()));
|
mc.getMap().broadcastPacket(mc, GuildPackets.guildMarkChanged(mc.getId(), mc.getGuild()));
|
||||||
break;
|
break;
|
||||||
case 0x07:
|
case 0x07:
|
||||||
cid = slea.readInt();
|
cid = slea.readInt();
|
||||||
@@ -159,16 +160,16 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
allianceId = mc.getGuild().getAllianceId();
|
allianceId = mc.getGuild().getAllianceId();
|
||||||
|
|
||||||
c.announce(PacketCreator.updateGP(mc.getGuildId(), 0));
|
c.sendPacket(GuildPackets.updateGP(mc.getGuildId(), 0));
|
||||||
Server.getInstance().leaveGuild(mc.getMGC());
|
Server.getInstance().leaveGuild(mc.getMGC());
|
||||||
|
|
||||||
c.announce(PacketCreator.showGuildInfo(null));
|
c.sendPacket(GuildPackets.showGuildInfo(null));
|
||||||
if(allianceId > 0) Server.getInstance().getAlliance(allianceId).updateAlliancePackets(mc);
|
if(allianceId > 0) Server.getInstance().getAlliance(allianceId).updateAlliancePackets(mc);
|
||||||
|
|
||||||
mc.getMGC().setGuildId(0);
|
mc.getMGC().setGuildId(0);
|
||||||
mc.getMGC().setGuildRank(5);
|
mc.getMGC().setGuildRank(5);
|
||||||
mc.saveGuildStatus();
|
mc.saveGuildStatus();
|
||||||
mc.getMap().broadcastMessage(mc, PacketCreator.guildNameChanged(mc.getId(), ""));
|
mc.getMap().broadcastPacket(mc, GuildPackets.guildNameChanged(mc.getId(), ""));
|
||||||
break;
|
break;
|
||||||
case 0x08:
|
case 0x08:
|
||||||
allianceId = mc.getGuild().getAllianceId();
|
allianceId = mc.getGuild().getAllianceId();
|
||||||
@@ -213,7 +214,7 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (mc.getMeso() < YamlConfig.config.server.CHANGE_EMBLEM_COST) {
|
if (mc.getMeso() < YamlConfig.config.server.CHANGE_EMBLEM_COST) {
|
||||||
c.announce(PacketCreator.serverNotice(1, "You do not have " + GameConstants.numberWithCommas(YamlConfig.config.server.CHANGE_EMBLEM_COST) + " mesos to change the Guild emblem."));
|
c.sendPacket(PacketCreator.serverNotice(1, "You do not have " + GameConstants.numberWithCommas(YamlConfig.config.server.CHANGE_EMBLEM_COST) + " mesos to change the Guild emblem."));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
short bg = slea.readShort();
|
short bg = slea.readShort();
|
||||||
@@ -224,7 +225,7 @@ public final class GuildOperationHandler extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
if (mc.getGuild() != null && mc.getGuild().getAllianceId() > 0) {
|
if (mc.getGuild() != null && mc.getGuild().getAllianceId() > 0) {
|
||||||
MapleAlliance alliance = mc.getAlliance();
|
MapleAlliance alliance = mc.getAlliance();
|
||||||
Server.getInstance().allianceMessage(alliance.getId(), PacketCreator.getGuildAlliances(alliance, c.getWorld()), -1, -1);
|
Server.getInstance().allianceMessage(alliance.getId(), GuildPackets.getGuildAlliances(alliance, c.getWorld()), -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
mc.gainMeso(-YamlConfig.config.server.CHANGE_EMBLEM_COST, true, false, true);
|
mc.gainMeso(-YamlConfig.config.server.CHANGE_EMBLEM_COST, true, false, true);
|
||||||
|
|||||||
@@ -53,11 +53,11 @@ public final class HiredMerchantRequest extends AbstractMaplePacketHandler {
|
|||||||
|
|
||||||
MaplePlayerShop shop = mc.getPlayerShop();
|
MaplePlayerShop shop = mc.getPlayerShop();
|
||||||
if (shop != null && shop.isOwner(mc)) {
|
if (shop != null && shop.isOwner(mc)) {
|
||||||
chr.announce(PacketCreator.getMiniRoomError(13));
|
chr.sendPacket(PacketCreator.getMiniRoomError(13));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
chr.announce(PacketCreator.getMiniRoomError(13));
|
chr.sendPacket(PacketCreator.getMiniRoomError(13));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -65,7 +65,7 @@ public final class HiredMerchantRequest extends AbstractMaplePacketHandler {
|
|||||||
Point cpos = chr.getPosition();
|
Point cpos = chr.getPosition();
|
||||||
MaplePortal portal = chr.getMap().findClosestTeleportPortal(cpos);
|
MaplePortal portal = chr.getMap().findClosestTeleportPortal(cpos);
|
||||||
if (portal != null && portal.getPosition().distance(cpos) < 120.0) {
|
if (portal != null && portal.getPosition().distance(cpos) < 120.0) {
|
||||||
chr.announce(PacketCreator.getMiniRoomError(10));
|
chr.sendPacket(PacketCreator.getMiniRoomError(10));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -76,9 +76,9 @@ public final class HiredMerchantRequest extends AbstractMaplePacketHandler {
|
|||||||
if (!chr.hasMerchant()) {
|
if (!chr.hasMerchant()) {
|
||||||
try {
|
try {
|
||||||
if (ItemFactory.MERCHANT.loadItems(chr.getId(), false).isEmpty() && chr.getMerchantMeso() == 0) {
|
if (ItemFactory.MERCHANT.loadItems(chr.getId(), false).isEmpty() && chr.getMerchantMeso() == 0) {
|
||||||
c.announce(PacketCreator.hiredMerchantBox());
|
c.sendPacket(PacketCreator.hiredMerchantBox());
|
||||||
} else {
|
} else {
|
||||||
chr.announce(PacketCreator.retrieveFirstMessage());
|
chr.sendPacket(PacketCreator.retrieveFirstMessage());
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ public final class InventoryMergeHandler extends AbstractMaplePacketHandler {
|
|||||||
chr.getAutobanManager().setTimestamp(2, Server.getInstance().getCurrentTimestamp(), 4);
|
chr.getAutobanManager().setTimestamp(2, Server.getInstance().getCurrentTimestamp(), 4);
|
||||||
|
|
||||||
if(!YamlConfig.config.server.USE_ITEM_SORT) {
|
if(!YamlConfig.config.server.USE_ITEM_SORT) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ public final class InventoryMergeHandler extends AbstractMaplePacketHandler {
|
|||||||
inventory.unlockInventory();
|
inventory.unlockInventory();
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.finishedSort(inventoryType.getType()));
|
c.sendPacket(PacketCreator.finishedSort(inventoryType.getType()));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,7 +267,7 @@ public final class InventorySortHandler extends AbstractMaplePacketHandler {
|
|||||||
chr.getAutobanManager().setTimestamp(3, Server.getInstance().getCurrentTimestamp(), 4);
|
chr.getAutobanManager().setTimestamp(3, Server.getInstance().getCurrentTimestamp(), 4);
|
||||||
|
|
||||||
if(!YamlConfig.config.server.USE_ITEM_SORT) {
|
if(!YamlConfig.config.server.USE_ITEM_SORT) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -308,8 +308,8 @@ public final class InventorySortHandler extends AbstractMaplePacketHandler {
|
|||||||
inventory.unlockInventory();
|
inventory.unlockInventory();
|
||||||
}
|
}
|
||||||
|
|
||||||
c.announce(PacketCreator.modifyInventory(true, mods));
|
c.sendPacket(PacketCreator.modifyInventory(true, mods));
|
||||||
c.announce(PacketCreator.finishedSort2(invType));
|
c.sendPacket(PacketCreator.finishedSort2(invType));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public final class ItemMoveHandler extends AbstractMaplePacketHandler {
|
|||||||
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
||||||
slea.skip(4);
|
slea.skip(4);
|
||||||
if(c.getPlayer().getAutobanManager().getLastSpam(6) + 300 > currentServerTime()) {
|
if(c.getPlayer().getAutobanManager().getLastSpam(6) + 300 > currentServerTime()) {
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ public final class ItemRewardHandler extends AbstractMaplePacketHandler {
|
|||||||
Pair<Integer, List<RewardItem>> rewards = ii.getItemReward(itemId);
|
Pair<Integer, List<RewardItem>> rewards = ii.getItemReward(itemId);
|
||||||
for (RewardItem reward : rewards.getRight()) {
|
for (RewardItem reward : rewards.getRight()) {
|
||||||
if (!MapleInventoryManipulator.checkSpace(c, reward.itemid, reward.quantity, "")) {
|
if (!MapleInventoryManipulator.checkSpace(c, reward.itemid, reward.quantity, "")) {
|
||||||
c.announce(PacketCreator.getShowInventoryFull());
|
c.sendPacket(PacketCreator.getShowInventoryFull());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (Randomizer.nextInt(rewards.getLeft()) < reward.prob) {//Is it even possible to get an item with prob 1?
|
if (Randomizer.nextInt(rewards.getLeft()) < reward.prob) {//Is it even possible to get an item with prob 1?
|
||||||
@@ -77,6 +77,6 @@ public final class ItemRewardHandler extends AbstractMaplePacketHandler {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import tools.data.input.SeekableLittleEndianAccessor;
|
|||||||
*/
|
*/
|
||||||
public class LeftKnockbackHandler extends AbstractMaplePacketHandler {
|
public class LeftKnockbackHandler extends AbstractMaplePacketHandler {
|
||||||
public void handlePacket(SeekableLittleEndianAccessor slea, final MapleClient c) {
|
public void handlePacket(SeekableLittleEndianAccessor slea, final MapleClient c) {
|
||||||
c.announce(PacketCreator.leftKnockBack());
|
c.sendPacket(PacketCreator.leftKnockBack());
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ import client.inventory.MapleInventoryType;
|
|||||||
import client.inventory.manipulator.MapleInventoryManipulator;
|
import client.inventory.manipulator.MapleInventoryManipulator;
|
||||||
import constants.inventory.ItemConstants;
|
import constants.inventory.ItemConstants;
|
||||||
import net.AbstractMaplePacketHandler;
|
import net.AbstractMaplePacketHandler;
|
||||||
|
import net.packet.Packet;
|
||||||
import net.server.Server;
|
import net.server.Server;
|
||||||
import net.server.channel.Channel;
|
import net.server.channel.Channel;
|
||||||
import server.MTSItemInfo;
|
import server.MTSItemInfo;
|
||||||
@@ -114,9 +115,9 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
if (rs.getInt(1) > 10) { //They have more than 10 items up for sale already!
|
if (rs.getInt(1) > 10) { //They have more than 10 items up for sale already!
|
||||||
c.getPlayer().dropMessage(1, "You already have 10 items up for auction!");
|
c.getPlayer().dropMessage(1, "You already have 10 items up for auction!");
|
||||||
c.announce(getMTS(1, 0, 0));
|
c.sendPacket(getMTS(1, 0, 0));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
rs.close();
|
rs.close();
|
||||||
ps.close();
|
ps.close();
|
||||||
return;
|
return;
|
||||||
@@ -219,11 +220,11 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
c.getPlayer().gainMeso(-5000, false);
|
c.getPlayer().gainMeso(-5000, false);
|
||||||
c.announce(PacketCreator.MTSConfirmSell());
|
c.sendPacket(PacketCreator.MTSConfirmSell());
|
||||||
c.announce(getMTS(1, 0, 0));
|
c.sendPacket(getMTS(1, 0, 0));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
}
|
}
|
||||||
} else if (op == 3) { //send offer for wanted item
|
} else if (op == 3) { //send offer for wanted item
|
||||||
} else if (op == 4) { //list wanted item
|
} else if (op == 4) { //list wanted item
|
||||||
@@ -238,18 +239,18 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
int page = slea.readInt();
|
int page = slea.readInt();
|
||||||
c.getPlayer().changePage(page);
|
c.getPlayer().changePage(page);
|
||||||
if (tab == 4 && type == 0) {
|
if (tab == 4 && type == 0) {
|
||||||
c.announce(getCart(c.getPlayer().getId()));
|
c.sendPacket(getCart(c.getPlayer().getId()));
|
||||||
} else if (tab == c.getPlayer().getCurrentTab() && type == c.getPlayer().getCurrentType() && c.getPlayer().getSearch() != null) {
|
} else if (tab == c.getPlayer().getCurrentTab() && type == c.getPlayer().getCurrentType() && c.getPlayer().getSearch() != null) {
|
||||||
c.announce(getMTSSearch(tab, type, c.getPlayer().getCurrentCI(), c.getPlayer().getSearch(), page));
|
c.sendPacket(getMTSSearch(tab, type, c.getPlayer().getCurrentCI(), c.getPlayer().getSearch(), page));
|
||||||
} else {
|
} else {
|
||||||
c.getPlayer().setSearch(null);
|
c.getPlayer().setSearch(null);
|
||||||
c.announce(getMTS(tab, type, page));
|
c.sendPacket(getMTS(tab, type, page));
|
||||||
}
|
}
|
||||||
c.getPlayer().changeTab(tab);
|
c.getPlayer().changeTab(tab);
|
||||||
c.getPlayer().changeType(type);
|
c.getPlayer().changeType(type);
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
} else if (op == 6) { //search
|
} else if (op == 6) { //search
|
||||||
int tab = slea.readInt();
|
int tab = slea.readInt();
|
||||||
int type = slea.readInt();
|
int type = slea.readInt();
|
||||||
@@ -261,11 +262,11 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
c.getPlayer().changeType(type);
|
c.getPlayer().changeType(type);
|
||||||
c.getPlayer().changeCI(ci);
|
c.getPlayer().changeCI(ci);
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
c.announce(getMTSSearch(tab, type, ci, search, c.getPlayer().getCurrentPage()));
|
c.sendPacket(getMTSSearch(tab, type, ci, search, c.getPlayer().getCurrentPage()));
|
||||||
c.announce(PacketCreator.showMTSCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
} else if (op == 7) { //cancel sale
|
} else if (op == 7) { //cancel sale
|
||||||
int id = slea.readInt(); //id of the item
|
int id = slea.readInt(); //id of the item
|
||||||
Connection con = null;
|
Connection con = null;
|
||||||
@@ -285,9 +286,9 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
c.sendPacket(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
} else if (op == 8) { //transfer item from transfer inv.
|
} else if (op == 8) { //transfer item from transfer inv.
|
||||||
int id = slea.readInt(); //id of the item
|
int id = slea.readInt(); //id of the item
|
||||||
Connection con = null;
|
Connection con = null;
|
||||||
@@ -344,10 +345,10 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
}
|
}
|
||||||
MapleInventoryManipulator.addFromDrop(c, i, false);
|
MapleInventoryManipulator.addFromDrop(c, i, false);
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(getCart(c.getPlayer().getId()));
|
c.sendPacket(getCart(c.getPlayer().getId()));
|
||||||
c.announce(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
c.sendPacket(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
||||||
c.announce(PacketCreator.MTSConfirmTransfer(i.getQuantity(), i.getPosition()));
|
c.sendPacket(PacketCreator.MTSConfirmTransfer(i.getQuantity(), i.getPosition()));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
}
|
}
|
||||||
rs.close();
|
rs.close();
|
||||||
ps.close();
|
ps.close();
|
||||||
@@ -385,11 +386,11 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
c.announce(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
c.sendPacket(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
} else if (op == 10) { //delete from cart
|
} else if (op == 10) { //delete from cart
|
||||||
int id = slea.readInt(); //id of the item
|
int id = slea.readInt(); //id of the item
|
||||||
Connection con = null;
|
Connection con = null;
|
||||||
@@ -404,10 +405,10 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
c.announce(getCart(c.getPlayer().getId()));
|
c.sendPacket(getCart(c.getPlayer().getId()));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
} else if (op == 12) { //put item up for auction
|
} else if (op == 12) { //put item up for auction
|
||||||
} else if (op == 13) { //cancel wanted cart thing
|
} else if (op == 13) { //cancel wanted cart thing
|
||||||
} else if (op == 14) { //buy auction item now
|
} else if (op == 14) { //buy auction item now
|
||||||
@@ -458,14 +459,14 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
pse.close();
|
pse.close();
|
||||||
c.getPlayer().getCashShop().gainCash(4, -price);
|
c.getPlayer().getCashShop().gainCash(4, -price);
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
c.sendPacket(getMTS(c.getPlayer().getCurrentTab(), c.getPlayer().getCurrentType(), c.getPlayer().getCurrentPage()));
|
||||||
c.announce(PacketCreator.MTSConfirmBuy());
|
c.sendPacket(PacketCreator.MTSConfirmBuy());
|
||||||
c.announce(PacketCreator.showMTSCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.enableActions());
|
c.sendPacket(PacketCreator.enableActions());
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.MTSFailBuy());
|
c.sendPacket(PacketCreator.MTSFailBuy());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rs.close();
|
rs.close();
|
||||||
@@ -473,7 +474,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
con.close();
|
con.close();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
c.announce(PacketCreator.MTSFailBuy());
|
c.sendPacket(PacketCreator.MTSFailBuy());
|
||||||
}
|
}
|
||||||
} else if (op == 17) { //buy from cart
|
} else if (op == 17) { //buy from cart
|
||||||
int id = slea.readInt(); //id of the item
|
int id = slea.readInt(); //id of the item
|
||||||
@@ -518,14 +519,14 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
pse.executeUpdate();
|
pse.executeUpdate();
|
||||||
pse.close();
|
pse.close();
|
||||||
c.getPlayer().getCashShop().gainCash(4, -price);
|
c.getPlayer().getCashShop().gainCash(4, -price);
|
||||||
c.announce(getCart(c.getPlayer().getId()));
|
c.sendPacket(getCart(c.getPlayer().getId()));
|
||||||
c.enableCSActions();
|
c.enableCSActions();
|
||||||
c.announce(PacketCreator.MTSConfirmBuy());
|
c.sendPacket(PacketCreator.MTSConfirmBuy());
|
||||||
c.announce(PacketCreator.showMTSCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||||
c.announce(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.transferInventory(getTransfer(c.getPlayer().getId())));
|
||||||
c.announce(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
c.sendPacket(PacketCreator.notYetSoldInv(getNotYetSold(c.getPlayer().getId())));
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.MTSFailBuy());
|
c.sendPacket(PacketCreator.MTSFailBuy());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rs.close();
|
rs.close();
|
||||||
@@ -533,13 +534,13 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
con.close();
|
con.close();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
c.announce(PacketCreator.MTSFailBuy());
|
c.sendPacket(PacketCreator.MTSFailBuy());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Unhandled OP(MTS): " + op + " Packet: " + slea.toString());
|
System.out.println("Unhandled OP(MTS): " + op + " Packet: " + slea.toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.showMTSCash(c.getPlayer()));
|
c.sendPacket(PacketCreator.showMTSCash(c.getPlayer()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -598,7 +599,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] getCart(int cid) {
|
public Packet getCart(int cid) {
|
||||||
List<MTSItemInfo> items = new ArrayList<>();
|
List<MTSItemInfo> items = new ArrayList<>();
|
||||||
Connection con = null;
|
Connection con = null;
|
||||||
PreparedStatement ps;
|
PreparedStatement ps;
|
||||||
@@ -726,7 +727,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static byte[] getMTS(int tab, int type, int page) {
|
private static Packet getMTS(int tab, int type, int page) {
|
||||||
List<MTSItemInfo> items = new ArrayList<>();
|
List<MTSItemInfo> items = new ArrayList<>();
|
||||||
Connection con = null;
|
Connection con = null;
|
||||||
PreparedStatement ps;
|
PreparedStatement ps;
|
||||||
@@ -806,7 +807,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
|||||||
return PacketCreator.sendMTS(items, tab, type, page, pages); // resniff
|
return PacketCreator.sendMTS(items, tab, type, page, pages); // resniff
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] getMTSSearch(int tab, int type, int cOi, String search, int page) {
|
public Packet getMTSSearch(int tab, int type, int cOi, String search, int page) {
|
||||||
List<MTSItemInfo> items = new ArrayList<>();
|
List<MTSItemInfo> items = new ArrayList<>();
|
||||||
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
|
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
|
||||||
String listaitems = "";
|
String listaitems = "";
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import constants.skills.Bishop;
|
|||||||
import constants.skills.Evan;
|
import constants.skills.Evan;
|
||||||
import constants.skills.FPArchMage;
|
import constants.skills.FPArchMage;
|
||||||
import constants.skills.ILArchMage;
|
import constants.skills.ILArchMage;
|
||||||
|
import net.packet.Packet;
|
||||||
import server.MapleStatEffect;
|
import server.MapleStatEffect;
|
||||||
import tools.PacketCreator;
|
import tools.PacketCreator;
|
||||||
import tools.data.input.SeekableLittleEndianAccessor;
|
import tools.data.input.SeekableLittleEndianAccessor;
|
||||||
@@ -55,11 +56,11 @@ public final class MagicDamageHandler extends AbstractDealDamageHandler {
|
|||||||
|
|
||||||
if (GameConstants.isDojo(chr.getMap().getId()) && attack.numAttacked > 0) {
|
if (GameConstants.isDojo(chr.getMap().getId()) && attack.numAttacked > 0) {
|
||||||
chr.setDojoEnergy(chr.getDojoEnergy() + + YamlConfig.config.server.DOJO_ENERGY_ATK);
|
chr.setDojoEnergy(chr.getDojoEnergy() + + YamlConfig.config.server.DOJO_ENERGY_ATK);
|
||||||
c.announce(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
c.sendPacket(PacketCreator.getEnergy("energy", chr.getDojoEnergy()));
|
||||||
}
|
}
|
||||||
|
|
||||||
int charge = (attack.skill == Evan.FIRE_BREATH || attack.skill == Evan.ICE_BREATH || attack.skill == FPArchMage.BIG_BANG || attack.skill == ILArchMage.BIG_BANG || attack.skill == Bishop.BIG_BANG) ? attack.charge : -1;
|
int charge = (attack.skill == Evan.FIRE_BREATH || attack.skill == Evan.ICE_BREATH || attack.skill == FPArchMage.BIG_BANG || attack.skill == ILArchMage.BIG_BANG || attack.skill == Bishop.BIG_BANG) ? attack.charge : -1;
|
||||||
byte[] packet = PacketCreator.magicAttack(chr, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, charge, attack.speed, attack.direction, attack.display);
|
Packet packet = PacketCreator.magicAttack(chr, attack.skill, attack.skilllevel, attack.stance, attack.numAttackedAndDamage, attack.allDamage, charge, attack.speed, attack.direction, attack.display);
|
||||||
|
|
||||||
chr.getMap().broadcastMessage(chr, packet, false, true);
|
chr.getMap().broadcastMessage(chr, packet, false, true);
|
||||||
MapleStatEffect effect = attack.getAttackEffect(chr, null);
|
MapleStatEffect effect = attack.getAttackEffect(chr, null);
|
||||||
@@ -69,7 +70,7 @@ public final class MagicDamageHandler extends AbstractDealDamageHandler {
|
|||||||
if (chr.skillIsCooling(attack.skill)) {
|
if (chr.skillIsCooling(attack.skill)) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
c.announce(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
|
c.sendPacket(PacketCreator.skillCooldown(attack.skill, effect_.getCooldown()));
|
||||||
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
|
chr.addCooldown(attack.skill, currentServerTime(), effect_.getCooldown() * 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user