Hooks: Difference between revisions

From Heroes of Hammerwatch Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Hooks are script functions that are called at specific moments. This way, you can insert code into the game a bit easier without the need for overwriting existing files.
<h1 style="color: #faa700">
This is mostly the recommended way, there is almost no need to update your mod if the game gets updates and it keeps the highest compatibility cause it won't affect other mods.
PlayerDamagedActor
 
</h1>
They are specified in script files and tagged with the <code>Hook</code> specifier. They also must be placed within a namespace to avoid ambiguity between multiple mods.
<h1 style="color: #faa700">
 
PlayerKilledActor
The following is an example of such a file:
</h1>
 
<h1 style="color: #faa700">
namespace MyTestMod
PlayerDamage
{
</h1>
    [Hook]
<h1 style="color: #faa700">
    void BaseGameModeConstructor(BaseGameMode@ baseGameMode){
PlayerDamageTaken
        print("Hello World");
</h1>
    }
<h1 style="color: #faa700">
}
PlayerInitialize
 
</h1>
== PlayerDamagedActor ==
<h1 style="color: #faa700">
== PlayerKilledActor ==
PlayerRefreshScene
== PlayerDamage ==
</h1>
== PlayerDamageTaken ==
<h1 style="color: #faa700">
== PlayerInitialize ==
PlayerDamageActor
== PlayerRefreshScene ==
</h1>
== PlayerDamageActor ==
<h1 style="color: #faa700">
== PlayerDamageActorNoWeapon ==
PlayerDamageActorNoWeapon
== PlayerRecordConstructor ==
</h1>
== PickedCharacter ==
<h1 style="color: #faa700">
== CreateCharacter ==
PlayerRecordConstructor
== PlayerRecordSave ==
</h1>
== PlayerRecordLoad ==
<h1 style="color: #faa700">
== PlayerRecordRefreshModifiers ==
PickedCharacter
== LevelupCharacter ==
</h1>
== GameModeStart ==
<h1 style="color: #faa700">
== GameModePostStart ==
CreateCharacter
== GameModePreRenderFrame ==
</h1>
== GameModeRenderFrame ==
<h1 style="color: #faa700">
== GameModeSpawnPlayer ==
PlayerRecordSave
== GameModeSpawnPlayerCorpse ==
</h1>
== BaseGameModeConstructor ==
<h1 style="color: #faa700">
== GameModeUpdatePaused ==
PlayerRecordLoad
== GameModeUpdate ==
</h1>
== LoadWidgetProducers ==
<h1 style="color: #faa700">
== HUDConstructor ==
PlayerRecordRefreshModifiers
== TownRecordConstructor ==
</h1>
== TownRecordSave ==
<h1 style="color: #faa700">
== TownRecordLoad ==
LevelupCharacter
== TownRecordSpawnTown ==
</h1>
== TownRecordRefreshHeroTitles ==
<h1 style="color: #faa700">
== TownRecordRefreshDonationTitles ==
GameModeStart
</h1>
<h1 style="color: #faa700">
GameModePostStart
</h1>
<h1 style="color: #faa700">
GameModePreRenderFrame
</h1>
<h1 style="color: #faa700">
GameModeRenderFrame
</h1>
<h1 style="color: #faa700">
GameModeSpawnPlayer
</h1>
<h1 style="color: #faa700">
GameModeSpawnPlayerCorpse
</h1>
<h1 style="color: #faa700">
BaseGameModeConstructor
</h1>
<h1 style="color: #faa700">
GameModeUpdatePaused
</h1>
<h1 style="color: #faa700">
GameModeUpdate
</h1>
<h1 style="color: #faa700">
LoadWidgetProducers
</h1>
<h1 style="color: #faa700">
HUDConstructor
</h1>
<h1 style="color: #faa700">
TownRecordConstructor
</h1>
<h1 style="color: #faa700">
TownRecordSave
</h1>
<h1 style="color: #faa700">
TownRecordLoad
</h1>
<h1 style="color: #faa700">
TownRecordSpawnTown
</h1>
<h1 style="color: #faa700">
TownRecordRefreshHeroTitles
</h1>
<h1 style="color: #faa700">
TownRecordRefreshDonationTitles
</h1>

Revision as of 18:38, 20 November 2025

PlayerDamagedActor

PlayerKilledActor

PlayerDamage

PlayerDamageTaken

PlayerInitialize

PlayerRefreshScene

PlayerDamageActor

PlayerDamageActorNoWeapon

PlayerRecordConstructor

PickedCharacter

CreateCharacter

PlayerRecordSave

PlayerRecordLoad

PlayerRecordRefreshModifiers

LevelupCharacter

GameModeStart

GameModePostStart

GameModePreRenderFrame

GameModeRenderFrame

GameModeSpawnPlayer

GameModeSpawnPlayerCorpse

BaseGameModeConstructor

GameModeUpdatePaused

GameModeUpdate

LoadWidgetProducers

HUDConstructor

TownRecordConstructor

TownRecordSave

TownRecordLoad

TownRecordSpawnTown

TownRecordRefreshHeroTitles

TownRecordRefreshDonationTitles