Summary
Published: Mar 31 2024 by
Last documented edit: Mar 31 2024 by
This page lists things that you can hook into (straight from the code of Addicted, thanks Roms1383 for the contribution!)
If you want to see an example, check How to create a hook ->
Player Actions
After the player is spawned:
@wrapMethod(PlayerPuppet)
protected cb func OnMakePlayerVisibleAfterSpawn(evt: ref<EndGracePeriodAfterSpawn>) -> Bool { }
When a status effect is applied or removed
@wrapMethod(PlayerPuppet)
protected cb func OnStatusEffectApplied(evt: ref<ApplyStatusEffectEvent>) -> Bool
protected cb func OnStatusEffectRemoved(evt: ref<RemoveStatusEffect>) -> Bool
When the player does something
@wrapMethod(PlayerPuppet)
protected cb func OnAction(action: ListenerAction, consumer: ListenerActionConsumer) -> Bool
When the player interacts with an item
@wrapMethod(ItemActionsHelper)
public final static func ProcessItemAction(gi: GameInstance, executor: wref<GameObject>, itemData: wref<gameItemData>, actionID: TweakDBID, fromInventory: Bool) -> Bool
public final static func ProcessItemAction(gi: GameInstance, executor: wref<GameObject>, itemData: wref<gameItemData>, actionID: TweakDBID, fromInventory: Bool, quantity: Int32) -> Bool
When the player consumes a quickslot item
@wrapMethod(ItemActionsHelper)
public final static func ConsumeItem(executor: wref<GameObject>, itemID: ItemID, fromInventory: Bool) -> Void
When the player consumes an item from backpack
@wrapMethod(ItemActionsHelper)
public final static func PerformItemAction(executor: wref<GameObject>, itemID: ItemID) -> Void
When the player equips/unequips an item
@wrapMethod(EquipmentSystemPlayerData)
private final func UnequipItem(itemID: ItemID) -> Void
private final func UnequipItem(equipAreaIndex: Int32, opt slotIndex: Int32, opt forceRemove: Bool) -> Void
When the player equips Cyberware at a Ripperdoc
@wrapMethod(RipperDocGameController)
private final func EquipCyberware(itemData: wref<gameItemData>) -> Bool
In the character creator
@wrapMethod(ConsumeAction)
protected func ProcessStatusEffects(const actionEffects: script_ref<array<wref<ObjectActionEffect_Record>>>, gameInstance: GameInstance) -> Void
On equipment preview
@wrapMethod(inkPuppetPreviewGameController)
protected cb func OnPreviewInitialized() -> Bool
Photo mode
@wrapMethod(PhotoModePlayerEntityComponent)
private final func SetupInventory(isCurrentPlayerObjectCustomizable: Bool)
ESC menu
@wrapMethod(SingleplayerMenuGameController)
protected cb func OnInitialize() -> Bool
Weapon selection wheel (?)
@wrapMethod(DpadWheelGameController)
protected cb func OnInitialize() -> Bool
When receiving a message
@wrapMethod(GenericMessageNotification)
protected cb func OnInitialize() -> Bool
???
@wrapMethod(GenericMessageNotification)
protected cb func OnHandlePressInput(evt: ref<inkPointerEvent>) -> Bool
???
@wrapMethod(PopupsManager)
protected cb func OnPlayerAttach(playerPuppet: ref<GameObject>) -> Bool
When showing/hiding a custom popup
@addMethod(PopupsManager)
protected cb func OnShowCustomPopup(evt: ref<ShowCustomPopupEvent>) -> Bool
protected cb func OnHideCustomPopup(evt: ref<HideCustomPopupEvent>) -> Bool
BackpackMainGameController
@wrapMethod(BackpackMainGameController)
protected cb func OnInitialize() -> Bool
protected cb func OnItemDisplayClick(evt: ref<ItemDisplayClickEvent>) -> Bool
private final func NewShowItemHints(itemData: wref<UIInventoryItem>)
CraftingGarmentItemPreviewGameController
@wrapMethod(CraftingGarmentItemPreviewGameController)
protected cb func OnCrafrtingPreview(evt: ref<CraftingItemPreviewEvent>) -> Bool
EquipmentSystemPlayerData
@wrapMethod(EquipmentSystemPlayerData)
public final func OnAttach()
public func LockVisualChanges()
public func UnlockVisualChanges()
public final const func IsVisualSetActive() -> Bool
public final const func IsSlotOverriden(area: gamedataEquipmentArea) -> Bool
private final const func ShouldUnderwearBeVisibleInSet() -> Bool
private final const func ShouldUnderwearTopBeVisibleInSet() -> Bool
public final func OnRestored()
public final func OnQuestDisableWardrobeSetRequest(request: ref<QuestDisableWardrobeSetRequest>)
public final func OnQuestRestoreWardrobeSetRequest(request: ref<QuestRestoreWardrobeSetRequest>)
public final func OnQuestEnableWardrobeSetRequest(request: ref<QuestEnableWardrobeSetRequest>)
public final func EquipWardrobeSet(setID: gameWardrobeClothingSetIndex)
public final func QuestHideSlot(area: gamedataEquipmentArea)
public final func QuestHideSlot(area: gamedataEquipmentArea)
public final func QuestRestoreSlot(area: gamedataEquipmentArea)
private final func ClearItemAppearanceEvent(area: gamedataEquipmentArea)
private final func ResetItemAppearanceEvent(area: gamedataEquipmentArea)
private final func ResetItemAppearance(area: gamedataEquipmentArea, opt force: Bool)
@wrapMethod(gameuiInGameMenuGameController)
protected cb func OnInitialize() -> Bool
protected cb func OnPuppetReady(sceneName: CName, puppet: ref<gamePuppet>) -> Bool
protected cb func OnEquipmentChanged(value: Variant) -> Bool
protected cb func OnUninitialize() -> Bool
gameuiInventoryGameController
@wrapMethod(gameuiInventoryGameController)
protected cb func OnInitialize() -> Bool
protected cb func OnUninitialize() -> Bool
private final func SetupSetButton() -> Void
protected cb func OnWardrobeBtnClick(evt: ref<inkPointerEvent>) -> Bool
protected cb func OnWardrobePopupClose(data: ref<inkGameNotificationData>)
protected cb func OnBack(userData: ref<IScriptable>) -> Bool
protected cb func OnEquipmentClick(evt: ref<ItemDisplayClickEvent>) -> Bool
@wrapMethod(gameuiPhotoModeMenuController)
protected cb func OnInitialize() -> Bool
protected cb func OnAddMenuItem(label: String, attribute: Uint32, page: Uint32) -> Bool
protected cb func OnShow(reversedUI: Bool) -> Bool
protected cb func OnSetAttributeOptionEnabled(attribute: Uint32, enabled: Bool) -> Bool
@wrapMethod(PhotoModeMenuListItem)
private final func StartArrowClickedEffect(widget: inkWidgetRef)
inkInventoryPuppetPreviewGameController
@wrapMethod(inkInventoryPuppetPreviewGameController)
protected cb func OnInitialize() -> Bool
InventoryItemDisplayController
@wrapMethod(InventoryItemDisplayController)
public func Bind(inventoryDataManager: ref<InventoryDataManagerV2>, equipmentArea: gamedataEquipmentArea, opt slotIndex: Int32, opt displayContext: ItemDisplayContext, opt setWardrobeOutfit: Bool, opt wardrobeOutfitIndex: Int32) {
public func Bind(inventoryScriptableSystem: ref<UIInventoryScriptableSystem>, equipmentArea: gamedataEquipmentArea, opt slotIndex: Int32, displayContext: ItemDisplayContext)
protected func RefreshUI()
protected func NewUpdateRequirements(itemData: ref<UIInventoryItem>)
InventoryItemModeLogicController
@wrapMethod(InventoryItemModeLogicController)
private final func UpdateOutfitWardrobe(active: Bool, activeSetOverride: Int32)
protected cb func OnItemDisplayClick(evt: ref<ItemDisplayClickEvent>) -> Bool
protected cb func OnItemDisplayHoverOver(evt: ref<ItemDisplayHoverOverEvent>) -> Bool
private final func SetInventoryItemButtonHintsHoverOver(const displayingData: script_ref<InventoryItemData>, opt display: ref<InventoryItemDisplayController>)
private final func HandleItemClick(const itemData: script_ref<InventoryItemData>, actionName: ref<inkActionName>, opt displayContext: ItemDisplayContext, opt isPlayerLocked: Bool)
PhotoModePlayerEntityComponent
@wrapMethod(PhotoModePlayerEntityComponent)
private final func OnGameAttach()
private final func SetupInventory(isCurrentPlayerObjectCustomizable: Bool)
protected cb func OnItemAddedToSlot(evt: ref<ItemAddedToSlot>) -> Bool
QuestTrackerGameController
@wrapMethod(QuestTrackerGameController)
protected cb func OnInitialize() -> Bool
UIInventoryItem
@wrapMethod(UIInventoryItem)
public final func IsEquipped(opt force: Bool) -> Bool
public final func IsTransmogItem() -> Bool
public final static func Make(player: wref<PlayerPuppet>, transactionSystem: ref<TransactionSystem>, uiScriptableSystem: wref<UIScriptableSystem>) -> ref<UIInventoryItemsManager>
public final func IsItemEquippedInSlot(itemID: ItemID, slotID: TweakDBID) -> Bool
public final func IsItemTransmog(itemID: ItemID) -> Bool
WardrobeSetPreviewGameController
@wrapMethod(WardrobeSetPreviewGameController)
protected cb func OnInitialize() -> Bool
protected cb func OnPreviewInitialized() -> Bool
public final func RestorePuppetEquipment()
ComputerInkGameController (already wrapped by Virtual Atelier)
Check for it with this annotation:
@if(ModuleExists("VirtualAtelier.Site"))
@if(!ModuleExists("VirtualAtelier.Site"))
@wrapMethod(ComputerInkGameController)
private final func ShowMenuByName(elementName: String) -> Void
private final func HideMenuByName(elementName: String) -> Void
ComputerControllerPS (already wrapped by Virtual Atelier)
@wrapMethod(ComputerControllerPS)
public final func GetMenuButtonWidgets() -> array<SComputerMenuButtonWidgetPackage>
@wrapMethod(ComputerMenuButtonController)
public func Initialize(gameController: ref<ComputerInkGameController>, widgetData: SComputerMenuButtonWidgetPackage) -> Void
BrowserController (already wrapped by Virtual Atelier)
@wrapMethod(BrowserController)
protected cb func OnPageSpawned(widget: ref<inkWidget>, userData: ref<IScriptable>) -> Bool
Consumables
When the consumable cooldown is over:
@wrapMethod(ConsumableTransitions)
protected final func ChangeConsumableAnimFeature(stateContext: ref, scriptInterface: ref, newState: Bool) -> Void {}
When the player heals themselves
@wrapMethod(UseHealChargeAction)
protected func ProcessStatusEffects(const actionEffects: script_ref<array<wref<ObjectActionEffect_Record>>>, gameInstance: GameInstance) -> Void
When the player uses a consumable
@wrapMethod(ConsumeAction)
protected func ProcessStatusEffects(const actionEffects: script_ref<array<wref<ObjectActionEffect_Record>>>, gameInstance: GameInstance) -> Void
Other stuff
When you skip time
@wrapMethod(TimeskipGameController)
private final func Apply() -> Void