Turn item id magic numbers into constants
This commit is contained in:
@@ -28,6 +28,7 @@ import client.status.MonsterStatus;
|
||||
import client.status.MonsterStatusEffect;
|
||||
import config.YamlConfig;
|
||||
import constants.game.GameConstants;
|
||||
import constants.id.ItemId;
|
||||
import constants.skills.*;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -439,19 +440,11 @@ public abstract class AbstractDealDamageHandler extends AbstractPacketHandler {
|
||||
if (skillLv > 0) {
|
||||
AbstractPlayerInteraction api = player.getAbstractPlayerInteraction();
|
||||
|
||||
int shellId;
|
||||
switch (skillLv) {
|
||||
case 1:
|
||||
shellId = 4000019;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
shellId = 4000000;
|
||||
break;
|
||||
|
||||
default:
|
||||
shellId = 4000016;
|
||||
}
|
||||
int shellId = switch (skillLv) {
|
||||
case 1 -> ItemId.SNAIL_SHELL;
|
||||
case 2 -> ItemId.BLUE_SNAIL_SHELL;
|
||||
default -> ItemId.RED_SNAIL_SHELL;
|
||||
};
|
||||
|
||||
if (api.haveItem(shellId, 1)) {
|
||||
api.gainItem(shellId, (short) -1, false);
|
||||
|
||||
@@ -30,6 +30,7 @@ import client.inventory.InventoryType;
|
||||
import client.inventory.Item;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import config.YamlConfig;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -293,7 +294,7 @@ public final class CashOperationHandler extends AbstractPacketHandler {
|
||||
chr.getClient().sendPacket(PacketCreator.serverNotice(1, "You cannot put the pet you currently equip into the Cash Shop inventory."));
|
||||
c.enableCSActions();
|
||||
return;
|
||||
} else if (ItemConstants.isWeddingRing(item.getItemId()) || ItemConstants.isWeddingToken(item.getItemId())) {
|
||||
} else if (ItemId.isWeddingRing(item.getItemId()) || ItemId.isWeddingToken(item.getItemId())) {
|
||||
chr.getClient().sendPacket(PacketCreator.serverNotice(1, "You cannot put relationship items into the Cash Shop inventory."));
|
||||
c.enableCSActions();
|
||||
return;
|
||||
|
||||
@@ -25,6 +25,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import client.inventory.InventoryType;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import server.Trade;
|
||||
@@ -91,11 +92,11 @@ public final class ChangeMapHandler extends AbstractPacketHandler {
|
||||
if (targetid != -1) {
|
||||
if (!chr.isAlive()) {
|
||||
MapleMap map = chr.getMap();
|
||||
if (wheel && chr.haveItemWithId(5510000, false)) {
|
||||
if (wheel && chr.haveItemWithId(ItemId.WHEEL_OF_FORTUNE, false)) {
|
||||
// thanks lucasziron (lziron) for showing revivePlayer() triggering by Wheel
|
||||
|
||||
InventoryManipulator.removeById(c, InventoryType.CASH, 5510000, 1, true, false);
|
||||
chr.sendPacket(PacketCreator.showWheelsLeft(chr.getItemQuantity(5510000, false)));
|
||||
InventoryManipulator.removeById(c, InventoryType.CASH, ItemId.WHEEL_OF_FORTUNE, 1, true, false);
|
||||
chr.sendPacket(PacketCreator.showWheelsLeft(chr.getItemQuantity(ItemId.WHEEL_OF_FORTUNE, false)));
|
||||
|
||||
chr.updateHp(50);
|
||||
chr.changeMap(map, map.findClosestPlayerSpawnpoint(chr.getPosition()));
|
||||
|
||||
@@ -23,6 +23,7 @@ package net.server.channel.handlers;
|
||||
|
||||
import client.Character;
|
||||
import client.Client;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -35,7 +36,7 @@ public final class FaceExpressionHandler extends AbstractPacketHandler {
|
||||
|
||||
if (emote > 7) {
|
||||
int itemid = 5159992 + emote; // thanks RajanGrewal (Darter) for reporting unchecked emote itemid
|
||||
if (!ItemConstants.isFaceExpression(itemid) || chr.getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) == null) {
|
||||
if (!ItemId.isFaceExpression(itemid) || chr.getInventory(ItemConstants.getInventoryType(itemid)).findById(itemid) == null) {
|
||||
return;
|
||||
}
|
||||
} else if (emote < 1) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import client.Character;
|
||||
import client.Client;
|
||||
import client.inventory.Item;
|
||||
import client.newyear.NewYearCardRecord;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -48,13 +49,13 @@ public final class NewYearCardHandler extends AbstractPacketHandler {
|
||||
byte reqMode = p.readByte(); //[00] -> NewYearReq (0 = Send)
|
||||
|
||||
if (reqMode == 0) { // card has been sent
|
||||
if (player.haveItem(2160101)) { // new year's card
|
||||
if (player.haveItem(ItemId.NEW_YEARS_CARD)) { // new year's card
|
||||
short slot = p.readShort(); //[00 2C] -> nPOS (Item Slot Pos)
|
||||
int itemid = p.readInt(); //[00 20 F5 E5] -> nItemID (item id)
|
||||
|
||||
int status = getValidNewYearCardStatus(itemid, player, slot);
|
||||
if (status == 0) {
|
||||
if (player.canHold(4300000, 1)) {
|
||||
if (player.canHold(ItemId.NEW_YEARS_CARD_SEND, 1)) {
|
||||
String receiver = p.readString(); //[04 00 54 65 73 74] -> sReceiverName (person to send to)
|
||||
|
||||
int receiverid = getReceiverId(receiver, c.getWorld());
|
||||
@@ -66,8 +67,8 @@ public final class NewYearCardHandler extends AbstractPacketHandler {
|
||||
NewYearCardRecord.saveNewYearCard(newyear);
|
||||
player.addNewYearRecord(newyear);
|
||||
|
||||
player.getAbstractPlayerInteraction().gainItem(2160101, (short) -1);
|
||||
player.getAbstractPlayerInteraction().gainItem(4300000, (short) 1);
|
||||
player.getAbstractPlayerInteraction().gainItem(ItemId.NEW_YEARS_CARD, (short) -1);
|
||||
player.getAbstractPlayerInteraction().gainItem(ItemId.NEW_YEARS_CARD_SEND, (short) 1);
|
||||
|
||||
Server.getInstance().setNewYearCard(newyear);
|
||||
newyear.startNewYearCardTask();
|
||||
@@ -94,11 +95,11 @@ public final class NewYearCardHandler extends AbstractPacketHandler {
|
||||
|
||||
if (newyear != null && newyear.getReceiverId() == player.getId() && !newyear.isReceiverCardReceived()) {
|
||||
if (!newyear.isSenderCardDiscarded()) {
|
||||
if (player.canHold(4301000, 1)) {
|
||||
if (player.canHold(ItemId.NEW_YEARS_CARD_RECEIVED, 1)) {
|
||||
newyear.stopNewYearCardTask();
|
||||
NewYearCardRecord.updateNewYearCard(newyear);
|
||||
|
||||
player.getAbstractPlayerInteraction().gainItem(4301000, (short) 1);
|
||||
player.getAbstractPlayerInteraction().gainItem(ItemId.NEW_YEARS_CARD_RECEIVED, (short) 1);
|
||||
if (!newyear.getMessage().isEmpty()) {
|
||||
player.dropMessage(6, "[New Year] " + newyear.getSenderName() + ": " + newyear.getMessage());
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import client.inventory.manipulator.InventoryManipulator;
|
||||
import client.inventory.manipulator.KarmaManipulator;
|
||||
import config.YamlConfig;
|
||||
import constants.game.GameConstants;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -168,7 +169,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
|
||||
} else if (type < 0) {
|
||||
type = 0;
|
||||
}
|
||||
if (!chr.haveItem(4080000 + type)) {
|
||||
if (!chr.haveItem(ItemId.MINI_GAME_BASE + type)) {
|
||||
chr.sendPacket(PacketCreator.getMiniRoomError(6));
|
||||
return;
|
||||
}
|
||||
@@ -202,7 +203,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
|
||||
} else if (type < 0) {
|
||||
type = 0;
|
||||
}
|
||||
if (!chr.haveItem(4080100)) {
|
||||
if (!chr.haveItem(ItemId.MATCH_CARDS)) {
|
||||
chr.sendPacket(PacketCreator.getMiniRoomError(6));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ import client.inventory.WeaponType;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import config.YamlConfig;
|
||||
import constants.game.GameConstants;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import constants.skills.*;
|
||||
import net.packet.InPacket;
|
||||
@@ -136,15 +137,15 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
|
||||
boolean bow = ItemConstants.isArrowForBow(id);
|
||||
boolean cbow = ItemConstants.isArrowForCrossBow(id);
|
||||
if (item.getQuantity() >= bulletCount) { //Fixes the bug where you can't use your last arrow.
|
||||
if (type == WeaponType.CLAW && ItemConstants.isThrowingStar(id) && weapon.getItemId() != 1472063) {
|
||||
if (((id == 2070007 || id == 2070018) && chr.getLevel() < 70) || (id == 2070016 && chr.getLevel() < 50)) {
|
||||
if (type == WeaponType.CLAW && ItemConstants.isThrowingStar(id) && weapon.getItemId() != ItemId.MAGICAL_MITTEN) {
|
||||
if (((id == ItemId.HWABI_THROWING_STARS || id == ItemId.BALANCED_FURY) && chr.getLevel() < 70) || (id == ItemId.CRYSTAL_ILBI_THROWING_STARS && chr.getLevel() < 50)) {
|
||||
} else {
|
||||
projectile = id;
|
||||
break;
|
||||
}
|
||||
} else if ((type == WeaponType.GUN && ItemConstants.isBullet(id))) {
|
||||
if (id == 2331000 && id == 2332000) {
|
||||
if (chr.getLevel() > 69) {
|
||||
if (id == ItemId.BLAZE_CAPSULE || id == ItemId.GLAZE_CAPSULE) {
|
||||
if (chr.getLevel() >= 70) {
|
||||
projectile = id;
|
||||
break;
|
||||
}
|
||||
@@ -152,7 +153,7 @@ public final class RangedAttackHandler extends AbstractDealDamageHandler {
|
||||
projectile = id;
|
||||
break;
|
||||
}
|
||||
} else if ((type == WeaponType.BOW && bow) || (type == WeaponType.CROSSBOW && cbow) || (weapon.getItemId() == 1472063 && (bow || cbow))) {
|
||||
} else if ((type == WeaponType.BOW && bow) || (type == WeaponType.CROSSBOW && cbow) || (weapon.getItemId() == ItemId.MAGICAL_MITTEN && (bow || cbow))) {
|
||||
projectile = id;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ package net.server.channel.handlers;
|
||||
|
||||
import client.Client;
|
||||
import client.autoban.AutobanFactory;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -36,7 +37,7 @@ public final class RemoteGachaponHandler extends AbstractPacketHandler {
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
int ticket = p.readInt();
|
||||
int gacha = p.readInt();
|
||||
if (ticket != 5451000) {
|
||||
if (ticket != ItemId.REMOTE_GACHAPON_TICKET) {
|
||||
AutobanFactory.GENERAL.alert(c.getPlayer(), " Tried to use RemoteGachaponHandler with item id: " + ticket);
|
||||
c.disconnect(false, false);
|
||||
return;
|
||||
|
||||
@@ -29,6 +29,7 @@ import client.inventory.InventoryType;
|
||||
import client.inventory.Item;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import client.processor.npc.DueyProcessor;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.channel.Channel;
|
||||
@@ -51,12 +52,19 @@ import java.sql.SQLException;
|
||||
* @author Drago (Dragohe4rt) - on Wishlist
|
||||
*/
|
||||
public final class RingActionHandler extends AbstractPacketHandler {
|
||||
private static int getBoxId(int useItemId) {
|
||||
return useItemId == 2240000 ? 4031357 : (useItemId == 2240001 ? 4031359 : (useItemId == 2240002 ? 4031361 : (useItemId == 2240003 ? 4031363 : (1112300 + (useItemId - 2240004)))));
|
||||
|
||||
private static int getEngagementBoxId(int useItemId) {
|
||||
return switch (useItemId) {
|
||||
case ItemId.ENGAGEMENT_BOX_MOONSTONE -> ItemId.EMPTY_ENGAGEMENT_BOX_MOONSTONE;
|
||||
case ItemId.ENGAGEMENT_BOX_STAR -> ItemId.EMPTY_ENGAGEMENT_BOX_STAR;
|
||||
case ItemId.ENGAGEMENT_BOX_GOLDEN -> ItemId.EMPTY_ENGAGEMENT_BOX_GOLDEN;
|
||||
case ItemId.ENGAGEMENT_BOX_SILVER -> ItemId.EMPTY_ENGAGEMENT_BOX_SILVER;
|
||||
default -> ItemId.CARAT_RING_BASE + (useItemId - ItemId.CARAT_RING_BOX_BASE);
|
||||
};
|
||||
}
|
||||
|
||||
public static void sendEngageProposal(final Client c, final String name, final int itemid) {
|
||||
final int newBoxId = getBoxId(itemid);
|
||||
final int newBoxId = getEngagementBoxId(itemid);
|
||||
final Character target = c.getChannelServer().getPlayerStorage().getCharacterByName(name);
|
||||
final Character source = c.getPlayer();
|
||||
|
||||
@@ -93,7 +101,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
source.dropMessage(1, "Make sure your partner is on the same map!");
|
||||
source.sendPacket(WeddingPackets.OnMarriageResult((byte) 0));
|
||||
return;
|
||||
} else if (!source.haveItem(itemid) || itemid < 2240000 || itemid > 2240015) {
|
||||
} else if (!source.haveItem(itemid) || itemid < ItemId.ENGAGEMENT_BOX_MIN || itemid > ItemId.ENGAGEMENT_BOX_MAX) {
|
||||
source.sendPacket(WeddingPackets.OnMarriageResult((byte) 0));
|
||||
return;
|
||||
} else if (target.isMarried()) {
|
||||
@@ -328,7 +336,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
}
|
||||
|
||||
if (accepted) {
|
||||
final int newItemId = getBoxId(itemid);
|
||||
final int newItemId = getEngagementBoxId(itemid);
|
||||
if (!InventoryManipulator.checkSpace(c, newItemId, 1, "") || !InventoryManipulator.checkSpace(source.getClient(), newItemId, 1, "")) {
|
||||
target.sendPacket(PacketCreator.enableActions());
|
||||
return;
|
||||
@@ -380,7 +388,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((itemId != 4031377 && itemId != 4031395) || !c.getPlayer().haveItem(itemId)) {
|
||||
if ((itemId != ItemId.INVITATION_CHAPEL && itemId != ItemId.INVITATION_CATHEDRAL) || !c.getPlayer().haveItem(itemId)) {
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
return;
|
||||
}
|
||||
@@ -399,7 +407,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
if (registration != null) {
|
||||
if (wserv.addMarriageGuest(marriageId, guest)) {
|
||||
boolean cathedral = registration.getLeft();
|
||||
int newItemId = cathedral ? 4031407 : 4031406;
|
||||
int newItemId = cathedral ? ItemId.RECEIVED_INVITATION_CATHEDRAL : ItemId.RECEIVED_INVITATION_CHAPEL;
|
||||
|
||||
Channel cserv = c.getChannelServer();
|
||||
int resStatus = cserv.getWeddingReservationStatus(marriageId, cathedral);
|
||||
@@ -443,7 +451,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
slot = (byte) p.readInt();
|
||||
int invitationid = p.readInt();
|
||||
|
||||
if (invitationid == 4031406 || invitationid == 4031407) {
|
||||
if (invitationid == ItemId.RECEIVED_INVITATION_CHAPEL || invitationid == ItemId.RECEIVED_INVITATION_CATHEDRAL) {
|
||||
Item item = c.getPlayer().getInventory(InventoryType.ETC).getItem(slot);
|
||||
if (item == null || item.getItemId() != invitationid) {
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
@@ -451,7 +459,7 @@ public final class RingActionHandler extends AbstractPacketHandler {
|
||||
}
|
||||
|
||||
// collision case: most soon-to-come wedding will show up
|
||||
Pair<Integer, Integer> coupleId = c.getWorldServer().getWeddingCoupleForGuest(c.getPlayer().getId(), invitationid == 4031407);
|
||||
Pair<Integer, Integer> coupleId = c.getWorldServer().getWeddingCoupleForGuest(c.getPlayer().getId(), invitationid == ItemId.RECEIVED_INVITATION_CATHEDRAL);
|
||||
if (coupleId != null) {
|
||||
int groomId = coupleId.getLeft(), brideId = coupleId.getRight();
|
||||
c.sendPacket(WeddingPackets.sendWeddingInvitation(Character.getNameById(groomId), Character.getNameById(brideId)));
|
||||
|
||||
@@ -28,6 +28,7 @@ import client.SkillFactory;
|
||||
import client.inventory.*;
|
||||
import client.inventory.Equip.ScrollResult;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -89,7 +90,7 @@ public final class ScrollHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
if (whiteScroll) {
|
||||
wscroll = useInventory.findById(2340000);
|
||||
wscroll = useInventory.findById(ItemId.WHITE_SCROLL);
|
||||
if (wscroll == null) {
|
||||
whiteScroll = false;
|
||||
}
|
||||
@@ -138,7 +139,7 @@ public final class ScrollHandler extends AbstractPacketHandler {
|
||||
|
||||
final List<ModifyInventory> mods = new ArrayList<>();
|
||||
if (scrollSuccess == Equip.ScrollResult.CURSE) {
|
||||
if (!ItemConstants.isWeddingRing(toScroll.getItemId())) {
|
||||
if (!ItemId.isWeddingRing(toScroll.getItemId())) {
|
||||
mods.add(new ModifyInventory(3, toScroll));
|
||||
if (dst < 0) {
|
||||
Inventory inv = chr.getInventory(InventoryType.EQUIPPED);
|
||||
@@ -195,7 +196,8 @@ public final class ScrollHandler extends AbstractPacketHandler {
|
||||
|
||||
switch (sid) {
|
||||
case 20492: //scroll for accessory (pendant, belt, ring)
|
||||
return canScroll(2041100, itemid) || canScroll(2041200, itemid) || canScroll(2041300, itemid);
|
||||
return canScroll(ItemId.RING_STR_100_SCROLL, itemid) || canScroll(ItemId.DRAGON_STONE_SCROLL, itemid) ||
|
||||
canScroll(ItemId.BELT_STR_100_SCROLL, itemid);
|
||||
|
||||
default:
|
||||
return (scrollid / 100) % 100 == (itemid / 10000) % 100;
|
||||
|
||||
@@ -33,6 +33,7 @@ import client.processor.stat.AssignAPProcessor;
|
||||
import client.processor.stat.AssignSPProcessor;
|
||||
import config.YamlConfig;
|
||||
import constants.game.GameConstants;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -145,7 +146,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
if (itemId > 5050000) {
|
||||
if (itemId > ItemId.AP_RESET) {
|
||||
int SPTo = p.readInt();
|
||||
if (!AssignSPProcessor.canSPAssign(c, SPTo)) { // exploit found thanks to Arnah
|
||||
return;
|
||||
@@ -452,15 +453,15 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
} else if (itemType == 540) {
|
||||
p.readByte();
|
||||
p.readInt();
|
||||
if (itemId == 5400000) { //name change
|
||||
if (itemId == ItemId.NAME_CHANGE) {
|
||||
c.sendPacket(PacketCreator.showNameChangeCancel(player.cancelPendingNameChange()));
|
||||
} else if (itemId == 5401000) { //world transfer
|
||||
} else if (itemId == ItemId.WORLD_TRANSFER) {
|
||||
c.sendPacket(PacketCreator.showWorldTransferCancel(player.cancelPendingWorldTranfer()));
|
||||
}
|
||||
remove(c, position, itemId);
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
} else if (itemType == 543) {
|
||||
if (itemId == 5432000 && !c.gainCharacterSlot()) {
|
||||
if (itemId == ItemId.MAPLE_LIFE_B && !c.gainCharacterSlot()) {
|
||||
player.dropMessage(1, "You have already used up all 12 extra character slots.");
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
return;
|
||||
@@ -527,7 +528,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
|
||||
int itemSlot = p.readInt();
|
||||
p.readInt();
|
||||
final Equip equip = (Equip) player.getInventory(InventoryType.EQUIP).getItem((short) itemSlot);
|
||||
if (equip.getVicious() >= 2 || player.getInventory(InventoryType.CASH).findById(5570000) == null) {
|
||||
if (equip.getVicious() >= 2 || player.getInventory(InventoryType.CASH).findById(ItemId.VICIOUS_HAMMER) == null) {
|
||||
return;
|
||||
}
|
||||
equip.setVicious(equip.getVicious() + 1);
|
||||
|
||||
@@ -26,6 +26,7 @@ import client.Client;
|
||||
import client.autoban.AutobanManager;
|
||||
import client.inventory.InventoryType;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -56,23 +57,23 @@ public final class UseCatchItemHandler extends AbstractPacketHandler {
|
||||
return;
|
||||
}
|
||||
switch (itemId) {
|
||||
case 2270000:
|
||||
case ItemId.PHEROMONE_PERFUME:
|
||||
if (mob.getId() == 9300101) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 1902000, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.HOG, (short) 1, "", -1);
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270001:
|
||||
case ItemId.POUCH:
|
||||
if (mob.getId() == 9500197) {
|
||||
if ((abm.getLastSpam(10) + 1000) < currentServerTime()) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 4)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 4031830, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.GHOST_SACK, (short) 1, "", -1);
|
||||
} else {
|
||||
abm.spam(10);
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
@@ -81,16 +82,16 @@ public final class UseCatchItemHandler extends AbstractPacketHandler {
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
}
|
||||
break;
|
||||
case 2270002:
|
||||
case ItemId.ARPQ_ELEMENT_ROCK:
|
||||
if (mob.getId() == 9300157) {
|
||||
if ((abm.getLastSpam(10) + 800) < currentServerTime()) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 4)) {
|
||||
if (chr.canHold(4031868, 1)) {
|
||||
if (chr.canHold(ItemId.ARPQ_SPIRIT_JEWEL, 1)) {
|
||||
if (Math.random() < 0.5) { // 50% chance
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 4031868, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.ARPQ_SPIRIT_JEWEL, (short) 1, "", -1);
|
||||
} else {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 0));
|
||||
}
|
||||
@@ -106,79 +107,79 @@ public final class UseCatchItemHandler extends AbstractPacketHandler {
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
}
|
||||
break;
|
||||
case 2270003:
|
||||
case ItemId.MAGIC_CANE:
|
||||
if (mob.getId() == 9500320) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 4)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 4031887, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.TAMED_RUDOLPH, (short) 1, "", -1);
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
}
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270005:
|
||||
case ItemId.TRANSPARENT_MARBLE_1:
|
||||
if (mob.getId() == 9300187) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 3)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 2109001, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.MONSTER_MARBLE_1, (short) 1, "", -1);
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
}
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270006:
|
||||
case ItemId.TRANSPARENT_MARBLE_2:
|
||||
if (mob.getId() == 9300189) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 3)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 2109002, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.MONSTER_MARBLE_2, (short) 1, "", -1);
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
}
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270007:
|
||||
case ItemId.TRANSPARENT_MARBLE_3:
|
||||
if (mob.getId() == 9300191) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 3)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 2109003, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.MONSTER_MARBLE_3, (short) 1, "", -1);
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
}
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270004:
|
||||
case ItemId.EPQ_PURIFICATION_MARBLE:
|
||||
if (mob.getId() == 9300175) {
|
||||
if (mob.getHp() < ((mob.getMaxHp() / 10) * 4)) {
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 4001169, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.EPQ_MONSTER_MARBLE, (short) 1, "", -1);
|
||||
} else {
|
||||
c.sendPacket(PacketCreator.catchMessage(0));
|
||||
}
|
||||
}
|
||||
c.sendPacket(PacketCreator.enableActions());
|
||||
break;
|
||||
case 2270008:
|
||||
case ItemId.FISH_NET:
|
||||
if (mob.getId() == 9500336) {
|
||||
if ((abm.getLastSpam(10) + 3000) < currentServerTime()) {
|
||||
abm.spam(10);
|
||||
chr.getMap().broadcastMessage(PacketCreator.catchMonster(monsterid, itemId, (byte) 1));
|
||||
mob.getMap().killMonster(mob, null, false);
|
||||
InventoryManipulator.removeById(c, InventoryType.USE, itemId, 1, true, true);
|
||||
InventoryManipulator.addById(c, 2022323, (short) 1, "", -1);
|
||||
InventoryManipulator.addById(c, ItemId.FISH_NET_WITH_A_CATCH, (short) 1, "", -1);
|
||||
} else {
|
||||
chr.message("You cannot use the Fishing Net yet.");
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ package net.server.channel.handlers;
|
||||
|
||||
import client.Client;
|
||||
import client.inventory.InventoryType;
|
||||
import constants.inventory.ItemConstants;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
|
||||
@@ -33,7 +33,7 @@ public final class UseChairHandler extends AbstractPacketHandler {
|
||||
int itemId = p.readInt();
|
||||
|
||||
// thanks Darter (YungMoozi) for reporting unchecked chair item
|
||||
if (!ItemConstants.isChair(itemId) || c.getPlayer().getInventory(InventoryType.SETUP).findById(itemId) == null) {
|
||||
if (!ItemId.isChair(itemId) || c.getPlayer().getInventory(InventoryType.SETUP).findById(itemId) == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ package net.server.channel.handlers;
|
||||
import client.Client;
|
||||
import client.inventory.InventoryType;
|
||||
import client.inventory.Item;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import tools.PacketCreator;
|
||||
@@ -33,7 +34,7 @@ public final class UseItemEffectHandler extends AbstractPacketHandler {
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
Item toUse;
|
||||
int itemId = p.readInt();
|
||||
if (itemId == 4290001 || itemId == 4290000) {
|
||||
if (itemId == ItemId.BUMMER_EFFECT || itemId == ItemId.GOLDEN_CHICKEN_EFFECT) {
|
||||
toUse = c.getPlayer().getInventory(InventoryType.ETC).findById(itemId);
|
||||
} else {
|
||||
toUse = c.getPlayer().getInventory(InventoryType.CASH).findById(itemId);
|
||||
|
||||
@@ -28,6 +28,7 @@ import client.inventory.InventoryType;
|
||||
import client.inventory.Item;
|
||||
import client.inventory.manipulator.InventoryManipulator;
|
||||
import config.YamlConfig;
|
||||
import constants.id.ItemId;
|
||||
import constants.inventory.ItemConstants;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
@@ -53,20 +54,20 @@ public final class UseItemHandler extends AbstractPacketHandler {
|
||||
int itemId = p.readInt();
|
||||
Item toUse = chr.getInventory(InventoryType.USE).getItem(slot);
|
||||
if (toUse != null && toUse.getQuantity() > 0 && toUse.getItemId() == itemId) {
|
||||
if (itemId == 2050004) {
|
||||
if (itemId == ItemId.ALL_CURE_POTION) {
|
||||
chr.dispelDebuffs();
|
||||
remove(c, slot);
|
||||
return;
|
||||
} else if (itemId == 2050001) {
|
||||
} else if (itemId == ItemId.EYEDROP) {
|
||||
chr.dispelDebuff(Disease.DARKNESS);
|
||||
remove(c, slot);
|
||||
return;
|
||||
} else if (itemId == 2050002) {
|
||||
} else if (itemId == ItemId.TONIC) {
|
||||
chr.dispelDebuff(Disease.WEAKEN);
|
||||
chr.dispelDebuff(Disease.SLOW);
|
||||
remove(c, slot);
|
||||
return;
|
||||
} else if (itemId == 2050003) {
|
||||
} else if (itemId == ItemId.HOLY_WATER) {
|
||||
chr.dispelDebuff(Disease.SEAL);
|
||||
chr.dispelDebuff(Disease.CURSE);
|
||||
remove(c, slot);
|
||||
@@ -95,7 +96,7 @@ public final class UseItemHandler extends AbstractPacketHandler {
|
||||
|
||||
remove(c, slot);
|
||||
|
||||
if (toUse.getItemId() != 2022153) {
|
||||
if (toUse.getItemId() != ItemId.HAPPY_BIRTHDAY) {
|
||||
ii.getItemEffect(toUse.getItemId()).applyTo(chr);
|
||||
} else {
|
||||
StatEffect mse = ii.getItemEffect(toUse.getItemId());
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
package net.server.channel.handlers;
|
||||
|
||||
import client.Client;
|
||||
import constants.game.GameConstants;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import tools.PacketCreator;
|
||||
@@ -43,8 +43,8 @@ public final class UseOwlOfMinervaHandler extends AbstractPacketHandler {
|
||||
|
||||
if (owlSearched.size() < 5) {
|
||||
owlLeaderboards = new LinkedList<>();
|
||||
for (int i : GameConstants.OWL_DATA) {
|
||||
owlLeaderboards.add(i);
|
||||
for (int itemId : ItemId.getOwlItems()) {
|
||||
owlLeaderboards.add(itemId);
|
||||
}
|
||||
} else {
|
||||
// descending order
|
||||
|
||||
@@ -25,6 +25,7 @@ import client.Client;
|
||||
import client.creator.novice.BeginnerCreator;
|
||||
import client.creator.novice.LegendCreator;
|
||||
import client.creator.novice.NoblesseCreator;
|
||||
import constants.id.ItemId;
|
||||
import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import tools.FilePrinter;
|
||||
@@ -36,12 +37,19 @@ import java.util.Set;
|
||||
|
||||
public final class CreateCharHandler extends AbstractPacketHandler {
|
||||
|
||||
private final static Set<Integer> IDs = new HashSet<>(Arrays.asList(1302000, 1312004, 1322005, 1442079,// weapons
|
||||
1040002, 1040006, 1040010, 1041002, 1041006, 1041010, 1041011, 1042167,// bottom
|
||||
1060002, 1060006, 1061002, 1061008, 1062115, // top
|
||||
1072001, 1072005, 1072037, 1072038, 1072383,// shoes
|
||||
30000, 30010, 30020, 30030, 31000, 31040, 31050,// hair
|
||||
20000, 20001, 20002, 21000, 21001, 21002, 21201, 20401, 20402, 21700, 20100 //face
|
||||
private final static Set<Integer> IDs = new HashSet<>(Arrays.asList(
|
||||
ItemId.SWORD, ItemId.HAND_AXE, ItemId.WOODEN_CLUB, ItemId.BASIC_POLEARM,// weapons
|
||||
ItemId.WHITE_UNDERSHIRT, ItemId.UNDERSHIRT, ItemId.GREY_TSHIRT, ItemId.WHITE_TUBETOP, ItemId.YELLOW_TSHIRT,
|
||||
ItemId.GREEN_TSHIRT, ItemId.RED_STRIPED_TOP, ItemId.SIMPLE_WARRIOR_TOP,// bottom
|
||||
ItemId.BLUE_JEAN_SHORTS, ItemId.BROWN_COTTON_SHORTS, ItemId.RED_MINISKIRT, ItemId.INDIGO_MINISKIRT,
|
||||
ItemId.SIMPLE_WARRIOR_PANTS, // top
|
||||
ItemId.RED_RUBBER_BOOTS, ItemId.LEATHER_SANDALS, ItemId.YELLOW_RUBBER_BOOTS, ItemId.BLUE_RUBBER_BOOTS,
|
||||
ItemId.AVERAGE_MUSASHI_SHOES,// shoes
|
||||
ItemId.BLACK_TOBEN, ItemId.ZETA, ItemId.BLACK_REBEL, ItemId.BLACK_BUZZ, ItemId.BLACK_SAMMY,
|
||||
ItemId.BLACK_EDGY, ItemId.BLACK_CONNIE,// hair
|
||||
ItemId.MOTIVATED_LOOK_M, ItemId.PERPLEXED_STARE, ItemId.LEISURE_LOOK_M, ItemId.MOTIVATED_LOOK_F,
|
||||
ItemId.FEARFUL_STARE_M, ItemId.LEISURE_LOOK_F, ItemId.FEARFUL_STARE_F, ItemId.PERPLEXED_STARE_HAZEL,
|
||||
ItemId.LEISURE_LOOK_HAZEL, ItemId.MOTIVATED_LOOK_AMETHYST, ItemId.MOTIVATED_LOOK_BLUE //face
|
||||
//#NeverTrustStevenCode
|
||||
));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user