Skip to content

sdk.creatures

Creature classify + packet cache (skull, party, type, summoner). Kind matches Engine/CreatureCatalog.cpp ClassifyKind, then the live TCreature.kind byte when applyCreatureData has remapped protobuf 0/1/2/5/7 onto compact 0..4 (player/monster/npc/summon-own/summon-other).

lua
local M = require("sdk.creatures")

Constants

Lua 5.4 has no enums — these are integer (or string) fields on the module.

NameValueSummary
KIND_PLAYER0
KIND_MONSTER1
KIND_NPC2
KIND_SUMMON_OWN3
KIND_SUMMON_OTHER4
SKULL_NONE0
SKULL_YELLOW1
SKULL_GREEN2
SKULL_WHITE3
SKULL_RED4
SKULL_BLACK5
PARTY_NONE0Raw TCreature.party / CreatureData.party byte. Official client writes it without a fromInt remap (unlike skull 0..5).
PARTY_INVITED1
PARTY_INVITE_OTHER2
PARTY_MEMBER3
PARTY_LEADER4
PARTY_MEMBER_SHARED5
PARTY_LEADER_SHARED6
PARTY_MEMBER_NO_SHARED_BLINK7
PARTY_LEADER_NO_SHARED_BLINK8
PARTY_MEMBER_NO_SHARED9
PARTY_LEADER_NO_SHARED10
PARTY_GRAY11

compact_kind

function · compact_kind(proto)

Map a protocol creature kind to the compact SDK kind.

classify

function · classify(id, name, local_id, live_kind)

Classify a creature id/name as player, monster, NPC, or summon.

note

function · note(ev)

Update the creature cache from a typed inbound event.

get

function · get(id)

Cached creature snapshot by id.

forget

function · forget(id)

Drop a creature id from the cache.

reset

function · reset()

Clear the creature cache.

enrich

function · enrich(data)

Fill kind/skull/party fields on a creature table.

Arcane SDK catalog generated from scripts/sdk