Autoassigner update + Multi-equip drop
Fixed spawn effect not working properly after the HT spawn sequence patch. Fixed autoassigner not distributing AP properly for brawlers. More than one of the same equipment can now be dropped by mobs. Feature uses the minimum/maximum quantity fields from the drop data to determine how many of the same will be dropped each instance.
This commit is contained in:
@@ -66,11 +66,11 @@ public class ThreadTracker {
|
||||
Map<MonitoredLockType, List<Integer>> lockValues = new HashMap<>();
|
||||
Set<Long> executingThreads = new HashSet<>();
|
||||
|
||||
for(Map.Entry<Long, AtomicInteger> lock : lockCount.entrySet()) {
|
||||
if(lock.getValue().get() != 0) {
|
||||
executingThreads.add(lockThreads.get(lock.getKey()));
|
||||
for(Map.Entry<Long, AtomicInteger> lc : lockCount.entrySet()) {
|
||||
if(lc.getValue().get() != 0) {
|
||||
executingThreads.add(lockThreads.get(lc.getKey()));
|
||||
|
||||
MonitoredLockType lockId = lockIds.get(lock.getKey());
|
||||
MonitoredLockType lockId = lockIds.get(lc.getKey());
|
||||
List<Integer> list = lockValues.get(lockId);
|
||||
|
||||
if(list == null) {
|
||||
@@ -78,7 +78,7 @@ public class ThreadTracker {
|
||||
lockValues.put(lockId, list);
|
||||
}
|
||||
|
||||
list.add(lock.getValue().get());
|
||||
list.add(lc.getValue().get());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,8 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
||||
statGain[0] = 0; statGain[1] = 0; statGain[2] = 0; statGain[3] = 0;
|
||||
|
||||
slea.skip(8);
|
||||
byte opt = slea.readByte(); // useful for pirate autoassigning
|
||||
|
||||
if (chr.getRemainingAp() < 1) return;
|
||||
|
||||
if(ServerConstants.USE_SERVER_AUTOASSIGNER) {
|
||||
@@ -106,7 +108,7 @@ public class AutoAssignHandler extends AbstractMaplePacketHandler {
|
||||
//c.getPlayer().message("SDL: s" + eqpStr + " d" + eqpDex + " l" + eqpLuk + " BASE STATS --> STR: " + chr.getStr() + " DEX: " + chr.getDex() + " INT: " + chr.getInt() + " LUK: " + chr.getLuk());
|
||||
//c.getPlayer().message("SUM EQUIP STATS -> STR: " + str + " DEX: " + dex + " LUK: " + luk + " INT: " + int_);
|
||||
|
||||
MapleJob stance = c.getPlayer().getJobStyle();
|
||||
MapleJob stance = c.getPlayer().getJobStyle(opt);
|
||||
int prStat = 0, scStat = 0, trStat = 0, temp, tempAp = chr.getRemainingAp(), CAP;
|
||||
|
||||
MapleStat primary, secondary, tertiary = MapleStat.LUK;
|
||||
|
||||
@@ -233,10 +233,10 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
||||
// if (checkBirthday(c, birthday)) { //We're using a default birthday, so why restrict rings to only people who know of it?
|
||||
int toCharge = slea.readInt();
|
||||
int SN = slea.readInt();
|
||||
String recipient = slea.readMapleAsciiString();
|
||||
String recipientName = slea.readMapleAsciiString();
|
||||
String text = slea.readMapleAsciiString();
|
||||
CashItem ring = CashItemFactory.getItem(SN);
|
||||
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(recipient);
|
||||
CashItem itemRing = CashItemFactory.getItem(SN);
|
||||
MapleCharacter partner = c.getChannelServer().getPlayerStorage().getCharacterByName(recipientName);
|
||||
if (partner == null) {
|
||||
chr.getClient().announce(MaplePacketCreator.serverNotice(1, "The partner you specified cannot be found.\r\nPlease make sure your partner is online and in the same channel."));
|
||||
} else {
|
||||
@@ -247,14 +247,14 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
||||
return;
|
||||
}*/ //Gotta let them faggots marry too, hence why this is commented out <3
|
||||
|
||||
if(ring.toItem() instanceof Equip) {
|
||||
Equip item = (Equip) ring.toItem();
|
||||
int ringid = MapleRing.createRing(ring.getItemId(), chr, partner);
|
||||
item.setRingId(ringid);
|
||||
cs.addToInventory(item);
|
||||
c.announce(MaplePacketCreator.showBoughtCashItem(item, c.getAccID()));
|
||||
cs.gift(partner.getId(), chr.getName(), text, item.getSN(), (ringid + 1));
|
||||
cs.gainCash(toCharge, -ring.getPrice());
|
||||
if(itemRing.toItem() instanceof Equip) {
|
||||
Equip eqp = (Equip) itemRing.toItem();
|
||||
int ringid = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
||||
eqp.setRingId(ringid);
|
||||
cs.addToInventory(eqp);
|
||||
c.announce(MaplePacketCreator.showBoughtCashItem(eqp, c.getAccID()));
|
||||
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), (ringid + 1));
|
||||
cs.gainCash(toCharge, -itemRing.getPrice());
|
||||
chr.addCrushRing(MapleRing.loadFromDb(ringid));
|
||||
try {
|
||||
chr.sendNote(partner.getName(), text, (byte) 1);
|
||||
@@ -286,7 +286,7 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
||||
int payment = slea.readByte();
|
||||
slea.skip(3); //0s
|
||||
int snID = slea.readInt();
|
||||
CashItem ring = CashItemFactory.getItem(snID);
|
||||
CashItem itemRing = CashItemFactory.getItem(snID);
|
||||
String sentTo = slea.readMapleAsciiString();
|
||||
int available = slea.readShort() - 1;
|
||||
String text = slea.readAsciiString(available);
|
||||
@@ -296,14 +296,14 @@ public final class CashOperationHandler extends AbstractMaplePacketHandler {
|
||||
chr.dropMessage("The partner you specified cannot be found.\r\nPlease make sure your partner is online and in the same channel.");
|
||||
} else {
|
||||
// Need to check to make sure its actually an equip and the right SN...
|
||||
if(ring.toItem() instanceof Equip) {
|
||||
Equip item = (Equip) ring.toItem();
|
||||
int ringid = MapleRing.createRing(ring.getItemId(), chr, partner);
|
||||
item.setRingId(ringid);
|
||||
cs.addToInventory(item);
|
||||
c.announce(MaplePacketCreator.showBoughtCashItem(item, c.getAccID()));
|
||||
cs.gift(partner.getId(), chr.getName(), text, item.getSN(), (ringid + 1));
|
||||
cs.gainCash(payment, -ring.getPrice());
|
||||
if(itemRing.toItem() instanceof Equip) {
|
||||
Equip eqp = (Equip) itemRing.toItem();
|
||||
int ringid = MapleRing.createRing(itemRing.getItemId(), chr, partner);
|
||||
eqp.setRingId(ringid);
|
||||
cs.addToInventory(eqp);
|
||||
c.announce(MaplePacketCreator.showBoughtCashItem(eqp, c.getAccID()));
|
||||
cs.gift(partner.getId(), chr.getName(), text, eqp.getSN(), (ringid + 1));
|
||||
cs.gainCash(payment, -itemRing.getPrice());
|
||||
chr.addFriendshipRing(MapleRing.loadFromDb(ringid));
|
||||
try {
|
||||
chr.sendNote(partner.getName(), text, (byte) 1);
|
||||
|
||||
@@ -99,8 +99,8 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
||||
if (quantity < 0 || price < 110 || c.getPlayer().getItemQuantity(itemid, false) < quantity) {
|
||||
return;
|
||||
}
|
||||
MapleInventoryType type = ItemConstants.getInventoryType(itemid);
|
||||
Item i = c.getPlayer().getInventory(type).getItem(slot).copy();
|
||||
MapleInventoryType invType = ItemConstants.getInventoryType(itemid);
|
||||
Item i = c.getPlayer().getInventory(invType).getItem(slot).copy();
|
||||
if (i != null && c.getPlayer().getMeso() >= 5000) {
|
||||
Connection con = null;
|
||||
try {
|
||||
@@ -160,7 +160,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
||||
Item item = (Item) i;
|
||||
ps = con.prepareStatement("INSERT INTO mts_items (tab, type, itemid, quantity, seller, price, owner, sellername, sell_ends) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||
ps.setInt(1, 1);
|
||||
ps.setInt(2, (int) type.getType());
|
||||
ps.setInt(2, (int) invType.getType());
|
||||
ps.setInt(3, item.getItemId());
|
||||
ps.setInt(4, quantity);
|
||||
ps.setInt(5, c.getPlayer().getId());
|
||||
@@ -172,7 +172,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
||||
Equip equip = (Equip) i;
|
||||
ps = con.prepareStatement("INSERT INTO mts_items (tab, type, itemid, quantity, seller, price, upgradeslots, level, str, dex, `int`, luk, hp, mp, watk, matk, wdef, mdef, acc, avoid, hands, speed, jump, locked, owner, sellername, sell_ends, vicious, flag) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||
ps.setInt(1, 1);
|
||||
ps.setInt(2, (int) type.getType());
|
||||
ps.setInt(2, (int) invType.getType());
|
||||
ps.setInt(3, equip.getItemId());
|
||||
ps.setInt(4, quantity);
|
||||
ps.setInt(5, c.getPlayer().getId());
|
||||
@@ -203,7 +203,7 @@ public final class MTSHandler extends AbstractMaplePacketHandler {
|
||||
}
|
||||
ps.executeUpdate();
|
||||
ps.close();
|
||||
MapleInventoryManipulator.removeFromSlot(c, type, slot, quantity, false);
|
||||
MapleInventoryManipulator.removeFromSlot(c, invType, slot, quantity, false);
|
||||
|
||||
con.close();
|
||||
} catch (SQLException e) {
|
||||
|
||||
@@ -106,11 +106,11 @@ public final class MakerSkillHandler extends AbstractMaplePacketHandler {
|
||||
for(int i = 0; i < reagents; i++) { // crystals
|
||||
int reagentid = slea.readInt();
|
||||
if(ItemConstants.isMakerReagent(reagentid)) {
|
||||
Short r = reagentids.get(reagentid);
|
||||
if(r == null) {
|
||||
Short rs = reagentids.get(reagentid);
|
||||
if(rs == null) {
|
||||
reagentids.put(reagentid, (short) 1);
|
||||
} else {
|
||||
reagentids.put(reagentid, (short) (r + 1));
|
||||
reagentids.put(reagentid, (short) (rs + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -126,11 +126,11 @@ public final class MakerSkillHandler extends AbstractMaplePacketHandler {
|
||||
|
||||
// remove those not present on player inventory
|
||||
if(!toUpdate.isEmpty()) {
|
||||
for(Pair<Integer, Short> r : toUpdate) {
|
||||
if(r.getRight() > 0) {
|
||||
reagentids.put(r.getLeft(), r.getRight());
|
||||
for(Pair<Integer, Short> rp : toUpdate) {
|
||||
if(rp.getRight() > 0) {
|
||||
reagentids.put(rp.getLeft(), rp.getRight());
|
||||
} else {
|
||||
reagentids.remove(r.getLeft());
|
||||
reagentids.remove(rp.getLeft());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -453,12 +453,12 @@ public final class MakerSkillHandler extends AbstractMaplePacketHandler {
|
||||
|
||||
ii.improveEquipStats(eqp, stats);
|
||||
|
||||
for(Short s : randStat) {
|
||||
ii.scrollOptionEquipWithChaos(eqp, s, false);
|
||||
for(Short sh : randStat) {
|
||||
ii.scrollOptionEquipWithChaos(eqp, sh, false);
|
||||
}
|
||||
|
||||
for(Short s : randOption) {
|
||||
ii.scrollOptionEquipWithChaos(eqp, s, true);
|
||||
for(Short sh : randOption) {
|
||||
ii.scrollOptionEquipWithChaos(eqp, sh, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -407,10 +407,10 @@ public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||
} else if (mode == Action.CONFIRM.getCode()) {
|
||||
MapleTrade.completeTrade(c.getPlayer());
|
||||
} else if (mode == Action.ADD_ITEM.getCode() || mode == Action.PUT_ITEM.getCode()) {
|
||||
MapleInventoryType type = MapleInventoryType.getByType(slea.readByte());
|
||||
MapleInventoryType ivType = MapleInventoryType.getByType(slea.readByte());
|
||||
short slot = slea.readShort();
|
||||
short bundles = slea.readShort();
|
||||
if (chr.getInventory(type).getItem(slot) == null || chr.getItemQuantity(chr.getInventory(type).getItem(slot).getItemId(), false) < bundles || chr.getInventory(type).getItem(slot).getFlag() == ItemConstants.UNTRADEABLE) {
|
||||
if (chr.getInventory(ivType).getItem(slot) == null || chr.getItemQuantity(chr.getInventory(ivType).getItem(slot).getItemId(), false) < bundles || chr.getInventory(ivType).getItem(slot).getFlag() == ItemConstants.UNTRADEABLE) {
|
||||
return;
|
||||
}
|
||||
short perBundle = slea.readShort();
|
||||
@@ -420,7 +420,7 @@ public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " might of possibly packet edited Hired Merchants\nperBundle: " + perBundle + "\nperBundle * bundles (This multiplied cannot be greater than 2000): " + perBundle * bundles + "\nbundles: " + bundles + "\nprice: " + price);
|
||||
return;
|
||||
}
|
||||
Item ivItem = chr.getInventory(type).getItem(slot);
|
||||
Item ivItem = chr.getInventory(ivType).getItem(slot);
|
||||
Item sellItem = ivItem.copy();
|
||||
if (chr.getItemQuantity(ivItem.getItemId(), false) < perBundle * bundles) {
|
||||
return;
|
||||
@@ -429,22 +429,22 @@ public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||
return;
|
||||
}
|
||||
sellItem.setQuantity(perBundle);
|
||||
MaplePlayerShopItem item = new MaplePlayerShopItem(sellItem, bundles, price);
|
||||
MaplePlayerShopItem shopItem = new MaplePlayerShopItem(sellItem, bundles, price);
|
||||
MaplePlayerShop shop = chr.getPlayerShop();
|
||||
MapleHiredMerchant merchant = chr.getHiredMerchant();
|
||||
if (shop != null && shop.isOwner(c.getPlayer())) {
|
||||
if (ivItem != null && ivItem.getQuantity() >= bundles * perBundle) {
|
||||
shop.addItem(item);
|
||||
shop.addItem(shopItem);
|
||||
c.announce(MaplePacketCreator.getPlayerShopItemUpdate(shop));
|
||||
}
|
||||
} else if (merchant != null && merchant.isOwner(c.getPlayer())) {
|
||||
merchant.addItem(item);
|
||||
merchant.addItem(shopItem);
|
||||
c.announce(MaplePacketCreator.updateHiredMerchant(merchant, c.getPlayer()));
|
||||
}
|
||||
if (ItemConstants.isRechargable(ivItem.getItemId())) {
|
||||
MapleInventoryManipulator.removeFromSlot(c, type, slot, ivItem.getQuantity(), true);
|
||||
MapleInventoryManipulator.removeFromSlot(c, ivType, slot, ivItem.getQuantity(), true);
|
||||
} else {
|
||||
MapleInventoryManipulator.removeFromSlot(c, type, slot, (short) (bundles * perBundle), true);
|
||||
MapleInventoryManipulator.removeFromSlot(c, ivType, slot, (short) (bundles * perBundle), true);
|
||||
}
|
||||
} else if (mode == Action.REMOVE_ITEM.getCode()) {
|
||||
MaplePlayerShop shop = chr.getPlayerShop();
|
||||
@@ -456,10 +456,10 @@ public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||
c.disconnect(true, false);
|
||||
return;
|
||||
}
|
||||
MaplePlayerShopItem item = shop.getItems().get(slot);
|
||||
Item ivItem = item.getItem().copy();
|
||||
MaplePlayerShopItem shopItem = shop.getItems().get(slot);
|
||||
Item ivItem = shopItem.getItem().copy();
|
||||
shop.removeItem(slot);
|
||||
ivItem.setQuantity(item.getBundles());
|
||||
ivItem.setQuantity(shopItem.getBundles());
|
||||
MapleInventoryManipulator.addFromDrop(c, ivItem, false);
|
||||
c.announce(MaplePacketCreator.getPlayerShopItemUpdate(shop));
|
||||
}
|
||||
@@ -505,35 +505,35 @@ public final class PlayerInteractionHandler extends AbstractMaplePacketHandler {
|
||||
c.announce(MaplePacketCreator.updateHiredMerchant(merchant, chr));
|
||||
|
||||
} else if (mode == Action.BUY.getCode() || mode == Action.MERCHANT_BUY.getCode()) {
|
||||
int item = slea.readByte();
|
||||
int itemid = slea.readByte();
|
||||
short quantity = slea.readShort();
|
||||
if (quantity < 1) {
|
||||
AutobanFactory.PACKET_EDIT.alert(c.getPlayer(), c.getPlayer().getName() + " tried to packet edit with a hired merchant and or player shop.");
|
||||
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to buy item " + item + " with quantity " + quantity + "\r\n");
|
||||
FilePrinter.printError(FilePrinter.EXPLOITS + c.getPlayer().getName() + ".txt", c.getPlayer().getName() + " tried to buy item " + itemid + " with quantity " + quantity + "\r\n");
|
||||
c.disconnect(true, false);
|
||||
return;
|
||||
}
|
||||
MaplePlayerShop shop = chr.getPlayerShop();
|
||||
MapleHiredMerchant merchant = chr.getHiredMerchant();
|
||||
if (shop != null && shop.isVisitor(c.getPlayer())) {
|
||||
shop.buy(c, item, quantity);
|
||||
shop.buy(c, itemid, quantity);
|
||||
shop.broadcast(MaplePacketCreator.getPlayerShopItemUpdate(shop));
|
||||
} else if (merchant != null && !merchant.isOwner(chr)) {
|
||||
merchant.buy(c, item, quantity);
|
||||
merchant.buy(c, itemid, quantity);
|
||||
merchant.broadcastToVisitorsThreadsafe(MaplePacketCreator.updateHiredMerchant(merchant, c.getPlayer()));
|
||||
}
|
||||
} else if (mode == Action.TAKE_ITEM_BACK.getCode()) {
|
||||
MapleHiredMerchant merchant = chr.getHiredMerchant();
|
||||
if (merchant != null && merchant.isOwner(c.getPlayer())) {
|
||||
int slot = slea.readShort();
|
||||
MaplePlayerShopItem item = merchant.getItems().get(slot);
|
||||
if (!MapleInventory.checkSpot(chr, item.getItem())) {
|
||||
MaplePlayerShopItem shopItem = merchant.getItems().get(slot);
|
||||
if (!MapleInventory.checkSpot(chr, shopItem.getItem())) {
|
||||
c.announce(MaplePacketCreator.enableActions());
|
||||
return;
|
||||
}
|
||||
if (item.getBundles() > 0) {
|
||||
Item iitem = item.getItem();
|
||||
iitem.setQuantity((short) (item.getItem().getQuantity() * item.getBundles()));
|
||||
if (shopItem.getBundles() > 0) {
|
||||
Item iitem = shopItem.getItem();
|
||||
iitem.setQuantity((short) (shopItem.getItem().getQuantity() * shopItem.getBundles()));
|
||||
MapleInventoryManipulator.addFromDrop(c, iitem, true);
|
||||
}
|
||||
merchant.removeFromSlot(slot);
|
||||
|
||||
@@ -114,14 +114,14 @@ public final class StorageHandler extends AbstractMaplePacketHandler {
|
||||
if (chr.getMeso() < meso) {
|
||||
c.announce(MaplePacketCreator.getStorageError((byte) 0x0B));
|
||||
} else {
|
||||
MapleInventoryType type = ItemConstants.getInventoryType(itemId);
|
||||
Item item = chr.getInventory(type).getItem(slot).copy();
|
||||
MapleInventoryType invType = ItemConstants.getInventoryType(itemId);
|
||||
Item item = chr.getInventory(invType).getItem(slot).copy();
|
||||
if (item.getItemId() == itemId && (item.getQuantity() >= quantity || ItemConstants.isRechargable(itemId))) {
|
||||
if (ItemConstants.isRechargable(itemId)) {
|
||||
quantity = item.getQuantity();
|
||||
}
|
||||
chr.gainMeso(meso, false, true, false);
|
||||
MapleInventoryManipulator.removeFromSlot(c, type, slot, quantity, false);
|
||||
MapleInventoryManipulator.removeFromSlot(c, invType, slot, quantity, false);
|
||||
item.setQuantity(quantity);
|
||||
storage.store(item);
|
||||
storage.sendStored(c, ItemConstants.getInventoryType(itemId));
|
||||
|
||||
@@ -144,9 +144,9 @@ public final class TakeDamageHandler extends AbstractMaplePacketHandler {
|
||||
is_deadly = true;
|
||||
}
|
||||
mpattack += attackInfo.getMpBurn();
|
||||
MobSkill skill = MobSkillFactory.getMobSkill(attackInfo.getDiseaseSkill(), attackInfo.getDiseaseLevel());
|
||||
if (skill != null && damage > 0) {
|
||||
skill.applyEffect(chr, attacker, false, banishPlayers);
|
||||
MobSkill mobSkill = MobSkillFactory.getMobSkill(attackInfo.getDiseaseSkill(), attackInfo.getDiseaseLevel());
|
||||
if (mobSkill != null && damage > 0) {
|
||||
mobSkill.applyEffect(chr, attacker, false, banishPlayers);
|
||||
}
|
||||
|
||||
attacker.setMp(attacker.getMp() - attackInfo.getMpCon());
|
||||
|
||||
@@ -489,13 +489,13 @@ public final class UseCashItemHandler extends AbstractMaplePacketHandler {
|
||||
player.getMap().broadcastMessage(MaplePacketCreator.useChalkboard(player, false));
|
||||
player.getClient().announce(MaplePacketCreator.enableActions());
|
||||
} else if (itemType == 539) {
|
||||
List<String> lines = new LinkedList<>();
|
||||
List<String> strLines = new LinkedList<>();
|
||||
for (int i = 0; i < 4; i++) {
|
||||
lines.add(slea.readMapleAsciiString());
|
||||
strLines.add(slea.readMapleAsciiString());
|
||||
}
|
||||
|
||||
final int world = c.getWorld();
|
||||
Server.getInstance().broadcastMessage(world, MaplePacketCreator.getAvatarMega(c.getPlayer(), medal, c.getChannel(), itemId, lines, (slea.readByte() != 0)));
|
||||
Server.getInstance().broadcastMessage(world, MaplePacketCreator.getAvatarMega(c.getPlayer(), medal, c.getChannel(), itemId, strLines, (slea.readByte() != 0)));
|
||||
TimerManager.getInstance().schedule(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
@@ -136,8 +136,8 @@ public class MapleGuild {
|
||||
if (!mgc.isOnline()) {
|
||||
continue;
|
||||
}
|
||||
List<Integer> ch = notifications.get(mgc.getChannel());
|
||||
if (ch != null) ch.add(mgc.getId());
|
||||
List<Integer> chl = notifications.get(mgc.getChannel());
|
||||
if (chl != null) chl.add(mgc.getId());
|
||||
//Unable to connect to Channel... error was here
|
||||
}
|
||||
} finally {
|
||||
|
||||
@@ -34,7 +34,7 @@ public final class DeleteCharHandler extends AbstractMaplePacketHandler {
|
||||
String pic = slea.readMapleAsciiString();
|
||||
int cid = slea.readInt();
|
||||
if (c.checkPic(pic)) {
|
||||
if(c.deleteCharacter(cid)) {
|
||||
if(c.deleteCharacter(cid, c.getAccID())) {
|
||||
FilePrinter.printError(FilePrinter.DELETED_CHARACTERS + c.getAccountName() + ".txt", c.getAccountName() + " deleted CID: " + cid + "\r\n");
|
||||
c.announce(MaplePacketCreator.deleteCharResponse(cid, 0));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user