Skip to main content

DeadworksPluginBase

Optional base class for plugins. Provides direct access to ITimer via a Timer property without needing interface casts or using aliases.

public abstract class DeadworksPluginBase : IDeadworksPlugin

Namespace: DeadworksManaged.Api
Inherits / implements: IDeadworksPlugin
Source: DeadworksPluginBase.cs#L7

Properties​

DeadworksPluginBase.Name​

Display name of the plugin.

Signature

public abstract string Name { get; }

Source: DeadworksPluginBase.cs#L8

DeadworksPluginBase.Timer​

Per-plugin timer service.

Signature

protected ITimer Timer { get; }

Source: DeadworksPluginBase.cs#L17

DeadworksPluginBase.ContentAddons​

Content addons this plugin needs connecting clients to download.

Signature

public virtual IReadOnlyList<string> ContentAddons { get; }

Source: DeadworksPluginBase.cs#L20

Methods​

DeadworksPluginBase.OnLoad()​

Called when the plugin is loaded or hot-reloaded.

Signature

public virtual void OnLoad(bool isReload)

Source: DeadworksPluginBase.cs#L13

DeadworksPluginBase.OnUnload()​

Called when the plugin is unloaded. Clean up hooks and timers here.

Signature

public virtual void OnUnload()

Source: DeadworksPluginBase.cs#L14

DeadworksPluginBase.OnPrecacheResources()​

Called during map load to precache resources (particles, models, etc). Use Precache.AddResource to register resources.

Signature

public virtual void OnPrecacheResources()

Source: DeadworksPluginBase.cs#L22

DeadworksPluginBase.OnStartupServer()​

Called when the server starts up (new map load).

Signature

public virtual void OnStartupServer()

Source: DeadworksPluginBase.cs#L23

DeadworksPluginBase.OnGameFrame()​

Called every server frame.

Signature

public virtual void OnGameFrame(bool simulating, bool firstTick, bool lastTick)

Source: DeadworksPluginBase.cs#L24

DeadworksPluginBase.OnTakeDamage()​

Called when an entity takes damage. Return Stop to block the damage from being applied.

Signature

public virtual HookResult OnTakeDamage(TakeDamageEvent args)

Source: DeadworksPluginBase.cs#L25

DeadworksPluginBase.OnModifyCurrency()​

Called when a player's currency is about to be modified. Return Stop to block the currency change.

Signature

public virtual HookResult OnModifyCurrency(ModifyCurrencyEvent args)

Source: DeadworksPluginBase.cs#L26

DeadworksPluginBase.OnChatMessage()​

Called when a player sends a chat message. Return Stop to block the message from being processed further.

Signature

public virtual HookResult OnChatMessage(ChatMessage message)

Source: DeadworksPluginBase.cs#L27

DeadworksPluginBase.OnClientConCommand()​

Called when a client sends a console command (e.g. selecthero, changeteam, respawn). Return Stop to block the command from being processed by the engine.

Signature

public virtual HookResult OnClientConCommand(ClientConCommandEvent args)

Source: DeadworksPluginBase.cs#L28

DeadworksPluginBase.OnClientConnect()​

Called when a client is connecting. Return false to reject the connection. All plugins see the event regardless of any individual result.

Signature

public virtual bool OnClientConnect(ClientConnectEvent args)

Source: DeadworksPluginBase.cs#L29

DeadworksPluginBase.OnClientPutInServer()​

Called when a client is put into the server (initial connection).

Signature

public virtual void OnClientPutInServer(ClientPutInServerEvent args)

Source: DeadworksPluginBase.cs#L30

DeadworksPluginBase.OnClientFullConnect()​

Called when a client is fully in game: when they join, and again each time they finish loading into a new map. Bots included.

Signature

public virtual void OnClientFullConnect(ClientFullConnectEvent args)

Source: DeadworksPluginBase.cs#L31

DeadworksPluginBase.OnClientDisconnecting()​

Called as a client starts disconnecting, while their controller and hero are still intact. A bot's hero is deleted right after this, so this is the place to hand it to someone else. OnClientDisconnect follows.

Signature

public virtual void OnClientDisconnecting(ClientDisconnectedEvent args)

Source: DeadworksPluginBase.cs#L32

DeadworksPluginBase.OnClientDisconnect()​

Called after a client has disconnected. A player's controller and hero stay on the server for when they reconnect; a bot's hero is already gone.

Signature

public virtual void OnClientDisconnect(ClientDisconnectedEvent args)

Source: DeadworksPluginBase.cs#L33

DeadworksPluginBase.OnEntityCreated()​

Called when an entity is created.

Signature

public virtual void OnEntityCreated(EntityCreatedEvent args)

Source: DeadworksPluginBase.cs#L34

DeadworksPluginBase.OnEntitySpawned()​

Called when an entity has been fully spawned.

Signature

public virtual void OnEntitySpawned(EntitySpawnedEvent args)

Source: DeadworksPluginBase.cs#L35

DeadworksPluginBase.OnEntityDeleted()​

Called when an entity is deleted.

Signature

public virtual void OnEntityDeleted(EntityDeletedEvent args)

Source: DeadworksPluginBase.cs#L36

DeadworksPluginBase.OnEntityStartTouch()​

Called when an entity starts touching another entity (trigger zone entry, collision).

Signature

public virtual void OnEntityStartTouch(EntityTouchEvent args)

Source: DeadworksPluginBase.cs#L37

DeadworksPluginBase.OnEntityEndTouch()​

Called when an entity stops touching another entity.

Signature

public virtual void OnEntityEndTouch(EntityTouchEvent args)

Source: DeadworksPluginBase.cs#L38

DeadworksPluginBase.OnModifierEvent()​

Called when a modifier event fires (damage taken, ability cast, modifier gained/lost, ...). Observe-only.

Signature

public virtual void OnModifierEvent(ModifierEvent args)

Source: DeadworksPluginBase.cs#L39

DeadworksPluginBase.OnAbilityAttempt()​

Called each think tick before ability execution. Set AbilityAttemptEvent.BlockedButtons to prevent specific abilities/items from being cast.

Signature

public virtual void OnAbilityAttempt(AbilityAttemptEvent args)

Source: DeadworksPluginBase.cs#L40

DeadworksPluginBase.OnProcessUsercmds()​

Called when a player's usercmds are being processed.

Signature

public virtual void OnProcessUsercmds(ProcessUsercmdsEvent args)

Source: DeadworksPluginBase.cs#L41

DeadworksPluginBase.OnAddModifier()​

Called when a modifier is about to be applied to an entity. Return Stop to block the modifier from being applied.

Signature

public virtual HookResult OnAddModifier(AddModifierEvent args)

Source: DeadworksPluginBase.cs#L42

DeadworksPluginBase.OnConfigReloaded()​

Called after the plugin's config has been reloaded via dw_reloadconfig.

Signature

public virtual void OnConfigReloaded()

Source: DeadworksPluginBase.cs#L43

DeadworksPluginBase.OnCheckTransmit()​

Called per-player each tick after the engine builds the default transmit list. Use CheckTransmitEvent.Hide to prevent entities from being networked to this player.

Signature

public virtual void OnCheckTransmit(CheckTransmitEvent args)

Source: DeadworksPluginBase.cs#L44

DeadworksPluginBase.OnPawnHeroInitialized()​

Called whenever a pawn's hero abilities and modifiers have just been (re)populated server-side.

Signature

public virtual void OnPawnHeroInitialized(CCitadelPlayerPawn pawn)

Source: DeadworksPluginBase.cs#L45

DeadworksPluginBase.OnGameStateChanged()​

Called after a CCitadelGameRules::ChangeGameState transition completes, whether the engine or a plugin (via GameRules.ChangeGameState) started it.

Signature

public virtual void OnGameStateChanged(EGameState newState)

Source: DeadworksPluginBase.cs#L46

DeadworksPluginBase.OnGameStateChanging()​

Called before an engine-driven CCitadelGameRules::ChangeGameState transition is allowed to proceed. Return false to veto it. If multiple plugins implement this, any plugin returning false vetoes the transition. Transitions started by a plugin through GameRules.ChangeGameState are not vetoable. Default: allow.

Signature

public virtual bool OnGameStateChanging(EGameState currentState, EGameState newState)

Source: DeadworksPluginBase.cs#L47