• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 12:18:07 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


formula 58 / Moldball virus help

Started by ---HattoriIga---, February 18, 2021, 12:41:29 pm

---HattoriIga---

February 18, 2021, 12:41:29 pm Last Edit: March 31, 2021, 07:52:16 pm by HattoriHanzo

Hello I wanted to ask for help for those who created ASM. it would be possible to change a formula of the generic formula 58: set Morbol: Hit (MA + X)%.
I tried to learn more ASM, unfortunately that doesn't get in my donkey's head.
 in summary, i ask please, could someone change this part of the formula i define morbol for any set?
example, knight, monk. or leave a way to choose any set, whether monster or human.
I thank everyone in the community who creates this wonderful tool.  :)
  • Modding version: PSX

nitwit

Here's the Moldball Virus formula:
https://ffhacktics.com/wiki/58_Generic:_Set_Morbol:_Hit(MA%2BX)%25

A jal is a subroutine (aka method or function) call, find the called subroutine by Ctrl f the address it references in Routine Locations:
https://ffhacktics.com/wiki/Routine_Locations

Don't use spaces, the 0x prefix, or leading zeros.

For instance, here's Elemental Strengthen:
https://ffhacktics.com/wiki/Elemental_Strengthen

See the starting address is the same as the address referenced in this line of code in the Moldball Virus formula?
0018a834: 0c0617ff jal 0x00185ffc      Elemental Boost

You'll also need to look at Battle Stats to find out what's being loaded in many cases.
https://ffhacktics.com/wiki/Battle_Stats

I can't tell by glancing at it how exactly it does it's thing. I'd try fiddling with these lines in a save state or the memory editor for pSXfin or duckstation.
0018a8cc: 2442007e addiu r2,r2,0x007e
0018a8d0: 304200ff andi r2,r2,0x00ff      r2 = Job Class + 0x7e
0018a8d4: 2c420003 sltiu r2,r2,0x0003     
0018a8d8: 14400005 bne r2,r0,0x0018a8f0      Check if already murbol
0018a8dc: 34020002 ori r2,r0,0x0002
0018a8e0: a4820010 sh r2,0x0010(r4)      Turn unit into murbol
0018a8e4: 34020001 ori r2,r0,0x0001