Luckytyphlosion/RNG Glitches: Difference between revisions
From The Rockman EXE Zone Wiki
< User:Luckytyphlosion
(Created page with "== All Games == * Shuffle Bias. See [https://www.i-programmer.info/programming/theory/2744-how-not-to-shuffle-the-kunth-fisher-yates-algorithm.html this explanation]. MMBN1 is...") |
No edit summary |
||
Line 6: | Line 6: | ||
== MMBN2 == | == MMBN2 == | ||
? | * Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. RetroChip Traders work differently and do allow you to get 6th code (thanks Greiga Master). TODO: do normal chip traders list * code in their reward lists? | ||
== MMBN3 == | == MMBN3 == | ||
* <s>BugStyle movement bug selection: Initial call has mask 0xf, selects movement bug if value is [0x4, 0x9]. Subsequent call has mask 0x2, 0x0 gives up movement bug, 0x1 gives down movement bug</s> Doesn't skew | * <s>BugStyle movement bug selection: Initial call has mask 0xf, selects movement bug if value is [0x4, 0x9]. Subsequent call has mask 0x2, 0x0 gives up movement bug, 0x1 gives down movement bug</s> Doesn't skew. | ||
* Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. Traders do list * code in their reward lists. | |||
== MMBN4 == | == MMBN4 == | ||
* Battle selection, GMD contents | * Battle selection, GMD contents | ||
* Can only choose 4th code for chips from a redraw. | |||
== EXE4.5 == | == EXE4.5 == | ||
Line 19: | Line 21: | ||
== MMBN5 == | == MMBN5 == | ||
* GMD contents | * GMD contents | ||
* Can only choose 4th code for chips from a redraw. | |||
== MMBN6 == | |||
* JP only: Can only choose 4th code for chips from a redraw. | |||
== OSS == | == OSS == |
Revision as of 00:11, 1 November 2022
All Games
- Shuffle Bias. See this explanation. MMBN1 is affected less as it swaps 60 times instead of ~30 (depends on game).
MMBN1
- GMD contents (Dump)
MMBN2
- Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. RetroChip Traders work differently and do allow you to get 6th code (thanks Greiga Master). TODO: do normal chip traders list * code in their reward lists?
MMBN3
BugStyle movement bug selection: Initial call has mask 0xf, selects movement bug if value is [0x4, 0x9]. Subsequent call has mask 0x2, 0x0 gives up movement bug, 0x1 gives down movement bugDoesn't skew.- Although Chip Traders are coded to have up to 6 codes per chip, only the first 5 codes of any chip can drop. This applies to both normal draws and redraws; unlike later games, you cannot get the 6th code through a redraw. Traders do list * code in their reward lists.
MMBN4
- Battle selection, GMD contents
- Can only choose 4th code for chips from a redraw.
EXE4.5
- Tournament selection, TODO rediscover this.
MMBN5
- GMD contents
- Can only choose 4th code for chips from a redraw.
MMBN6
- JP only: Can only choose 4th code for chips from a redraw.
OSS
- GMD contents (Dump)
- Game reseeds using MAC address, potential abuse. Code is below
int sub_2001324() { byte[] macAddress = new byte[6]; RTCDate rtcDate = new RTCDate(); RTCTime rtcTime = new RTCTime(); RTC_GetDateTime(&rtcDate, &rtcTime); OS_GetMacAddress(&macAddress); int macSum = macAddress[0] + (macAddress[1] << 8) + (macAddress[2] << 16) + (macAddress[3] << 24) + macAddress[4] + macAddress[5]; int timeSum = rtcTime.second + 60 * rtcTime.minute + 3600 * rtcTime.hour; int dateSum = rtcDate.day + rtcDate.month + rtcDate.year; return macSum + timeSum + dateSum; }