diff options
author | tom-overton <tom.overton@outlook.com> | 2022-05-30 22:42:02 -0700 |
---|---|---|
committer | rafa_99 <raroma09@gmail.com> | 2022-05-31 12:34:13 +0100 |
commit | e153a03e66f5dbe6490c800af69f0b7f70793a4f (patch) | |
tree | a6a0b353e138b2cad98c7ff6371c982374b9f69e /src/com/sneed/pkrandom | |
parent | 520bc996f2286a1cc5f2eea2f8f0e98da2de057b (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')
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);
|