Added meso drop data for many mobs that were missing mesos. Enhanced arrow drop data, now dropping bundles instead of unitary items. Fixed issues with several Aran change jobs crashing the player shortly after changing jobs. Improved concurrency in MapleGuild, MapleAlliance and MaplePlayerShop. New tools: MapleArrowFetcher and MapleMesoFetcher, that were used to compile the updated drop data info.
41 lines
1.5 KiB
Plaintext
41 lines
1.5 KiB
Plaintext
package net.sf.odinms.net.channel.handler;
|
|
import net.sf.odinms.client.MapleCharacter;
|
|
import net.sf.odinms.client.MapleClient;
|
|
import net.sf.odinms.net.AbstractMaplePacketHandler;
|
|
import net.sf.odinms.server.partyquest.mcpq.MCField;
|
|
import net.sf.odinms.server.partyquest.mcpq.MCTracker;
|
|
import net.sf.odinms.server.partyquest.mcpq.MonsterCarnival;
|
|
import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
|
|
|
|
/**
|
|
* Packet handler for Monster Carnival.
|
|
* @author s4nta
|
|
*/
|
|
public class MonsterCarnivalHandler extends AbstractMaplePacketHandler {
|
|
|
|
@Override
|
|
public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
|
|
int tab = slea.readByte();
|
|
int num = slea.readByte();
|
|
MapleCharacter chr = c.getPlayer();
|
|
|
|
if (MonsterCarnival.DEBUG) {
|
|
MCTracker.log("[MCHandler] " + chr.getName() + " used tab " + tab + " num " + num);
|
|
System.out.println("[MCHandler] " + chr.getName() + " used tab " + tab + " num " + num);
|
|
}
|
|
|
|
if (chr.getMCPQField() == null || chr.getMCPQParty() == null) {
|
|
MCTracker.log("[MCHandler] " + chr.getName() + " attempting to use Monster Carnival handler without being in Monster Carnival");
|
|
return;
|
|
}
|
|
|
|
MCField field = chr.getMCPQField();
|
|
if (tab == 0) {
|
|
field.onAddSpawn(c.getPlayer(), num);
|
|
} else if (tab == 1) {
|
|
field.onUseSkill(c.getPlayer(), num);
|
|
} else if (tab == 2) { // status
|
|
field.onGuardianSummon(c.getPlayer(), num);
|
|
}
|
|
}
|
|
} |