TODO (non-exhaustive list in no particular order):
Implement all the non-ultimate weapons.
Refactor the code (this was a rush job).
Fix a possible error in the RV overflows count (possible switch between AOV and OV when BD is negative).
Implement MP damage (i.e., blood fang/hammer blow) and MP overflow.
Implement HP Absorb / MP Absorb integration.
Find a smart way to collect the exact amount of APs on the Missing Score without a JTextField and without slowing down the UI.