WiiRd forum

Wii & Gamecube Hacking => Wii Game hacking help => Topic started by: live2play on May 10, 2010, 07:34:48 PM

Title: Weapon Has Special Ability
Post by: live2play on May 10, 2010, 07:34:48 PM
In a particular game, there is an action that makes a weapon more powerful.  What technique would be best to use to determine the ASM being executed when this change takes place?
Title: Re: Weapon Has Special Ability
Post by: dcx2 on May 11, 2010, 02:34:39 PM
The new state of the weapon should be reflected in a variable somewhere in memory.  A few unknown equal/notequal search cycles could find it.

Even better, is it a time-limited upgrade?  Those are super-easy; step through frame by frame and look for variables that are different by 1 (that will find up *and* down counters).  Once you find the timer, you can change one of the asm instructions to a li, and it will essentially give you infinite upgrade by making the timer last forever.

If it's something that enemies leave behind, and it eventually expires, you can look for the expiration counter.

If it's an item in an inventory that upgrades your weapon, you can try to find the count of items in your inventory and see who is subtracting from it.  That would get you in the vicinity of the variable, so you still need to do a bit more digging.

You should see larger decreases in the enemy's health with the upgrade on.  Breakpoint on an enemy's health variable, find out how much it's supposed to subtract, follow that value back to the original calculation, and you should find the calculation that results in increased damage, which will depend on the upgrade.
Title: Re: Weapon Has Special Ability
Post by: live2play on May 11, 2010, 05:43:43 PM
Thanks for all of the tips.  I'll try to apply them and see what I get.