Fix Scissors of Karma can only be used once (#307)

This commit is contained in:
MedicOP
2019-01-09 17:01:05 +01:00
committed by Ronan Lana
parent 7a2a194aea
commit 37dbf6d2b5
3 changed files with 3 additions and 16 deletions

View File

@@ -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);
}
}

View File

@@ -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;

View File

@@ -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);