GetNpcCombatConfig

From Wiki G1R-MP G1 Remake Multiplayer
Revision as of 22:49, 8 October 2026 by QCherry (talk | contribs) (Document upcoming 0.1.7: optional server TTS, 33 functions, 4 events, English voice/setup guides and NPC meleeSkillTier; not a release)
Jump to navigation Jump to search

getNpcCombatConfig

AVAILABLE FROM UPDATE 0.1.5
This function is available in G1R:MP 0.1.5 and later. The contract below includes the compatibility guarantees introduced in that update.

Reads NPC projectile configuration.

Syntax

getNpcCombatConfig(npcId)

Parameters

Name Type Required Description
npcId int yes Server-assigned NPC ID returned by spawnNpc; not a player ID.

Returns

Returns table {range, dexterity, skillTier, aimTimeMs, cooldownMs, consumeAmmo, consumeMana}, or false.

Examples

local config = getNpcCombatConfig(npcId)

Notes

  • Server-side only. Mutations require the NPC to belong to the calling resource; getters do not grant control.
  • Introduced in 0.1.5. Use matching client/server versions; the meleeSkillTier extension below requires upcoming 0.1.7.
  • Use matching updated client and server. See NPC scripting for lifecycle, defaults, combat examples and collision limitations.
  • Does not include combat movement; use getNpcCombatMovement.

NPC melee skill tiers (upcoming 0.1.7)

The functions themselves remain available since 0.1.5. Only the additions below are new in upcoming 0.1.7; they are not available in public 0.1.6.

  • setNpcCombatConfig accepts optional meleeSkillTier: integer 0 (untrained, default), 1 (trained) or 2 (master). getNpcCombatConfig includes this field in its result table.
  • skillTier remains the separate ranged-combat tier. Changing the melee tier does not overwrite ranged settings. Omitted fields keep their existing values; invalid/unknown fields reject the entire change.
  • This selects ordinary melee presentation/timing for the NPC's equipped family, not its weapon or damage. It does not enable combat, select a target or increase strength/damage. Existing resource ownership and combat controls still apply.
  • A strike already admitted keeps its captured animation/impact deadline. A melee-only or unchanged update does not restart unrelated projectile preparation; changing ranged settings still affects that separate configuration.
  • Use matching updated client/server support to see the new tier presentation, including observers and late join. Players continue using the existing setPlayerSkill API; no new setPlayerCombatStyle function was added.
-- npcId is an existing NPC owned by this server resource.
local ok = setNpcCombatConfig(npcId, {meleeSkillTier=2})
if ok then
    local config = getNpcCombatConfig(npcId)
    if config then outputDebugString("NPC melee tier: " .. config.meleeSkillTier) end
end