Manually Setting Up Battle Roster Nicknames

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

The game may not load Unit Nicknames into Battle if your units are flagged as out on a Proposition. It's unlikely that most people will do anything with this, but on the off chance someone else wants to make characters talk about a unit according to their Nickname or something like that, here's the commands I used to manually generate unit names.

LUI(x0070,x8016)//The first byte of the Roster Unit Nicknames
ADD(x0070,x38C0)//used by the Text Format stuff.

LUI(x0071,x8005)//First unit's World Stat address.
ADD(x0071,x7F74)

SET(x0073,x0013)//Number of jumps.

GoToTarget(x04)
LoadAddress(x00,x0001,x71,001)//Load the unit's Party ID.
SET(x0001,x00FF)//Check for xFF, which means no unit.
EQ()
If()//Party ID equals xFF: ignore this unit and move on.
  SET(x0000,x00FE)
  GoTo(x06)
EndIf()

SETVar(x0072,x0071)//First character of unit's Nickname
ADD(x0072,x00BE)

GoToTarget(x05)
LoadAddress(x00,x0000,x72,001)//Load byte from Nickname
GoToTarget(x06)
SET(x0001,x00FE)
SaveAddress(x00,x0000,x70,001)//Save byte to the Nickname List
ADD(x0070,x0001)//Advance the Nickname address
EQ()
If()//Was this an end of name character?
  SETVar(x0000,x0073)//Was this the end of the jumps?
  If()//Nope, still more jumps left.
    ADD(x0071,x0100)//Move the Roster Unit address to the next unit.
    SUB(x0073,x0001)//Subtract from the Number of Jumps.
    GoTo(x04)
  EndIf()
Else()//Nope, there are more characters left.
  ADD(x0072,x0001)//Move to the next Roster Unit Nickname byte.
  GoTo(x05)
EndIf()