Second Accessory
🟡 Updated this yearPreview

🔍 Analysis
- 👍 2.9% endorsement rate — high engagement, a strong quality signal
- 🏆 #17 of 99 Gameplay mods in this game by downloads
📋 About This Mod
Second Accessory
This mod enables party members to equip a second accessory. This extra accessory slot works exactly the same as first one, all stackable stats provided by both accessories will stack.
If both accessories granted the same stat lore augment (hp lores, battle lores or magick lores), stats provided by that augment won't stack, this also applies when using The Insurgent's Stat Lores.
Accessibility
Each party member uses 4 bytes of memory for a total of 160 bytes of memory for 40 party members.
Equipment ID of the second accessory
Offset: 0x00, Size: 2 bytes, Data Type: u16.
Equipment ID of the seized second accessory
Offset: 0x02, Size: 2 bytes, Data Type: u16.
The seized second accessory is only used as placeholder at the story of Nalbina Dungeons, during the time when the player inventory is seized temporarily.
Other mods can access the memory region that saves the data of each party member's second accessory by using some features in the Lua Loader.
Here are a few steps to do it:
-
[]Register a flag callback for "SecondAccessory".[/]
[]Write a callback function for it.[/]
[]Check if the passed value is true.[/]
[]Get the memory address of the global symbol "sa_saveMem".[/]
[]Read the data using memory.u16 or memory.readU16(address) at the proper memory address according to the party member id and which data/offset to be read.[/]
WARNING: Do not access memory outside of the allocated size!Here is a lua code example to get both equipment id of a party member:
local secondAccessorySaveData = 0
local function getSecondAccessory(partyMemberId)
if secondAccessorySaveData == 0 then
return 0xFFFF
if partyMemberId < 0 or partyMemberId > 39 then
return 0xFFFF
return memory.u16
local function getSeizedSecondAccessory(partyMemberId)
if secondAccessorySaveData == 0 then
return 0xFFFF
if partyMemberId < 0 or partyMemberId > 39 then
return 0xFFFF
return memory.u16
local function onFlagChange(cause, value)
if value == false then
secondAccessorySaveData = 0
secondAccessorySaveData = memory.getSymbol("sa_saveMem")
event.registerFlagCallback("SecondAccessory", onFlagChange)
This mod saves the extra data needed for continuous playthrough using a json file named SecondAccessory.json. Please note that it should not be edited manually, as it can be considered cheating and may corrupt the data if the user is not careful.
For more details, here is a wiki about the Lua Loader's save handler and load handler.
Compatibility
-
[]Fully compatible with other mods.[/]
[]Fully compatible with all game languages.[/]
[]Fully compatible with existing saves (no new game required).[/]
[]Only compatible with the latest Steam version of the game (1. 0. 4. 0).[/]
Known Issue
During some part of the story, the game requires one of the party members to equip an accessory to progress further into the story.
The player must equip that accessory on the first slot, as the game cannot detect that accessory if it's equipped on the second slot.
Special thanks to Xeavin for allowing me to use his lua script template.
-
[]Fully compatible with other mods.[/]
📊 Mod Details
- Game
- Finalfantasy12 Mods
- Author
- LowPriorityCitizen
- Version
- 1.0.2
- Downloads
- 5,619
- Endorsements
- 163
- Category
- Gameplay
- Created
- 9/9/2025
- Updated
- 5/21/2026
- Tags
- Gameplay, Unbalanced
🔧 How to Install Final Fantasy XII: The Zodiac Age Mods
Install via a mod manager (Vortex or Mod Organizer 2). Most mods drop into the game folder.
📖 Full step-by-step install guide for Final Fantasy XII: The Zodiac Age →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Final Fantasy XII: The Zodiac Age commands, item IDs, and more.
Keep browsing — more Final Fantasy XII: The Zodiac Age mods await