summaryrefslogtreecommitdiff
path: root/src/com/sneed/pkrandom
diff options
context:
space:
mode:
authortom-overton <tom.overton@outlook.com>2022-05-30 22:42:02 -0700
committerrafa_99 <raroma09@gmail.com>2022-05-31 12:34:13 +0100
commite153a03e66f5dbe6490c800af69f0b7f70793a4f (patch)
treea6a0b353e138b2cad98c7ff6371c982374b9f69e /src/com/sneed/pkrandom
parent520bc996f2286a1cc5f2eea2f8f0e98da2de057b (diff)
Remove more useless items from the non-bad item list
- Removes shards from BW1 and XY, since they serve no purpose and don't sell for much - Removals Shoal items from XY and Gen 7, since they serve no purpose and only sell for $10
Diffstat (limited to 'src/com/sneed/pkrandom')
-rw-r--r--src/com/sneed/pkrandom/constants/Gen5Constants.java30
-rw-r--r--src/com/sneed/pkrandom/constants/Gen6Constants.java1
-rw-r--r--src/com/sneed/pkrandom/constants/Gen7Constants.java1
-rwxr-xr-xsrc/com/sneed/pkrandom/romhandlers/Gen5RomHandler.java14
4 files changed, 30 insertions, 16 deletions
diff --git a/src/com/sneed/pkrandom/constants/Gen5Constants.java b/src/com/sneed/pkrandom/constants/Gen5Constants.java
index 2af3df5..a510041 100644
--- a/src/com/sneed/pkrandom/constants/Gen5Constants.java
+++ b/src/com/sneed/pkrandom/constants/Gen5Constants.java
@@ -824,7 +824,7 @@ public class Gen5Constants {
}
}
- public static ItemList allowedItems, nonBadItems;
+ public static ItemList allowedItems, nonBadItemsBW1, nonBadItemsBW2;
public static List<Integer> regularShopItems, opShopItems;
public static String blackBoxLegendaryCheckPrefix1 = "79F6BAEF07B0F0BDC046", blackBoxLegendaryCheckPrefix2 = "DEDB0020C04302B0F8BDC046",
@@ -854,16 +854,20 @@ public class Gen5Constants {
// non-bad items
// ban specific pokemon hold items, berries, apricorns, mail
- nonBadItems = allowedItems.copy();
+ nonBadItemsBW2 = allowedItems.copy();
- nonBadItems.banSingles(Items.oddKeystone, Items.griseousOrb, Items.soulDew, Items.lightBall,
+ nonBadItemsBW2.banSingles(Items.oddKeystone, Items.griseousOrb, Items.soulDew, Items.lightBall,
Items.oranBerry, Items.quickPowder, Items.passOrb);
- nonBadItems.banRange(Items.growthMulch, 4); // mulch
- nonBadItems.banRange(Items.adamantOrb, 2); // orbs
- nonBadItems.banRange(Items.mail1, 12); // mails
- nonBadItems.banRange(Items.figyBerry, 25); // berries without useful battle effects
- nonBadItems.banRange(Items.luckyPunch, 4); // pokemon specific
- nonBadItems.banRange(Items.redScarf, 5); // contest scarves
+ nonBadItemsBW2.banRange(Items.growthMulch, 4); // mulch
+ nonBadItemsBW2.banRange(Items.adamantOrb, 2); // orbs
+ nonBadItemsBW2.banRange(Items.mail1, 12); // mails
+ nonBadItemsBW2.banRange(Items.figyBerry, 25); // berries without useful battle effects
+ nonBadItemsBW2.banRange(Items.luckyPunch, 4); // pokemon specific
+ nonBadItemsBW2.banRange(Items.redScarf, 5); // contest scarves
+
+ // Ban the shards in BW1; even the maniac only gives you $200 for them, and they serve no other purpose.
+ nonBadItemsBW1 = nonBadItemsBW2.copy();
+ nonBadItemsBW1.banRange(Items.redShard, 4);
regularShopItems = new ArrayList<>();
@@ -887,6 +891,14 @@ public class Gen5Constants {
opShopItems.addAll(IntStream.rangeClosed(Items.balmMushroom, Items.casteliacone).boxed().collect(Collectors.toList()));
}
+ public static ItemList getNonBadItems(int romType) {
+ if (romType == Gen5Constants.Type_BW2) {
+ return nonBadItemsBW2;
+ } else {
+ return nonBadItemsBW1;
+ }
+ }
+
public static final Map<Integer,Integer> balancedItemPrices = Stream.of(new Integer[][] {
// Skip item index 0. All prices divided by 10
{Items.masterBall, 300},
diff --git a/src/com/sneed/pkrandom/constants/Gen6Constants.java b/src/com/sneed/pkrandom/constants/Gen6Constants.java
index f72a925..db50e46 100644
--- a/src/com/sneed/pkrandom/constants/Gen6Constants.java
+++ b/src/com/sneed/pkrandom/constants/Gen6Constants.java
@@ -953,6 +953,7 @@ public class Gen6Constants {
nonBadItemsXY.banRange(Items.redScarf, 5); // contest scarves
nonBadItemsXY.banRange(Items.relicCopper,7); // relic items
nonBadItemsXY.banRange(Items.richMulch,4); // more mulch
+ nonBadItemsXY.banRange(Items.shoalSalt, 6); // Shoal items and Shards; they serve no purpose in XY
nonBadItemsORAS = allowedItemsORAS.copy();
diff --git a/src/com/sneed/pkrandom/constants/Gen7Constants.java b/src/com/sneed/pkrandom/constants/Gen7Constants.java
index 16d58e1..3f92435 100644
--- a/src/com/sneed/pkrandom/constants/Gen7Constants.java
+++ b/src/com/sneed/pkrandom/constants/Gen7Constants.java
@@ -1022,6 +1022,7 @@ public class Gen7Constants {
nonBadItems.banRange(Items.cameruptite, 4); // Mega Stones, part 3
nonBadItems.banRange(Items.fightingMemory,17); // Memories
nonBadItems.banRange(Items.relicCopper,7); // relic items
+ nonBadItems.banSingles(Items.shoalSalt, Items.shoalShell); // Shoal items; have no purpose and sell for $10.
regularShopItemsSM = new ArrayList<>();
diff --git a/src/com/sneed/pkrandom/romhandlers/Gen5RomHandler.java b/src/com/sneed/pkrandom/romhandlers/Gen5RomHandler.java
index 6c86e30..8c1d125 100755
--- a/src/com/sneed/pkrandom/romhandlers/Gen5RomHandler.java
+++ b/src/com/sneed/pkrandom/romhandlers/Gen5RomHandler.java
@@ -495,7 +495,7 @@ public class Gen5RomHandler extends AbstractDSRomHandler {
loadedWildMapNames = false;
allowedItems = Gen5Constants.allowedItems.copy();
- nonBadItems = Gen5Constants.nonBadItems.copy();
+ nonBadItems = Gen5Constants.getNonBadItems(romEntry.romType).copy();
regularShopItems = Gen5Constants.regularShopItems;
opShopItems = Gen5Constants.opShopItems;
@@ -2436,16 +2436,16 @@ public class Gen5RomHandler extends AbstractDSRomHandler {
removeFreeLuckyEgg();
} else if (tweak == MiscTweak.BAN_BIG_MANIAC_ITEMS) {
// BalmMushroom, Big Nugget, Pearl String, Comet Shard
- allowedItems.banRange(0x244, 4);
- nonBadItems.banRange(0x244, 4);
+ allowedItems.banRange(Items.balmMushroom, 4);
+ nonBadItems.banRange(Items.balmMushroom, 4);
// Relics
- allowedItems.banRange(0x24B, 4);
- nonBadItems.banRange(0x24B, 4);
+ allowedItems.banRange(Items.relicVase, 4);
+ nonBadItems.banRange(Items.relicVase, 4);
// Rare berries
- allowedItems.banRange(0xCE, 7);
- nonBadItems.banRange(0xCE, 7);
+ allowedItems.banRange(Items.lansatBerry, 7);
+ nonBadItems.banRange(Items.lansatBerry, 7);
} else if (tweak == MiscTweak.BALANCE_STATIC_LEVELS) {
byte[] fossilFile = scriptNarc.files.get(Gen5Constants.fossilPokemonFile);
writeWord(fossilFile,Gen5Constants.fossilPokemonLevelOffset,20);