Kroah's Game Reverse Engineering Page

 

~ Return of Heracles ~

You are here:  
  • Home
    • »  Return of Heracles
      • »  Reverse Engineering
        • »  Side Notes

Side Notes

  1. Bugs

    1. Hit Probability

      A part of the Hit Probability code is bugged:

      73C1 LDY #Character.vigor
      73C3 LDA (pTarget),Y
      73C5 AND #00111111b
      73C7 CMP #3
      73C9 BCS $73D1              ; if (targetVigor <= 2) {
      73CB LDA #10                ;   AddAtoProbToHit (10);
      73CD JSR AddAtoProbToHit    ; }
      73D0 LDY #Character.field_F ;
      73D2 LDA (pTarget),Y        ; A = target.field_F
      73D4 TAX                    , X = target.field_F
      73D5 AND #00000100b         ; A = target.State (bit #3 of field_F)
      [...]
      73DE TXA                    ; A = target.field_F
      73DF AND #00000011b         ; A = target.Stance (bit #1 and #2 of field_F)
      

      At address $73C9, if the target Vigor Value is >= 3, the code branch to $73D1 (instead of $73D0). In this case, the executed code is:

      73C9 BCS $73D1
      73D1 ASO $C4B1              ; A = ? (($C4B1) << 1) || A
      73D4 TAX                    ; X = ?
      73D5 AND #00000100b         ; A = ? target.State (bit #3 of field_F)
      [...]
      73DE TXA                    ; A = X
      73DF AND #00000011b         ; A = ? target.Stance (bit #1 and #2 of field_F)
      

      Program never hangs, but the result is unpredictable for the State and the Stance value (It seems the memory address $C4B1 always holds the value 6).

    2. Dropping Armor

      The possibility to Drop the Armor is implemented in the game, but disabled. I don't know if it's intentional, but to enable this functionality, the address $A4C1 must be pocked with the value $8A (replace TAX with TXA).

      "YOUR WORN ARMOR IS DISCARDED AND YOUR FULL DEXTERITY IS RESTORED."

    3. Stance

      I don't know if this is a bug, but I'm surprised of the values for the To Be Hit modifier between Stop (-1) and Defend (0). I think it should be inversed, because like this, it's better to move and Stop than to Defend at all…

  2. TODO

    • Hacks
    • Finalize some parts.
    • Artificial Intelligence of non player characters.
Visitors visitors since 05/01/2006. Sitemap
Copyright © 2006-2016 by Kroah. Total or partial reproduction forbidden.
All trademarks and copyrights are the property of their respective owners. All rights reserved.
Email Me      Get Firefox Powered by PHPEdit      Valid XHTML 1.1 Valid CSS