The whole old rod thing was me wondering how it could only have two slots (and thus how to make it work).
If you freeze a value to the main seed location, it will act as the initial seed for PID generation, thus bypassing any advancement from sweet scent. A little hackish, but gets research done.
Now that I can successfully test individual seeds (knowing what Nature I'll hit) via seed freezing in the emulator, I can verify those ESV->Slots.
If you freeze a value to the main seed location, it will act as the initial seed for PID generation, thus bypassing any advancement from sweet scent. A little hackish, but gets research done.
Now that I can successfully test individual seeds (knowing what Nature I'll hit) via seed freezing in the emulator, I can verify those ESV->Slots.
Here's what I believe them to be:
Code:
Old Rod
Slot 0: 0-69
Slot 1: 70-99
Good Rod
Slot 0: 0-59
Slot 1: 60-79
Slot 2: 80-99
Super Rod
Slot 0: 0-39
Slot 1: 40-79
Slot 2: 80-94
Slot 3: 95-98
Slot 4: 99
Setup of everything before PID:
Now to generate a PID.
Then comes the IVs, which depend on the Method of Generation.
Not sure if this is that calc at frame 1, the rejection of IV bits, or something else.
Code:
0 - Initial
1 - Battle Decision, pretty long thing = Battle
2 - Encounter Slot Value (0-99), via Upper16 %100 = Slot
3 - Encounter Level (from Slot), via Upper16 %(High-Low+1) + Low = Level
4 - Encounter Nature, via Upper16 %25 = Nature
Now to generate a PID.
Code:
set n = 0
loop until break to get a PID%25 = Nature
5+n - Temp Low16PID
6+n - Temp High16PID
if High16PID_Low16PID % 25 = Nature
set as the PID, break
else n=n+2
repeat loop
end
end
Not sure if this is that calc at frame 1, the rejection of IV bits, or something else.
Code:
if Method 1
a = 0
b = 0
elseif Method 2
a = 1
b = 0
elseif Method 4
a = 0
b = 1
end
7+n + a - IVSet1
8+n + a+b - IVSet2