CustomInventorySlots

Tracking Issue: #118

Tags: loadoutslots

This feature defines additional inventory slots in the Highlander for mods to use. Configuration is done via CHItemSlot. More docs to follow.

enum EInventorySlot
{
    eInvSlot_Unknown,
    eInvSlot_Armor,
    eInvSlot_PrimaryWeapon,
    eInvSlot_SecondaryWeapon,
    eInvSlot_HeavyWeapon,
    eInvSlot_Utility,
    eInvSlot_Mission,
    eInvSlot_Backpack,
    eInvSlot_Loot,
    eInvSlot_GrenadePocket,
    eInvSlot_CombatSim,
    eInvSlot_AmmoPocket,
    eInvSlot_TertiaryWeapon,
    eInvSlot_QuaternaryWeapon,
    eInvSlot_QuinaryWeapon,
    eInvSlot_SenaryWeapon,
    eInvSlot_SeptenaryWeapon,

    // Add a marker slot, and buffer in case Firaxis adds more in the future
    // ALL MARKER SLOTS SHOULD NOT BE USED IN CODE OTHER THAN XCOMGAME
    // CHItemSlotTemplate has static helper functions for this purpose!
    // Since enums are compile-time constants, mods may have old values
    // that don't apply anymore for markers.
    eInvSlot_END_VANILLA_SLOTS,
    eInvSlot_Buffer018,
    eInvSlot_Buffer019,
    eInvSlot_Buffer020,
    eInvSlot_Buffer021,
    eInvSlot_Buffer022,
    eInvSlot_Buffer023,
    eInvSlot_Buffer024,
    eInvSlot_Buffer025,
    eInvSlot_Buffer026,
    eInvSlot_Buffer027,
    eInvSlot_Buffer028,
    eInvSlot_Buffer029,
    eInvSlot_Buffer030,
    eInvSlot_Buffer031,
    // again, don't use in mod code
    eInvSlot_BEGIN_TEMPLATED_SLOTS,

    // Custom slots begin here. We have space for ~220 slots, should be enough!
    // These slots can be used in Mod code and config values
    eInvSlot_Vest,
    eInvSlot_AugmentationHead,
    eInvSlot_AugmentationTorso,
    eInvSlot_AugmentationArms,
    eInvSlot_AugmentationLegs,
    eInvSlot_CombatDrugs,
    eInvSlot_Decorations,
    eInvSlot_PsiAmp,
    eInvSlot_Plating,
    eInvSlot_SparkLauncher,
    eInvSlot_ExtraSecondary,
    eInvSlot_PrimaryPayload,
    eInvSlot_SecondaryPayload,
    eInvSlot_ExtraRocket1,
    eInvSlot_ExtraRocket2,
    eInvSlot_ExtraRocket3,
    eInvSlot_ExtraRocket4,
    eInvSlot_Pistol,
    eInvSlot_Wings,
    eInvSlot_ExtraBackpack,
    eInvSlot_SparkGrenadePocket,
    eInvSlot_AuxiliaryWeapon,
    eInvSlot_AModMedical,
    eInvSlot_ArmorMod,
    eInvSlot_TacticalGadget,
    eInvSlot_MZAux,
    eInvSlot_TemplateMaster,
    eInvSlot_ViperMAW,
    eInvSlot_SparkComputer,
    eInvSlot_SparkActuator,
    eInvSlot_SparkModule,
    eInvSlot_ExtraGrenadePocket,
    eInvSlot_ExtraLandMine,

    // Marker slot, don't use
    eInvSlot_END_TEMPLATED_SLOTS,
};

If you need additional enum entries, request them in the tracking issue.

Source code references