mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
- Adding purchase restrictions for Quest Pet based on the user's level
This commit is contained in:
@@ -144,7 +144,14 @@ public class ViewStall extends JPanel {
|
||||
}
|
||||
|
||||
final QuestAssets qS = qData.getAssets();
|
||||
this.lblStats.setText("Credits: " + qS.getCredits() + " Life: " + qS.getLife(qData.getMode()));
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("Credits: ");
|
||||
sb.append(qS.getCredits());
|
||||
sb.append(" Life: ");
|
||||
sb.append(qS.getLife(qData.getMode()));
|
||||
sb.append(" Level: ");
|
||||
sb.append(qData.getLevel());
|
||||
this.lblStats.setText(sb.toString());
|
||||
|
||||
final List<IQuestBazaarItem> items = qData.getBazaar().getItems(qData, this.stall.getName());
|
||||
|
||||
|
||||
@@ -302,7 +302,7 @@ public class QuestController {
|
||||
* @return the rank
|
||||
*/
|
||||
public String getRank() {
|
||||
return getRank(this.model.getAchievements().getLevel());
|
||||
return getRank(getLevel());
|
||||
}
|
||||
|
||||
public String getRank(int level) {
|
||||
@@ -312,6 +312,10 @@ public class QuestController {
|
||||
return QuestController.RANK_TITLES[level];
|
||||
}
|
||||
|
||||
public int getLevel() {
|
||||
return this.model.getAchievements().getLevel();
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this method.
|
||||
*
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package forge.quest.bazaar;
|
||||
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestAssets;
|
||||
|
||||
/**
|
||||
@@ -78,7 +79,7 @@ public interface IQuestBazaarItem extends Comparable<Object> {
|
||||
* <code>false</code> if the item should not be displayed in store
|
||||
* since, for example, prerequisites are not met
|
||||
*/
|
||||
boolean isAvailableForPurchase(QuestAssets questAssets);
|
||||
boolean isAvailableForPurchase(QuestAssets questAssets, QuestController qCtrl);
|
||||
|
||||
/**
|
||||
* Executed when the item is bought.
|
||||
|
||||
@@ -164,7 +164,7 @@ public class QuestBazaarManager {
|
||||
|
||||
QuestAssets qA = FModel.getQuest().getAssets();
|
||||
for (final IQuestBazaarItem purchasable : itemsOnStalls.get(stallName)) {
|
||||
if (purchasable.isAvailableForPurchase(qA)) {
|
||||
if (purchasable.isAvailableForPurchase(qA, qCtrl)) {
|
||||
ret.add(purchasable);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
||||
import forge.assets.FSkinProp;
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestAssets;
|
||||
|
||||
/**
|
||||
@@ -118,11 +119,13 @@ public class QuestItemBasic implements IQuestBazaarItem {
|
||||
* isAvailableForPurchase.
|
||||
* </p>
|
||||
*
|
||||
*
|
||||
* @param qA the q a
|
||||
* @param qCtrl
|
||||
* @return a boolean.
|
||||
*/
|
||||
@Override
|
||||
public boolean isAvailableForPurchase(final QuestAssets qA) {
|
||||
public boolean isAvailableForPurchase(final QuestAssets qA, QuestController qCtrl) {
|
||||
return qA.getItemLevel(itemType) < maxLevel;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package forge.quest.bazaar;
|
||||
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestAssets;
|
||||
|
||||
/**
|
||||
@@ -39,8 +40,8 @@ public class QuestItemCharmOfVigor extends QuestItemBasic {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final boolean isAvailableForPurchase(QuestAssets qA) {
|
||||
return super.isAvailableForPurchase(qA);
|
||||
public final boolean isAvailableForPurchase(QuestAssets qA, QuestController qCtrl) {
|
||||
return super.isAvailableForPurchase(qA, qCtrl);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
*/
|
||||
package forge.quest.bazaar;
|
||||
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestAssets;
|
||||
|
||||
/**
|
||||
@@ -39,8 +40,8 @@ public class QuestItemZeppelin extends QuestItemBasic {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Override
|
||||
public final boolean isAvailableForPurchase(QuestAssets qA) {
|
||||
return super.isAvailableForPurchase(qA) && qA.hasItem(QuestItemType.MAP);
|
||||
public final boolean isAvailableForPurchase(QuestAssets qA, QuestController qCtrl) {
|
||||
return super.isAvailableForPurchase(qA, qCtrl) && qA.hasItem(QuestItemType.MAP);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
|
||||
|
||||
import forge.item.PaperToken;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.quest.QuestController;
|
||||
import forge.quest.data.QuestAssets;
|
||||
|
||||
/**
|
||||
@@ -234,12 +235,15 @@ public class QuestPetController implements IQuestBazaarItem {
|
||||
* <p>
|
||||
* isAvailableForPurchase.
|
||||
* </p>
|
||||
*
|
||||
* @param qA quest assets
|
||||
* @param qCtrl
|
||||
* @return a boolean.
|
||||
*/
|
||||
@Override
|
||||
public boolean isAvailableForPurchase(final QuestAssets qA) {
|
||||
return this.getPetLevel(qA) < this.getMaxLevel();
|
||||
public boolean isAvailableForPurchase(final QuestAssets qA, QuestController qCtrl) {
|
||||
return this.getPetLevel(qA) < this.getMaxLevel() &&
|
||||
(qCtrl == null || qCtrl.getLevel() >= this.getPetLevel(qA));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user