Skip to content

Enum reference

arcdps’ combat-event enums are not defined in the API README — like cbtevent itself, they live in the separate EVTC combat-log format documentation (https://www.deltaconnected.com/arcdps/evtc/README.txt), which this page is sourced from. Field names below match the C source exactly; the arcdps API README calls the on-ev discriminant field is_statechange, and the EVTC docs name the enum backing it cbtstatechange — the two refer to the same thing.

Every enum here is 0-indexed and sequential (each enumerator’s value is the previous value + 1) unless otherwise notedn_customskill is the one exception, explicitly starting at 23275.

cbtstatechange (the is_statechange field)

This is the event-type discriminant on cbtevent — its value determines how every other field on the struct (besides time) is interpreted. The “Meaning” column below is the enum’s own inline comment; the full per-field payload mapping for every event type, including each type’s evtc/realtime availability, is on the statechange payloads page. Entries suffixed _DEFUNC are explicitly marked retired in the source and should not be relied on for current arcdps builds.

ValueNameMeaning
0CBTS_COMBATcombat events
1CBTS_ENTERCOMBATagent entered combat
2CBTS_EXITCOMBATagent left combat
3CBTS_CHANGEUPagent is alive at time of event
4CBTS_CHANGEDEADagent is dead at time of event
5CBTS_CHANGEDOWNagent is down at time of event
6CBTS_SPAWNagent entered tracking
7CBTS_DESPAWNagent left tracking
8CBTS_HEALTHPCTUPDATEagent health percentage changed
9CBTS_SQCOMBATSTARTsquad combat start, first player enter combat (previously named log start)
10CBTS_SQCOMBATENDsquad combat stop, last player left combat (previously named log end)
11CBTS_WEAPSWAPagent weapon set changed
12CBTS_MAXHEALTHUPDATEagent maximum health changed
13CBTS_POINTOFVIEW“recording” player
14CBTS_LANGUAGEtext language id
15CBTS_GWBUILDgame build
16CBTS_SHARDIDserver shard id
17CBTS_REWARDwiggly box reward
18CBTS_BUFFINITIALbuff application for buffs already existing at time of event
19CBTS_POSITIONagent position changed
20CBTS_VELOCITYagent velocity changed
21CBTS_FACINGagent facing direction changed
22CBTS_TEAMCHANGEagent team id changed
23CBTS_ATTACKTARGETattacktarget to gadget association
24CBTS_TARGETABLEagent targetable state (0 false, 1 true, 2 unsupported)
25CBTS_MAPIDmap info
26CBTS_REPLINFOinternal use
27CBTS_BUFFACTIVEbuff instance is now active
28CBTS_BUFFDEACTIVEbuff set inactive
29CBTS_GUILDagent is a member of guild
30CBTS_BUFFINFObuff information (logs always contain info for skill ids in the always-included buff-skill mask)
31CBTS_BUFFFORMULAbuff formula, one per event of this type
32CBTS_SKILLINFOskill information
33CBTS_SKILLTIMINGskill timing, one per event of this type
34CBTS_DEFIANCEBARSTATEagent defiance bar state changed
35CBTS_DEFIANCEBARPERCENTagent defiance bar percentage changed
36CBTS_INTEGRITYone event per message (previously named error)
37CBTS_MARKERone event per marker on an agent
38CBTS_BARRIERPCTUPDATEagent barrier percentage changed
39CBTS_STATRESET_DEFUNCretired, not used since 260402+
40CBTS_EXTENSIONfor extension use, not managed by arcdps
41CBTS_APIDELAYED_DEFUNCretired, not used since 260501+
42CBTS_INSTANCESTARTmap instance start
43CBTS_RATEHEALTHretired, not used since 260627+
44CBTS_LAST90BEFOREDOWN_DEFUNCretired, not used since 240529+
45CBTS_EFFECT1_DEFUNCretired, not used since 230716+
46CBTS_IDTOGUIDcontent id to guid association for volatile types
47CBTS_LOGNPCUPDATElog boss agent changed
48CBTS_IDLEEVENTinternal use
49CBTS_EXTENSIONCOMBATfor extension use, not managed by arcdps (assumed to be a cbtevent; skillid processed for buffinfo/skillinfo)
50CBTS_FRACTALSCALEfractal scale for fractals
51CBTS_EFFECT2_DEFUNCretired, not used since 250526+
52CBTS_RULESETruleset for self
53CBTS_SQUADMARKER_GROUNDsquad ground markers
54CBTS_ARCBUILDarc build info
55CBTS_GLIDERglider status change
56CBTS_STUNBREAKdisable stopped early
57CBTS_MISSILECREATEcreate a missile
58CBTS_MISSILELAUNCHlaunch missile
59CBTS_MISSILEREMOVEremove missile
60CBTS_EFFECTGROUNDCREATEplay effect on ground
61CBTS_EFFECTGROUNDREMOVEstop effect on ground
62CBTS_EFFECTAGENTCREATEplay effect around agent
63CBTS_EFFECTAGENTREMOVEstop effect around agent
64CBTS_IIDCHANGEiid (previously evtc_agent->addr) changed — players only, happens after spawn when historical data loads
65CBTS_MAPCHANGEmap changed
66CBTS_EARLYEXITinternal use
67CBTS_ANIMATIONSTARTanimation start
68CBTS_ANIMATIONSTOPanimation stop
69CBTS_BUFFAPPLYbuff stack application
70CBTS_BUFFCHANGEbuff stack duration change, active only
71CBTS_BUFFREMOVE_SINGLEbuff stack removed
72CBTS_BUFFREMOVE_ALLall buff stacks of skillid removed
73CBTS_TRANSFORMATIONtransformation
74CBTS_WVWTEAMSwvw team association
75CBTS_WVWOBJECTIVESTATUSstatus update on wvw objectives
76CBTS_STEALTHCHANGEagent stealth state (0 false, 1 true, 2 unsupported)
77CBTS_GADGETANIMATIONplay model animation
78CBTS_GADGETNAMEgadget name visibility state (0 false, 1 true, 2 unsupported)
79CBTS_MISSILEEFFECTapply effect to missile
80CBTS_GADGETCAPTUREOUTLINESHOWgadget capture point show outline
81CBTS_GADGETCAPTURESPLITPERCENTgadget capture point percent split
82CBTS_GADGETCAPTUREOUTLINEHIDEgadget capture point hide outline
83CBTS_GADGETCAPTUREOUTLINEPOINTgadget capture point point data
84CBTS_TICKtick, every 25 ticks
85CBTS_UNKNOWNunknown/unsupported type newer than this list

iff (friend/foe)

Backs the cbtevent.iff field for CBTS_COMBAT and buff apply/remove events.

ValueName
0IFF_FRIEND
1IFF_FOE
2IFF_UNKNOWN

cbtresult (combat result)

Backs the cbtevent.result field.

ValueNameMeaning
0CBTR_STRIKE_DAMAGENORMALdamage is strike
1CBTR_STRIKE_DAMAGECRITstrike was crit
2CBTR_STRIKE_DAMAGEGLANCEstrike was glance
3CBTR_BLOCKblocked, e.g. mesmer shield 4
4CBTR_EVADEevaded, e.g. dodge or mesmer sword 2
5CBTR_INTERRUPTaction was interrupted
6CBTR_ABSORBinvulnerable or absorbed, e.g. guardian elite
7CBTR_BLINDaction missed
8CBTR_KILLINGBLOWtarget was killed by skill
9CBTR_DOWNEDtarget was downed by skill
10CBTR_DEFIANCE_DAMAGENORMALdamage is to defiance
11CBTR_SKILLCASTon-skill-use signal event
12CBTR_CROWDCONTROLtarget was crowdcontrolled
13CBTR_INVERTdamage was inverted
14CBTR_BUFF_DAMAGECYCLEbuff damage happened on tick timer
15CBTR_BUFF_DAMAGENOTCYCLEbuff damage happened outside tick timer
16CBTR_BUFF_DAMAGENOTCYCLEDMGTOTARGETONHITbuff damage happened to target on hitting target
17CBTR_BUFF_DAMAGENOTCYCLEDMGTOSOURCEONHITbuff damage happened to source on hitting target
18CBTR_BUFF_DAMAGENOTCYCLEDMGTOTARGETONSTACKREMOVEbuff damage happened to target on buff removal
19CBTR_UNKNOWN(no inline comment given)

cbtanimation (skill activation state)

Backs the cbtevent.is_activation field (the API README refers to this concept as skill “activation”; the EVTC source names the enum cbtanimation).

ValueNameMeaning
0ACTV_NONEundocumented — no inline comment given
1ACTV_START_DEFUNCundocumented — no inline comment given (retired, _DEFUNC suffix)
2ACTV_QUICKNESS_DEFUNCundocumented — no inline comment given (retired, _DEFUNC suffix)
3ACTV_MINIMUMstopped animation with reaching minimum of first trigger point or tooltip time
4ACTV_CANCELstopped animation without reaching minimum of first trigger point or tooltip time
5ACTV_RESETanimation completed fully
6ACTV_NODATAsame as ACTV_MINIMUM but on 0/uncertain expected duration
7ACTV_UNKNOWNundocumented — no inline comment given

cbtbuffremove (buff remove type)

Backs the cbtevent.is_buffremove field.

ValueNameMeaning
0CBTB_NONEnot used — not this kind of event
1CBTB_ALLlast/all stacks removed (sent by server)
2CBTB_SINGLEsingle stack removed (sent by server)
3CBTB_MANUALsingle stack removed (created by arc on all-stack-remove)
4CBTB_UNKNOWNundocumented — no inline comment given

n_customskill (synthetic skill ids)

Synthetic skillid values arcdps emits for events that aren’t a real game skill (e.g. dodges, weapon swaps). Unlike the enums above, this one does not start at 0 — CSK_DODGE is explicitly assigned 23275, and every subsequent enumerator increments sequentially from there.

ValueNameMeaning
23275CSK_DODGEundocumented — no inline comment given
23276CSK_DEFIANCEDAMAGEundocumented — no inline comment given
23277CSK_SELFCAST1undocumented — no inline comment given
23278CSK_ENEMYCAST1undocumented — no inline comment given
23279CSK_SELFCAST2undocumented — no inline comment given
23280CSK_ENEMYCAST2undocumented — no inline comment given
23281CSK_SELFCAST3undocumented — no inline comment given
23282CSK_ENEMYCAST3undocumented — no inline comment given
23283CSK_BREAKBAR_DEFUNCundocumented — no inline comment given (retired, _DEFUNC suffix)
23284CSK_WEAPONDRAWundocumented — no inline comment given
23285CSK_WEAPONSTOWundocumented — no inline comment given
23286CSK_GENERICBLOCKundocumented — no inline comment given
23287CSK_GENERICDAMAGEundocumented — no inline comment given
23288CSK_GENERICKILLundocumented — no inline comment given
23289CSK_GENERICDOWNundocumented — no inline comment given
23290CSK_GENERICEVADEundocumented — no inline comment given
23291CSK_GENERICINTERRUPTundocumented — no inline comment given
23292CSK_GENERICABSORBundocumented — no inline comment given
23293CSK_GENERICMISSundocumented — no inline comment given
23294CSK_GENERICKNOCKDOWNundocumented — no inline comment given
23295CSK_GENERICKNOCKBACKPULLundocumented — no inline comment given
23296CSK_GENERICFLOATLANDundocumented — no inline comment given
23297CSK_GENERICLAUNCHundocumented — no inline comment given
23298CSK_GENERICWATERFLOATSINK_DEFUNCundocumented — no inline comment given (retired, _DEFUNC suffix)
23299CSK_GENERICCCBUFFundocumented — no inline comment given
23300CSK_GENERICSTAGGERundocumented — no inline comment given
23301CSK_GENERICINVALIDundocumented — no inline comment given
23302CSK_GADGETINTERACTundocumented — no inline comment given
23303CSK_EMOTEemote id given in the paired CBTS_ANIMATIONSTART event
23304CSK_GENERICFLOATWATERundocumented — no inline comment given
23305CSK_GENERICSINKundocumented — no inline comment given
23306CSK_GENERICLOCKOUTundocumented — no inline comment given
23307CSK_GENERICFEARundocumented — no inline comment given
23308CSK_PICKUPitem id given in the paired CBTS_ANIMATIONSTART event
23309CSK_GENERICFALLDOWNundocumented — no inline comment given

gwlanguage (text language)

Backs the CBTS_LANGUAGE statechange’s src_agent payload. Note the gap: there is no value 1.

ValueNameLanguage
0GWL_ENGEnglish
2GWL_FREFrench
3GWL_GEMGerman
4GWL_SPASpanish
5GWL_CNChinese

The Unofficial Extras Language enum uses identical values.

n_contentlocal (content types)

Backs the overstack_value of CBTS_IDTOGUID events — the type of content whose id-to-GUID association is being reported. Sequential from 0.

ValueNameNotes (from the source’s inline comments)
0CONTENTLOCAL_EFFECTsrc_instid: content type; (float*)&buff_dmg is the default duration, if available (when the effect event has no duration or agent set)
1CONTENTLOCAL_MARKERsrc_instid: is in commander-tag defs
2CONTENTLOCAL_SKILLno extra data — see CBTS_SKILLINFO/CBTS_BUFFINFO events
3CONTENTLOCAL_SPECIES_NOT_GADGETno extra data
4CONTENTLOCAL_EMOTEno extra data
5CONTENTLOCAL_TRANSFORMATIONno extra data

The source also defines two enums marked “(debug only, subject to change)” — n_animationstart and n_animationstop — which are not reproduced here because the source itself flags them as unstable.

Profession ids (community)

The EVTC docs don’t enumerate profession ids; the values below are community knowledge (used identically by the Rust bindings and matching the game’s code values from the official GW2 web API’s /v2/professions endpoint). They back ag.prof for players, evtc_agent.prof, and the value field of CBTS_ENTERCOMBAT/CBTS_EXITCOMBAT.

ValueProfession
0unknown
1Guardian
2Warrior
3Engineer
4Ranger
5Thief
6Elementalist
7Mesmer
8Necromancer
9Revenant

This ordering is corroborated by the arcdps binary itself: its icon strings run 001009 and its profession list appears in exactly this order (“guardian, warrior, engineer, ranger, thief, elementalist, mesmer, necromancer, revenant”) in the settings UI strings. Elite specialization ids (ag.elite / evtc_agent.is_elite) are the game’s specialization ids from /v2/specializations — a larger, game-managed id space not enumerated here (0xFFFFFFFF marks a non-player agent; see the EVTC agent classification rules).

See also