Fixed genesis crystals not being given to player

This commit is contained in:
Melledy 2022-04-27 10:42:50 -07:00
parent 1586bab5d7
commit 8bf17a8bdc
4 changed files with 16 additions and 7 deletions

View File

@ -249,6 +249,9 @@ public class Inventory implements Iterable<GameItem> {
case 202: // Mora
getPlayer().setMora(player.getMora() + count);
break;
case 203: // Genesis Crystals
getPlayer().setCrystals(player.getCrystals() + count);
break;
}
}

View File

@ -923,6 +923,7 @@ public class InventoryManager {
break;
}
// Welkin
if (useItem.getItemId() == 1202) {
player.rechargeMoonCard();
used = 1;

View File

@ -294,6 +294,15 @@ public class Player {
this.setProperty(PlayerProperty.PROP_PLAYER_SCOIN, mora);
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_SCOIN));
}
public int getCrystals() {
return this.getProperty(PlayerProperty.PROP_PLAYER_MCOIN);
}
public void setCrystals(int crystals) {
this.setProperty(PlayerProperty.PROP_PLAYER_MCOIN, crystals);
this.sendPacket(new PacketPlayerPropNotify(this, PlayerProperty.PROP_PLAYER_MCOIN));
}
private int getExpRequired(int level) {
PlayerLevelData levelData = GameData.getPlayerLevelDataMap().get(level);
@ -550,11 +559,7 @@ public class Player {
}
public void rechargeMoonCard() {
LinkedList<GameItem> items = new LinkedList<GameItem>();
for (int i = 0; i < 300; i++) {
items.add(new GameItem(203));
}
inventory.addItems(items);
inventory.addItem(new GameItem(203, 300));
if (!moonCard) {
moonCard = true;
Date now = new Date();

View File

@ -32,7 +32,7 @@ public class HandlerBuyGoodsReq extends PacketHandler {
if (sg.getHcoin() > 0 && session.getPlayer().getPrimogems() < buyGoodsReq.getBoughtNum() * sg.getHcoin()) {
return;
}
if (sg.getMcoin() > 0 && session.getPlayer().getProperty(PlayerProperty.PROP_PLAYER_MCOIN) < buyGoodsReq.getBoughtNum() * sg.getMcoin()) {
if (sg.getMcoin() > 0 && session.getPlayer().getCrystals() < buyGoodsReq.getBoughtNum() * sg.getMcoin()) {
return;
}
@ -46,7 +46,7 @@ public class HandlerBuyGoodsReq extends PacketHandler {
session.getPlayer().setMora(session.getPlayer().getMora() - buyGoodsReq.getBoughtNum() * sg.getScoin());
session.getPlayer().setPrimogems(session.getPlayer().getPrimogems() - buyGoodsReq.getBoughtNum() * sg.getHcoin());
session.getPlayer().setProperty(PlayerProperty.PROP_PLAYER_MCOIN, session.getPlayer().getProperty(PlayerProperty.PROP_PLAYER_MCOIN) - buyGoodsReq.getBoughtNum() * sg.getMcoin());
session.getPlayer().setCrystals(session.getPlayer().getCrystals() - buyGoodsReq.getBoughtNum() * sg.getMcoin());
if (!itemsCache.isEmpty()) {
for (GameItem gi : itemsCache.keySet()) {