Rename and clean up MapleKarmaManipulator

This commit is contained in:
P0nk
2021-09-09 20:55:47 +02:00
parent b2cbb65c6a
commit 065ef632ac
10 changed files with 26 additions and 27 deletions

View File

@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package client.inventory; package client.inventory;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import server.MapleItemInformationProvider; import server.MapleItemInformationProvider;
@@ -189,6 +189,6 @@ public class Item implements Comparable<Item> {
} }
public boolean isUntradeable() { public boolean isUntradeable() {
return ((this.getFlag() & ItemConstants.UNTRADEABLE) == ItemConstants.UNTRADEABLE) || (MapleItemInformationProvider.getInstance().isDropRestricted(this.getItemId()) && !MapleKarmaManipulator.hasKarmaFlag(this)); return ((this.getFlag() & ItemConstants.UNTRADEABLE) == ItemConstants.UNTRADEABLE) || (MapleItemInformationProvider.getInstance().isDropRestricted(this.getItemId()) && !KarmaManipulator.hasKarmaFlag(this));
} }
} }

View File

@@ -19,18 +19,17 @@
*/ */
package client.inventory.manipulator; package client.inventory.manipulator;
import constants.inventory.ItemConstants;
import client.inventory.Item; import client.inventory.Item;
import constants.inventory.ItemConstants;
/** /**
*
* @author RonanLana * @author RonanLana
*/ */
public class MapleKarmaManipulator { public class KarmaManipulator {
private static short getKarmaFlag(Item item) { private static short getKarmaFlag(Item item) {
return item.getItemType() == 1 ? ItemConstants.KARMA_EQP : ItemConstants.KARMA_USE; return item.getItemType() == 1 ? ItemConstants.KARMA_EQP : ItemConstants.KARMA_USE;
} }
public static boolean hasKarmaFlag(Item item) { public static boolean hasKarmaFlag(Item item) {
short karmaFlag = getKarmaFlag(item); short karmaFlag = getKarmaFlag(item);
return (item.getFlag() & karmaFlag) == karmaFlag; return (item.getFlag() & karmaFlag) == karmaFlag;
@@ -39,7 +38,7 @@ public class MapleKarmaManipulator {
public static void toggleKarmaFlagToUntradeable(Item item) { public static void toggleKarmaFlagToUntradeable(Item item) {
short karmaFlag = getKarmaFlag(item); short karmaFlag = getKarmaFlag(item);
short flag = item.getFlag(); short flag = item.getFlag();
if ((flag & karmaFlag) == karmaFlag) { if ((flag & karmaFlag) == karmaFlag) {
flag ^= karmaFlag; flag ^= karmaFlag;
flag |= ItemConstants.UNTRADEABLE; flag |= ItemConstants.UNTRADEABLE;
@@ -47,11 +46,11 @@ public class MapleKarmaManipulator {
item.setFlag((byte) flag); item.setFlag((byte) flag);
} }
} }
public static void setKarmaFlag(Item item) { public static void setKarmaFlag(Item item) {
short karmaFlag = getKarmaFlag(item); short karmaFlag = getKarmaFlag(item);
short flag = item.getFlag(); short flag = item.getFlag();
flag |= karmaFlag; flag |= karmaFlag;
flag &= (0xFFFFFFFF ^ ItemConstants.UNTRADEABLE); flag &= (0xFFFFFFFF ^ ItemConstants.UNTRADEABLE);
item.setFlag((byte) flag); item.setFlag((byte) flag);

View File

@@ -31,7 +31,7 @@ import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.ItemFactory; import client.inventory.ItemFactory;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig; import config.YamlConfig;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import net.server.channel.Channel; import net.server.channel.Channel;
@@ -267,7 +267,7 @@ public class DueyProcessor {
inv.unlockInventory(); inv.unlockInventory();
} }
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(item); KarmaManipulator.toggleKarmaFlagToUntradeable(item);
item.setQuantity(amount); item.setQuantity(amount);
if (!insertPackageItem(packageId, item)) { if (!insertPackageItem(packageId, item)) {

View File

@@ -28,7 +28,7 @@ import client.inventory.Inventory;
import client.inventory.InventoryType; import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig; import config.YamlConfig;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import net.packet.InPacket; import net.packet.InPacket;
@@ -87,7 +87,7 @@ public class StorageProcessor {
if (storage.takeOut(item)) { if (storage.takeOut(item)) {
chr.setUsedStorage(); chr.setUsedStorage();
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(item); KarmaManipulator.toggleKarmaFlagToUntradeable(item);
InventoryManipulator.addFromDrop(c, item, false); InventoryManipulator.addFromDrop(c, item, false);
String itemName = ii.getName(item.getItemId()); String itemName = ii.getName(item.getItemId());
@@ -155,7 +155,7 @@ public class StorageProcessor {
chr.gainMeso(-storeFee, false, true, false); chr.gainMeso(-storeFee, false, true, false);
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(item); KarmaManipulator.toggleKarmaFlagToUntradeable(item);
item.setQuantity(quantity); item.setQuantity(quantity);
storage.store(item); // inside a critical section, "!(storage.isFull())" is still in effect... storage.store(item); // inside a critical section, "!(storage.isFull())" is still in effect...

View File

@@ -28,7 +28,7 @@ import client.inventory.Inventory;
import client.inventory.InventoryType; import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig; import config.YamlConfig;
import constants.game.GameConstants; import constants.game.GameConstants;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
@@ -511,7 +511,7 @@ public final class PlayerInteractionHandler extends AbstractPacketHandler {
if (trade != null) { if (trade != null) {
if ((quantity <= item.getQuantity() && quantity >= 0) || ItemConstants.isRechargeable(item.getItemId())) { if ((quantity <= item.getQuantity() && quantity >= 0) || ItemConstants.isRechargeable(item.getItemId())) {
if (ii.isDropRestricted(item.getItemId())) { // ensure that undroppable items do not make it to the trade window if (ii.isDropRestricted(item.getItemId())) { // ensure that undroppable items do not make it to the trade window
if (!MapleKarmaManipulator.hasKarmaFlag(item)) { if (!KarmaManipulator.hasKarmaFlag(item)) {
c.sendPacket(PacketCreator.serverNotice(1, "That item is untradeable.")); c.sendPacket(PacketCreator.serverNotice(1, "That item is untradeable."));
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());
return; return;

View File

@@ -26,7 +26,7 @@ import client.creator.veteran.*;
import client.inventory.*; import client.inventory.*;
import client.inventory.Equip.ScrollResult; import client.inventory.Equip.ScrollResult;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import client.processor.npc.DueyProcessor; import client.processor.npc.DueyProcessor;
import client.processor.stat.AssignAPProcessor; import client.processor.stat.AssignAPProcessor;
import client.processor.stat.AssignSPProcessor; import client.processor.stat.AssignSPProcessor;
@@ -507,12 +507,12 @@ public final class UseCashItemHandler extends AbstractPacketHandler {
InventoryType type = InventoryType.getByType((byte) p.readInt()); InventoryType type = InventoryType.getByType((byte) p.readInt());
short slot = (short) p.readInt(); short slot = (short) p.readInt();
Item item = player.getInventory(type).getItem(slot); Item item = player.getInventory(type).getItem(slot);
if (item == null || item.getQuantity() <= 0 || MapleKarmaManipulator.hasKarmaFlag(item) || !ii.isKarmaAble(item.getItemId())) { if (item == null || item.getQuantity() <= 0 || KarmaManipulator.hasKarmaFlag(item) || !ii.isKarmaAble(item.getItemId())) {
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());
return; return;
} }
MapleKarmaManipulator.setKarmaFlag(item); KarmaManipulator.setKarmaFlag(item);
player.forceUpdateItem(item); player.forceUpdateItem(item);
remove(c, position, itemId); remove(c, position, itemId);
c.sendPacket(PacketCreator.enableActions()); c.sendPacket(PacketCreator.enableActions());

View File

@@ -13,7 +13,7 @@ import client.inventory.Inventory;
import client.inventory.InventoryType; import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig; import config.YamlConfig;
import constants.inventory.ItemConstants; import constants.inventory.ItemConstants;
import net.AbstractPacketHandler; import net.AbstractPacketHandler;
@@ -71,7 +71,7 @@ public final class WeddingHandler extends AbstractPacketHandler {
marriage.addGiftItem(groomWishlist, newItem); marriage.addGiftItem(groomWishlist, newItem);
InventoryManipulator.removeFromSlot(c, type, slot, quantity, false, false); InventoryManipulator.removeFromSlot(c, type, slot, quantity, false, false);
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(newItem); KarmaManipulator.toggleKarmaFlagToUntradeable(newItem);
marriage.setIntProperty(groomWishlistProp, giftCount + 1); marriage.setIntProperty(groomWishlistProp, giftCount + 1);
c.sendPacket(WeddingPackets.onWeddingGiftResult((byte) 0xB, marriage.getWishlistItems(groomWishlist), Collections.singletonList(newItem))); c.sendPacket(WeddingPackets.onWeddingGiftResult((byte) 0xB, marriage.getWishlistItems(groomWishlist), Collections.singletonList(newItem)));

View File

@@ -26,7 +26,7 @@ import client.inventory.Inventory;
import client.inventory.InventoryType; import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import config.YamlConfig; import config.YamlConfig;
import constants.game.GameConstants; import constants.game.GameConstants;
import net.server.coordinator.world.MapleInviteCoordinator; import net.server.coordinator.world.MapleInviteCoordinator;
@@ -119,7 +119,7 @@ public class MapleTrade {
meso = 0; meso = 0;
for (Item item : exchangeItems) { for (Item item : exchangeItems) {
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(item); KarmaManipulator.toggleKarmaFlagToUntradeable(item);
InventoryManipulator.addFromDrop(chr.getClient(), item, show); InventoryManipulator.addFromDrop(chr.getClient(), item, show);
} }

View File

@@ -28,7 +28,7 @@ import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.ItemFactory; import client.inventory.ItemFactory;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import client.processor.npc.FredrickProcessor; import client.processor.npc.FredrickProcessor;
import config.YamlConfig; import config.YamlConfig;
import net.packet.Packet; import net.packet.Packet;
@@ -271,7 +271,7 @@ public class MapleHiredMerchant extends AbstractMapleMapObject {
return; return;
} }
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(newItem); KarmaManipulator.toggleKarmaFlagToUntradeable(newItem);
int price = (int) Math.min((float) pItem.getPrice() * quantity, Integer.MAX_VALUE); int price = (int) Math.min((float) pItem.getPrice() * quantity, Integer.MAX_VALUE);
if (c.getPlayer().getMeso() >= price) { if (c.getPlayer().getMeso() >= price) {

View File

@@ -27,7 +27,7 @@ import client.inventory.Inventory;
import client.inventory.InventoryType; import client.inventory.InventoryType;
import client.inventory.Item; import client.inventory.Item;
import client.inventory.manipulator.InventoryManipulator; import client.inventory.manipulator.InventoryManipulator;
import client.inventory.manipulator.MapleKarmaManipulator; import client.inventory.manipulator.KarmaManipulator;
import net.packet.Packet; import net.packet.Packet;
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;
@@ -260,7 +260,7 @@ public class MaplePlayerShop extends AbstractMapleMapObject {
return false; return false;
} }
MapleKarmaManipulator.toggleKarmaFlagToUntradeable(newItem); KarmaManipulator.toggleKarmaFlagToUntradeable(newItem);
visitorLock.lock(); visitorLock.lock();
try { try {