Commit graph

2360 commits

Author SHA1 Message Date
Kurt
2ed8056ea4 Trailing commas 2021-10-08 12:42:32 -07:00
sora10pls
7722baa826 Update RibbonVerifier.cs
Series 11 allows restricted Pokémon and runs until January 31st, 2022.
2021-10-08 09:41:57 -04:00
Kurt
97af5a31c1 Rewrite gen1 trade evo check
Closes #3266 ty @CanoeHope !
2021-10-07 23:56:01 -07:00
Kurt
cb204f335b Clamp gen1 learning of moves for min move count
Hope this doesn't regress for stadium tutoring moves

RB eevee with special 2-move set was being flagged (wanted 4 moves cuz the base 2 aren't the normal levelup moves)

capture references for more concise expressions
2021-10-07 23:55:15 -07:00
Kurt
5fe38e1707 Allow wc3 nickname flag due to 3->4 nick detection omission
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-10-05 22:46:21 -07:00
Kurt
3f438a8169 Min movecount: handle more edge cases with latest api
Still should be rewritten to traverse all possible moveset building actions
2021-10-03 18:10:53 -07:00
Kurt
f53f46c2e4 Revise ability patch/capsule message
Fix PCD logic flow
2021-10-02 10:25:52 -07:00
Kurt
015afdf369 Hardcode kiribati date shift offset
Should have been "UTC+12"
We can just inline the shifting since it'll always add 12 hours to the current UTC time, thus that's the maximum date value possible
2021-10-01 08:35:11 -07:00
Kurt
f2dc3f1245 Exclude granbull/vibrava/flygon as single abilities
per the personal data in emerald, they are the only species that go from 2 distinct abilities to 1; since the game does not update the abilityNumber on evolution, it has the second ability being the same as the first, instead of the usual [ability,none] for all other single ability species.
2021-09-30 21:42:44 -07:00
Kurt
aa334a55f1 Revise future date clamping to use max current date
Transfers use local date rather than UTC date, so we gotta allow dates up to kiribati's current date :)

Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-09-30 20:15:19 -07:00
Kurt
d4b20b8082 Add nickname checks for WC3, add non-english ageto/colo
Closes #3260

Co-Authored-By: FeralFalcon <33670476+FeralFalcon@users.noreply.github.com>
2021-09-30 19:57:52 -07:00
Kurt
ca35623124 Remove phantom invisible character, fix de mattle ho-oh
#3260 part 1

I searched for more instances of the phantom character, and found the one instance in gen7 zh flags :D

Co-Authored-By: FeralFalcon <33670476+FeralFalcon@users.noreply.github.com>
2021-09-30 19:29:22 -07:00
sora10pls
c9fed1ce70 Update BallVerifier.cs 2021-09-30 20:12:54 -04:00
sora10pls
9ec879bd99 Allow non-Poké Ball for Alolan starters
thank you game freak
2021-09-30 20:08:27 -04:00
sora10pls
769021cf77 Add Alolan distribution raids 🏝 2021-09-30 20:04:58 -04:00
Kurt
6a2f778c9a Allow reload for debug build 2021-09-21 19:42:14 -07:00
Kurt
ea90c9095f Fix early return bool
oops
Probably should be doing this in a branch before pushing :)
2021-09-17 18:15:19 -07:00
Kurt
425f0067c3 Add min level for new gbl types 2021-09-17 17:58:38 -07:00
Kurt
25316fbaef Add IV ceiling for GBL GO encounters 2021-09-17 17:56:15 -07:00
sora10pls
ffdd950a71 Disallow all Dynamax Crystals as held items
They cannot be given to a Pokémon to hold in-game. Also label new Pikachu/Eevee Dynamax Crystals.

Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-09-16 20:15:22 -04:00
sora10pls
93cb6de183 Add Solrock/Lunatone distribution raids + new Dynamax Crystals 2021-09-16 20:11:10 -04:00
Kurt
c3051b3002 Fix special beam move order
Differs from gen4 which has frenzy plant last
2021-09-16 12:50:55 -07:00
sora10pls
e166f86027 Update Evolution enums
Tyrogue => Hitmonlee and Tyrogue => Hitmontop were reversed. 5c4475a237
2021-09-16 08:53:14 -04:00
Kurt
2874f6fc69 Revise pichu volt tackle egg handling
Clean up ParseMovesWasEggPreRelearn as only EncounterEgg call into it, and no EncounterEgg has a special moves interface implemented.
2021-09-15 18:43:18 -07:00
Kurt
63580a2835 Minor tweaks
For BigEndian we don't have to invert the array access if we just iterate backwards :)
Fix xmldoc for gen1 trades ampersand
Add xmldoc for enc trade classes

No functional change.
2021-09-15 18:13:17 -07:00
Lusamine
25313ad58d Eternatus can trigger legendary encounter memory 2021-09-15 20:04:09 -05:00
Lusamine
a779000097 Include Thunderstorm for Honeycalm Sea Seadra 2021-09-12 16:14:22 -05:00
Lusamine
4e398322b0
More memory legality checks (#3256)
* Add more memory legality checks

Includes the following new memory checks:
- 4: met in link-trade, allows all possible genlocs except dangerous place
- 7: successful fishing, allows fishable species in gen 6 and 8
- 9: paying attention to another mon, allows only available species for gen 8
- 29: encountering legendary Pokémon, only seen on Zacian, Zamazenta, Calyrex so far
- 32: riding a bike, only in genlocs where biking is possible
- 75: taken to Nursery and placed with a mon, allows only available species for gen 8

Unstubs lotto check and applies it to gen 6.

Co-Authored-By: Skadiv <62726360+Skadiv@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>

* Loto-ID only has one t

* Crown Shrine has another genloc outside

* Consistent Loto name for array

Co-authored-by: Skadiv <62726360+Skadiv@users.noreply.github.com>
Co-authored-by: Matt <17801814+sora10pls@users.noreply.github.com>
2021-09-12 12:01:45 -07:00
Kurt
80d1712b72 Mark stuff with enums, remove unused arrays
Fix shuffled comments for FormInfo
Remove unnecessary Reset on ctor, all fields are already the default
2021-09-07 20:57:19 -07:00
Kurt
a9374560ec Don't recurse, jump straight to eventual method for splitbreeds
Don't check splitbreed if generation <= 2, move that check upwards.
2021-09-07 15:40:14 -07:00
Kurt
91c7c28c6f Inline form changeable species lists 2021-09-07 15:35:36 -07:00
Kurt
1d00e17217 Add properties for cleaner interaction 2021-09-07 15:31:54 -07:00
Kurt
2575d73144 Add IFixedAbilityNumber, hide vivillon region flags
tfw can't using static a private class in the file, gotta be explicit.
2021-09-06 18:11:32 -07:00
Kurt
17c32db8b5 Minor fixes
Replace hardcoded move int with enum val
Lillipup->Rockruff
personal_swsh: remove pledge bitflags (missed in CT update)
2021-09-06 18:04:14 -07:00
Kurt
41b1aaeb19 Search mystery gift relearn moves for needed moves
Add to encountertrades searcher, for futureproofing

solves gen8 mg searching volt tackle pikachu
2021-09-06 11:43:42 -07:00
Lusamine
9751a75f59 Free Sgr7121 GMax Duraludon 2021-09-06 13:26:18 -05:00
Kurt
99231b978e Prevent egg generator from yielding unbreedable species-forms
The "IsPresentInGame" will likely have to be refactored out as an interface, as future games (BDSP) will likely have partial national dex content
2021-09-06 10:48:32 -07:00
Lusamine
4cb525aac1 Restrict memory 39 general locations for SWSH 2021-09-06 12:39:08 -05:00
Kurt
5079b4f311 Handle cutecharm ambiguous seed-frames
Iterate over all possible seed frames that yield the IV pattern; nature is right before IV rands (PID is algorithmic from gender ratio and prior nature call).
Split up GetFrames into stepwise methods, clean up parameter passing
2021-09-06 00:35:40 -07:00
sora10pls
9bd0104954 Add new distribution raids 🧹 2021-09-02 20:04:14 -04:00
Lusamine
2f2cb43bd0 Disallow memory 17 from SWSH
It's a 1% memory that is impossible to obtain normally, but was missed earlier since it occurs on the in-game Throh/Sawk trades.
2021-08-29 19:22:09 -05:00
Kurt
adb7466a22 More memory legality additions
probably worthwhile to move the checks into the context, and return an enum -> switch to generate checkresult
2021-08-29 15:56:09 -07:00
Kurt
348fa4c9fa Force Gen2 Red Gyarados to be male only, fixed IVs
Closes #3251

Uses fixed IVs to force shininess (rather than mutating DVs)
1f9e688b76/engine/battle/core.asm (L6103-L6110)

Co-Authored-By: CanoeHope <43196464+CanoeHope@users.noreply.github.com>
2021-08-29 13:23:34 -07:00
Kurt
92d15bdd03 Rename SetTradeMemoryHT, add SetTradeMemoryHT8
Gen6 behaves differently from Gen8.
Fix broken test case [Arrived via link trade, it had fun! (2) -> (3)]
2021-08-29 13:15:45 -07:00
Kurt
2f3e496e6f Change defunct gen8 location memory setting to check 1%
Refer to previous commit, the apply-memory has a 1% chance of failing for 100% memories, resulting in the ability to have 0-memory HT via link trades.

In-game trades caused the previous logic, as those forget to set the HT memory (likely the same logic flaw as skipping the nickname check via game settings).
2021-08-29 13:09:26 -07:00
Kurt
1ac125d335 Add Gen8 memory table data
The middle table in poke_memory.prmb contains the analogue of Gen6's memory table data. All existing memory data is the same, with 20 memories added.

Feeling bitflags are the same as before, but as we've noticed, feeling 0 is not obtainable. All the feelings are value upshifted by 1. This is why the game shows a blank line for Gen6 Feeling-0, as that game was [0,23] not [1,24] for the span of feeling strings.

Memories with 1% chance are actually 0% due to how they if-abort in the game code. Nice bug, GameFreak! @Lusamine had previously committed the unobtainable memories, derived from the community's empirical data.
2021-08-29 13:06:44 -07:00
Lusamine
3627ff4104 Disallow specific memories from SWSH
Never observed these in 20k+ memories, and I wasn't able to trigger them myself either.
2021-08-29 10:42:16 -05:00
Skadiv
809557715d
Add Wyndon to the sign memory locations (#3252) 2021-08-29 09:38:15 -05:00
Lusamine
e85a75e796 Add Wyndon as a location for sitting on bench memory 2021-08-29 01:28:42 -05:00
Kurt
02e9d07745 Update EvolutionTree.cs 2021-08-28 14:44:07 -07:00