Skip to content
bawNg edited this page Apr 28, 2013 · 3 revisions

Here you will information on callbacks for game function hooks. These function hooks are provided by SparkMod and can be used to manipulate many parts of the Spark and NS2 game code.

Callback arguments which are the return value(s) of a post hooked function are surrounded by their own set of parentheses such as can_hear in OnGetCanPlayerHearPlayer(listener_player, speaker_player, (can_hear)). This means that the hooked function, in this case Gamerules:GetCanPlayerHearPlayer, was called with GetCanPlayerHearPlayer(listener_player, speaker_player) and returned can_hear which is passed to the post hook callback OnGetCanPlayerHearPlayer. You can either override the returned value can_hear by returning your own value from OnGetCanPlayerHearPlayer or you can return nothing to leave the value as is.

Detailed documentation for each callback will be added over time.

Gamerules Callbacks:

  • OnPreCanEntityDoDamageTo(attacker, target)
  • OnEntityKilled(target, attacker, doer, point, direction)
  • OnEntityChanged(old_id, new_id)
  • OnPreResetGame()
  • OnGameReset()
  • OnGetCanPlayerHearPlayer(listener_player, speaker_player, (can_hear))
  • OnPreRespawnPlayer(player)
  • OnRespawnPlayer(player)
  • OnPreGetDamageMultiplier()
  • OnTrigger(entity, trigger_name)

Ns2Gamerules Callbacks:

  • OnPreCheckGameStart()
  • OnPreUpdatePregame()
  • OnPreCastVoteByPlayer(vote_tech_id, player)
  • OnPreGetFriendlyFire(is_enabled)
  • OnPreGameEnd(winning_team)
  • OnGameEnded(winning_team)
  • OnPreOnEntityCreated(entity)

DamageMixin Callbacks:

  • OnPreDoDamage(entity, damage, target, point, direction, surface, alt_mode, show_tracer, (killed_from_damage))

ResearchMixin Callbacks:

  • OnPreAbortResearch(entity, refund_cost)
  • OnPreTechResearched(entity, structure, research_id)
  • OnSetResearching(entity, tech_node, player)

GhostStructureMixin Callbacks:

  • OnPreConstructGhostStructure(entity, builder)
  • OnGhostStructureCreated(entity)
  • OnGhostStructurePerformedAction(entity, tech_node, position)

FireMixin Callbacks:

  • OnSetOnFire(entity, attacker, doer)

ConstructMixin Callbacks:

  • OnConstructionStarted(entity, elapsed_time, builder)
  • OnConstructionComplete(entity, builder)

RecycleMixin Callbacks:

  • OnRecyclableResearchCompleted(entity, research_id)

PickupableMixin Callbacks:

  • OnPreDestroyPickupable(entity)
  • OnPickupableCreated(entity)
  • OnPickupableTouched(entity, player)

Projectile Callbacks:

  • OnPreProcessProjectileHit(projectile, entity)
  • OnProjectileHitProcessed(projectile, entity)

Player Callbacks:

  • OnPreResetPlayerScores(player)
  • OnPlayerScoresReset(player)
  • OnPlayerCreated(player)
  • OnPlayerJumpLanded(player, land_intensity, slow_down)
  • OnCopyPlayerDataFrom(player, other_player)

CommanderAbility Callbacks:

  • OnPreInitializeCommanderAbility(ability)
  • OnPreDestroyCommanderAbility(ability)
  • OnCommanderAbilityInitialized(ability)
  • OnCommanderAbilityDestroyed(ability)

Global Callbacks:

  • OnPreCanCycleMap()
  • OnCreateEntityForCommander(tech_id, position, commander, (new_entity))
  • OnBuildScoresMessage(score_player, send_to_player, (message))
  • OnRemoveAllObstacles()
  • OnPerformGradualMeleeAttack(weapon, player, damage, range, optional_coords, alt_mode, (did_hit, target, end_point, direction, surface))
  • OnAttackMeleeCapsule(weapon, player, damage, range, optional_coords, alt_mode, (did_hit, target, end_point, surface))
  • OnChangeMap()
  • OnSetGamerules()