User talk:Mantidactyle

From Data Crystal
Revision as of 16:04, 1 February 2015 by Motus (talk | contribs) (→‎Link Battle PRNG length: new section)
Jump to navigation Jump to search

Stadium critical hit calculation?

I'm not the best at assembly, but reading through this I think I found some inaccuracies? (or at least some stuff that doesn't match up with the formula?)

  • What is going on/what are the differences between what happens at the three sections titled "Critical Hit", "¡Un Golpe Crítico!", and "Critical Hit calculation"? I have no idea what's going on in the first one, and the last two both seem responsible for calculating the ratio together.
  • For a regular move (no Focus Energy), tracing the assembly starting at "¡Un Golpe Crítico!", what is the "If A0 ≠ 1, jump to 0x35C52C" line responsible for? Later, it looks like "BEQ R0, R0, $0035C558" is always true (since zero = zero) which means that a chunk of code below it is always skipped? This would throw off the BaseSpeed + 76 >> 2 formula.
  • Which lines are ultimately responsible for manipulating the critical hit rate, for the normal case, Focus Energy case, high critical-hit ratio case, and both Focus Energy+high crit ratio together case? How much does using a high critical hit ratio increase the probability of landing a CH?

Zowayix (talk) 16:43, 8 January 2015 (EST)

Replied on your Talk page. --Mantidactyle (talk) 18:16, 8 January 2015 (EST)
Thank you so much! Argh, I can't believe I completely forgot about the branch/jump delay in assembly (after having taken it just the previous year in college and having that pounded into our heads), that clears up so much stuff. Zowayix (talk) 14:18, 9 January 2015 (EST)

Link Battle PRNG length -- "then it's up to D151, right ? I only saw 9 numbers changing but it might be because I forced a FF at d151"

I saw the pokered disassembly's wram.asm: "wd148:: ds10"; but looking at engine/battle/core.asm lines 6728 to 6739, the loop runs for a total of 9 times.

Interestingly, in engine/cable_club.asm lines 35-43, the loop runs ten times there, further strenghtening my initially wrong belief. I apologize for causing that confusion.