Admirals Data
Hero units that pair with ships to provide buffs, skills, and passive effects. The admiral table uses a nested dictionary keyed by reference ID then level.
Table Structure
TableDataManager.admiral_dict
Struct
GeneralAdmiralTable (value type)
Dictionary
Nested: outer key = admiral reference ID, inner key = level
Records
440 entries (multiple levels per admiral)
Unlike most tables that use a flat dictionary, admirals are stored as a
Dictionary<int, Dictionary<int, GeneralAdmiralTable>>. The outer key
groups all level entries for an admiral, and the inner key selects a specific level.
This means each admiral has one record per level with scaling stat values.
Key Fields
7 field groups| Field | Type | Notes |
|---|---|---|
iMatchShipID | int | FK to GeneralShipTable — the ship this admiral is designed to pair with |
iLevel | int | Admiral level for this record; stats scale per level |
AdmiralEquipEffectTypes | AdmiralEquipEffectType[] | Equip effect type slots, each an AdmiralEquipEffectType enum value (0x30) |
eAdmiralFunction | AdmiralFunctionType | Function flag: None(0), IncreaseDamageToSecond(1) |
SkillIDs | int[] | Skill IDs — FK to GeneralSkillTable (array at 0x90; parsed from CSV field sSkillIDs at 0xE8) |
eOwnedEffectTypes | PropertyType[] | Passive bonuses granted by owning (collecting) this admiral |
eEquipEffectTypes | PropertyType[] | Bonuses granted when this admiral is actively equipped on a ship |
The 35 Equip Effect Slots
Each admiral record contains up to 35 equip effect slots. These are stored as parallel arrays
of PropertyType and float values. Most admirals only use a fraction
of these slots; unused slots contain PropertyType.None (0). The effects activate
when the admiral is equipped on their matched ship.
The 35-slot design appears to be a fixed-size allocation to avoid dynamic arrays in the IL2CPP struct. The actual number of active effects per admiral varies from 3 to 20+.
- How does admiral-ship pairing interact with the awakening system? Does
iMatchShipIDpoint to the base or awakened ship? AdmiralFunctionTypeonly has None(0) and IncreaseDamageToSecond(1) — is this the complete set, or are more values added in later versions?- Are
eOwnedEffectTypesadditive witheEquipEffectTypes, or do equip effects replace owned effects? - Do all 440 records represent unique admirals, or is it (unique admirals × levels)?