// MPropertyArrayElementNameKey = m_strContextclass CitadelAbilityHUDElementButtonHint_t{public: CUtlString m_strContext;private: uint8 pad_0008[4];public: // MPropertyDescription = Why type of input is required for this hintEHUDElementButtonType_t m_eButtonHintType; // MPropertyDescription = What button is used in this hint // MPropertySuppressExpr = m_bButton1IsSlot == trueInputBitMask_t m_nButton1; bool m_bButton1IsSlot;private: uint8 pad_0020[8];public: // MPropertyDescription = What's the 2nd button used in this hint // MPropertySuppressExpr = m_bButton2IsSlot == trueInputBitMask_t m_nButton2; bool m_bButton2IsSlot;private: uint8 pad_0034[12];public: // MPropertyDescription = 'Cast' and 'Alt-Cast' will look at the ability vdata for the loc tokens for casting. 'Custom' allows entering a loc token on this hintEHUDElementButtonHintLocType_t m_eHintLocType; // MPropertyDescription = The loc string to display. Don't forget the #! // MPropertySuppressExpr = m_eHintLocType != EButtonHintLocType_Custom CUtlString m_strLocToken; // MPropertyDescription = On which side of the crosshair should this hint showEHUDElementButtonHintSide_t m_eHintSide; // MPropertyAttributeRange = 0 2 // MPropertyDescription = How close to the crosshair to be. Hints are next to the crosshair when by themselves, but get ordered by this priority when multiple are active on the same side. 0 is highest priority (closest to crosshair) int32 m_nPriority; // MPropertyDescription = Should show ability icon on the hint? bool m_bShowAbilityIcon; // MPropertyDescription = Is the hint shown while on cooldown? bool m_bIsHintShownWhileOnCooldown;};