Constants#
Defined in Types.hpp. Named constants for bones, keys, plugin flags, and hero IDs.
Bone IDs#
xenon::Bone — actual game skeleton indices for Entity::GetBonePos().
| Constant | Value | Body Part |
|---|---|---|
Head |
17 | Head |
Neck |
16 | Neck |
Chest |
2 | Chest |
Body |
81 | Upper body |
BodyBot |
82 | Lower body |
Pelvis |
3 | Pelvis center |
LPelvis |
85 | Left pelvis |
RPelvis |
95 | Right pelvis |
LShoulder |
49 | Left shoulder |
RShoulder |
54 | Right shoulder |
LElbow |
14 | Left elbow |
RElbow |
51 | Right elbow |
LHand |
41 | Left hand |
RHand |
71 | Right hand |
LShank |
87 | Left shin |
RShank |
97 | Right shin |
LAnkle |
86 | Left ankle |
RAnkle |
96 | Right ankle |
LKnee |
89 | Left knee |
RKnee |
99 | Right knee |
LFoot |
90 | Left foot |
RFoot |
100 | Right foot |
Hero-specific overrides:
| Constant | Value | Description |
|---|---|---|
BastionLHand |
45 | Bastion left hand |
BastionRHand |
55 | Bastion right hand |
Body Slots#
xenon::BodySlot — body region classification indices used in Hitbox::bodySlot and returned by AimHitsHitbox().
| Constant | Value | Region |
|---|---|---|
Head |
0 | Head |
Neck |
1 | Neck |
Body |
2 | Upper torso |
BodyBot |
3 | Lower torso |
Pelvis |
4 | Pelvis center |
LPelvis |
5 | Left pelvis |
RPelvis |
6 | Right pelvis |
Chest |
7 | Chest |
LShoulder |
8 | Left shoulder |
RShoulder |
9 | Right shoulder |
LElbow |
10 | Left elbow |
RElbow |
11 | Right elbow |
LAnkle |
12 | Left ankle |
RAnkle |
13 | Right ankle |
LShank |
14 | Left shin |
RShank |
15 | Right shin |
LHand |
16 | Left hand |
RHand |
17 | Right hand |
RKnee |
18 | Right knee |
LKnee |
19 | Left knee |
RFoot |
20 | Right foot |
LFoot |
21 | Left foot |
Count |
22 | Total count |
Unclassified |
-1 | Unknown region |
VK Keys#
xenon::VK — virtual key codes for IsKeyDown() and ImGui::Hotkey().
Mouse Buttons#
| Constant | Value | Key |
|---|---|---|
LButton |
0x01 |
Left mouse button |
RButton |
0x02 |
Right mouse button |
MButton |
0x04 |
Middle mouse button |
XButton1 |
0x05 |
Mouse button 4 |
XButton2 |
0x06 |
Mouse button 5 |
Modifier Keys#
| Constant | Value | Key |
|---|---|---|
Shift |
0x10 |
Shift |
Control |
0x11 |
Ctrl |
Alt |
0x12 |
Alt |
Space |
0x20 |
Spacebar |
Navigation Keys#
| Constant | Value | Key |
|---|---|---|
Insert |
0x2D |
Insert |
Delete |
0x2E |
Delete |
Letter Keys#
| Constant | Value | Key |
|---|---|---|
A - Z |
0x41 - 0x5A |
A through Z |
Function Keys#
| Constant | Value | Key |
|---|---|---|
F1 - F12 |
0x70 - 0x7B |
F1 through F12 |
Game Buttons#
xenon::GameButton — game-level button bits for PressGameButton() and ReleaseGameButton(). These inject input at the game level (not OS-level key events).
| Constant | Value | Action |
|---|---|---|
LMouse |
0x1 |
Primary fire |
RMouse |
0x2 |
Secondary fire / scope |
ScopedShoot |
0x3 |
Scoped shoot |
Interact |
0x4 |
Interact |
Skill1 |
0x8 |
Ability 1 (Shift) |
Skill2 |
0x10 |
Ability 2 (E) |
Ult |
0x20 |
Ultimate (Q) |
Jump |
0x40 |
Jump |
Crouch |
0x80 |
Crouch |
Reload |
0x400 |
Reload |
Melee |
0x800 |
Melee |
Note
These are game-level button bits, not OS virtual key codes. Use VK constants with IsKeyDown() for OS-level key queries.
Target Flags#
xenon::TargetFlags — bitmask flags for FindBestTarget() and FindBestTargetInFov().
| Constant | Value | Description |
|---|---|---|
Enemy |
0x01 |
Only enemies |
Team |
0x02 |
Only teammates |
Visible |
0x04 |
Only visible entities |
LowHP |
0x08 |
Prioritize low health |
Combine with bitwise OR:
Outline Types#
xenon::OutlineType — outline type constants for Entity::SetOutline().
| Constant | Value | Description |
|---|---|---|
Visible |
1 |
Outline when entity is in line of sight |
Occluded |
2 |
Outline when entity is behind walls (wallhack) |
Plugin Flags#
xenon::PluginFlags — bitflags for XENON_PLUGIN_INFO.
| Constant | Value | Description |
|---|---|---|
None |
0 |
No capabilities |
HasOverlay |
1 << 0 |
Plugin has an on_render overlay |
HasMenu |
1 << 1 |
Plugin has an on_menu settings UI |
HeroSpecific |
1 << 2 |
Plugin is for a specific hero only |
Combine with bitwise OR:
PluginFlags::HasOverlay | PluginFlags::HasMenu
PluginFlags::HasOverlay | PluginFlags::HasMenu | PluginFlags::HeroSpecific
Skill IDs#
xenon::SkillId — lookup IDs for GetLookupSkill().
| Constant | Value | Description |
|---|---|---|
UltCharge |
0x00F8 |
Ultimate charge percentage |
SojournCharge |
0x00F6 |
Sojourn railgun charge |
IllariCharge |
0x0651 |
Illari solar rifle charge |
HanzoCharge |
0x00C9 |
Hanzo bow draw charge |
SombraAmmo |
0x0C41 |
Sombra ammo count |
Note
Only IDs listed above are currently cached. Unknown IDs return 0.0.
Hero State#
xenon::HeroState — bitmask flags returned by GetHeroState().
| Constant | Value | Description |
|---|---|---|
Ulting |
0x1 |
Ultimate ability is active |
Reloading |
0x2 |
Currently reloading |
uint32_t state = GetHeroState();
bool isUlting = (state & HeroState::Ulting) != 0;
bool isReloading = (state & HeroState::Reloading) != 0;
Hero IDs#
xenon::HeroId — hero pool IDs for hero-specific plugins.
| Constant | Hero |
|---|---|
Reaper |
Reaper |
Tracer |
Tracer |
Mercy |
Mercy |
Hanzo |
Hanzo |
Torbjorn |
Torbjorn |
Reinhardt |
Reinhardt |
Pharah |
Pharah |
Winston |
Winston |
Widowmaker |
Widowmaker |
Bastion |
Bastion |
Symmetra |
Symmetra |
Zenyatta |
Zenyatta |
Genji |
Genji |
Roadhog |
Roadhog |
Cassidy |
Cassidy |
Junkrat |
Junkrat |
Zarya |
Zarya |
Soldier76 |
Soldier: 76 |
Lucio |
Lucio |
Dva |
D.Va |
Mei |
Mei |
Ana |
Ana |
Sombra |
Sombra |
Orisa |
Orisa |
Doomfist |
Doomfist |
Moira |
Moira |
Brigitte |
Brigitte |
WreckingBall |
Wrecking Ball |
Ashe |
Ashe |
Baptiste |
Baptiste |
Sigma |
Sigma |
Echo |
Echo |
Kiriko |
Kiriko |
Sojourn |
Sojourn |
JunkerQueen |
Junker Queen |
Ramattra |
Ramattra |
Lifeweaver |
Lifeweaver |
Illari |
Illari |
Mauga |
Mauga |
Venture |
Venture |
Juno |
Juno |
Hazard |
Hazard |
Freja |
Freja |
Wuyang |
Wuyang |
Vendetta |
Vendetta |
Emre |
Emre |
Domina |
Domina |
Anran |
Anran |
Mizuki |
Mizuki |
JetpackCat |
Jetpack Cat |
Training bots:
| Constant | Description |
|---|---|
TrainingBot1 |
Training bot variant 1 |
TrainingBot2 |
Training bot variant 2 |
TrainingBot3 |
Training bot variant 3 |
TrainingBot4 |
Training bot variant 4 |