Hooks:

RDV_COMP_OnCompanionUnequipped
OWNER (PLAYER)
PET TYPE (STRING)

RDV_COMPS_Initialize
COMPANION (ENTITY)
COMP TYPE (STRING)
OWNER (PLAYER)

RDV_COMPS_Think
COMPANION (ENTITY)
COMP TYPE (STRING)
OWNER (PLAYER)

RDV_COMPS_Ambient
COMPANION (ENTITY)
COMP TYPE (STRING)
OWNER (PLAYER)
SOUND (STRING)

RDV_COMP_OnCompanionEquipped
OWNER (PLAYER)
COMPANION (ENTITY)
SKIN (INT)

RDV_COMP_OnCompanionPurchased
OWNER (PLAYER)
COMP TYPE (STRING)

RDV_COMP_OnCompanionSkinChanged
OWNER (PLAYER)
COMP TYPE (STRING)
SKIN (INT)

RDV_COMP_CanPurchaseAbility
OWNER (PLAYER)
ABILITY (STRING)
PRICE (INT)

RDV_COMP_CanChangeCompanionName
OWNER (PLAYER)
PET (ENTITY)
NAME (STRING)

RDV_COMP_OnCompanionNameChanged
OWNER (PLAYER)
COMPANION (ENTITY)
NAME (STRING)

RDV_COMP_CanHaveCompanion
OWNER (PLAYER)
COMP TYPE (STRING)

RDV_COMP_CoreMenuOpen
FRAME (PIXEL.Frame)
SIDEBAR (PIXEL.Sidebar)
PANEL (DPanel)

RDV_COMP_OpenCommandsMenu
FRAME (PIXEL.Frame)
SCROLL (PIXEL.ScrollPanel)