Fix Scissors of Karma can only be used once (#307)
This commit is contained in:
@@ -35,12 +35,7 @@ public class MapleKarmaManipulator {
|
||||
int karmaFlag = getKarmaFlag(item);
|
||||
return (item.getFlag() & karmaFlag) == karmaFlag;
|
||||
}
|
||||
|
||||
public static boolean hasUsedKarmaFlag(Item item) {
|
||||
int karmaFlag = ItemConstants.KARMA_UNTRADEABLE;
|
||||
return (item.getFlag() & karmaFlag) == karmaFlag;
|
||||
}
|
||||
|
||||
|
||||
public static void toggleKarmaFlagToUntradeable(Item item) {
|
||||
int karmaFlag = getKarmaFlag(item);
|
||||
int flag = item.getFlag();
|
||||
@@ -48,8 +43,7 @@ public class MapleKarmaManipulator {
|
||||
if ((flag & karmaFlag) == karmaFlag) {
|
||||
flag ^= karmaFlag;
|
||||
flag |= ItemConstants.UNTRADEABLE;
|
||||
flag |= ItemConstants.KARMA_UNTRADEABLE;
|
||||
|
||||
|
||||
item.setFlag((byte) flag);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@ public final class ItemConstants {
|
||||
public final static int COLD = 0x04;
|
||||
public final static int UNTRADEABLE = 0x08;
|
||||
public final static int KARMA_EQP = 0x10;
|
||||
public final static int KARMA_UNTRADEABLE = 0x20; // let 0x20 until it's proven something uses this
|
||||
public final static int SANDBOX = 0x40; // let 0x40 until it's proven something uses this
|
||||
public final static int PET_COME = 0x80;
|
||||
public final static int ACCOUNT_SHARING = 0x100;
|
||||
|
||||
@@ -470,13 +470,7 @@ public final class UseCashItemHandler extends AbstractMaplePacketHandler {
|
||||
c.announce(MaplePacketCreator.enableActions());
|
||||
return;
|
||||
}
|
||||
|
||||
if(MapleKarmaManipulator.hasUsedKarmaFlag(item)) {
|
||||
player.dropMessage(6, "Scissors of Karma was already used on this item.");
|
||||
c.announce(MaplePacketCreator.enableActions());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
MapleKarmaManipulator.setKarmaFlag(item);
|
||||
player.forceUpdateItem(item);
|
||||
remove(c, itemId);
|
||||
|
||||
Reference in New Issue
Block a user