meekrhino / digimon_world_randomizer

Digimon World 1 (PS1) data randomizer. Create a unique, brand new experience for the classic game.
35 stars 5 forks source link

Randomize techniques of bosses with unused techs in the pool #94

Open DoctorAnsem opened 3 years ago

DoctorAnsem commented 3 years ago

I've gone ahead and mapped out the offsets of all the tech pools that can benefit from such a feature, excluding a few which I deemed too redundant for the effort after careful deliberation. I wrote a set of notes and I'm just going to dump the whole page here without any attempt at beautifying it. :)

4 tech slots, 16-bit values each --- after which there are 4 slots of 16-bit probability values that the game
always wants to add up to 100 total, but unsure if it's mandatory since there are some arbirary exceptions.
Regardless, in many (or is it easier to say all?) cases these probabilities will need adjusting (read: randomizing)
because the original tech slot was empty and therefore the value was 0

Additional note: the last valid value usually is the finisher, but it shall be left to the programmer's discretion
whether or not the entity will always be forced to have a finisher or not, at least in cases where more than
4 techs can be chosen from. :)

Agumon move pool at 0x09C9B66A in ROM --- Valid values: 2E to 35
Devimon move pool at 0x05EBEA2C in ROM --- Valid values: 2E to 35

Numemon 1 move pool at 0x04F4D9DA in ROM --- Valid values: 2E to 31 (just write them linearly? that's 4 techs)
Numemon 2 move pool at 0x04F4DA3A in ROM --- Valid values: 2E to 31 (just write them linearly? that's 4 techs)

MetalGreymon move pool at 0x0517BC22 in ROM --- Valid values: 2E to 35

Mamemon move pool at 0x061EF0EE in ROM --- Valid values: 2E to 32

Birdramon move pool at 0x0A668DA2 in ROM --- Valid values: 2E to 31 (Write linearly)

Garurumon 1 move pool at 0x09303D3A in ROM --- Valid values: 2E to 32
Garurumon 2 move pool at 0x09303F20 in ROM --- Valid values: 2E to 32

SkullGreymon move pool at 0x05588376 in ROM --- Valid values: 2E to 33

MetalMememon move pool at 0x026D5A9E in ROM --- Valid values: 2E to 32

Patamon move pool at 0x0800E826 in ROM --- Valid values: 2E to 32

Kunemon move pool at 0x014D3A9C in ROM --- Valid values: 2E to 32

WaruSeadramon move pool at 0x02134104 in ROM --- Valid values: 2E to 31 (Write linearly)

Machinedramon move pool at 0x059E5A88 in ROM --- Valid values: 2E to 34
(not including Back Dimension encounters here because chances are nobody ever fights them)

Drimogemon move pool at 0x06909DAA in ROM --- Valid values: 2E to 32

Giromon move pool at 0x02AF1348 in ROM --- Valid values: 2E to 32

Etemon move pool at 0x016433C6 in ROM --- Valid values: 2E to 32

Kokatorimon move pool at 0x0A0737AA in ROM --- Valid values: 2E to 32