Chat link format

From Guild Wars 2 Wiki
Jump to: navigation, search

In the chat it is possible to insert links to certain elements within the game, like waypoints, points of interest, items and skills. These links are usually entered by clicking an element while holding Ctrl or Shift. The former will immediately insert a link into the current chat channel, while the latter will append it to the current chat line, allowing for further changes.

Internally, these links are represented by a special text command that can be embedded manually. When sending it then in the chat, the client will read out information about the linked element and display it correctly for the current localization. This page describes the format of said chat links.

The creation of such links requires knowledge about the internal identifiers and involves a fair amount of calculation. As such this information is not really useful for the average player trying to link to certain elements within the game. For those purposes, the mentioned method in-game is preferred.

General format[edit]

Following the skill template format from the original Guild Wars, the links make use of Base64 to encode its information. A link is enclosed within single square brackets and preceded by an ampersand, for example [&AgEAWgAA] will render a link for the Basic Salvage Kit.

Header[edit]

The first byte of a link contains the header. It describes the type of the link:

  1. ^ Automatically generated by the client

Data[edit]

For most link types, the header is followed by the ID as a 3-byte (24bit) little-endian integer, then a null byte as terminator.

Coin link[edit]

Currently disabled. Specifies at least a two byte number in copper Copper coin coins. Amounts in gold Gold coin or silver Silver coin have to be multiplied by 10,000 or 100 respectively.

Examples[edit]

  • [&AQAAAAA=]Copper coin
  • [&AQEAAAA=]Copper coin
  • [&AdsnAAA=]Gold coin 2 Silver coin 3 Copper coin

Item link[edit]

The quantity of items is encoded as a single byte immediately following the header byte, before the item ID.

Examples[edit]

Wardrobe skins and upgrades[edit]

Additional data, such as the item ID of an attached upgrade component or wardrobe skin ID can be added by adding flags to the byte after the base item id.

  • 0x80 (1 << 7) binary: 1000 0000 Skinned
  • 0x40 (1 << 6) binary: 0100 0000 first upgrade slot in use
  • 0x20 (1 << 5) binary: 0010 0000 second upgrade slot in use

See Bit field for an explanation.
When there's only one upgrade, regardless of which upgrade slot's flag is used, the game will always show the first slot in use.

Examples[edit]

Items used[edit]
flags in binary, HEX Values and Chat Codes[edit]
  • Weapon only
    • 0000 0000 == 0x00
    • 02 01 AA B6 00 00
    • [&AgGqtgAA]
  • Weapon with Sigil 1
    • 0100 0000 == 0x40
    • 02 01 AA B6 00 40 FF 5F 00 00
    • [&AgGqtgBA/18AAA==]
  • Weapon with Sigil 1 and Sigil 2
    • 0110 0000 == 0x60
    • 02 01 AA B6 00 60 FF 5F 00 00 27 60 00 00
    • [&AgGqtgBg/18AACdgAAA=]
  • Weapon with Wardrobe Skin
    • 1000 0000 == 0x80
    • 02 01 AA B6 00 80 7D 0E 00 00
    • [&AgGqtgCAfQ4AAA==]
  • Weapon with Wardrobe Skin and Sigil 1
    • 1100 0000 == 0xc0
    • 02 01 AA B6 00 C0 7D 0E 00 00 FF 5F 00 00
    • [&AgGqtgDAfQ4AAP9fAAA=]
  • Weapon with Wardrobe Skin, Sigil 1 and Sigil 2
    • 1110 0000 == 0xe0
    • 02 01 AA B6 00 E0 7D 0E 00 00 FF 5F 00 00 27 60 00 00
    • [&AgGqtgDgfQ4AAP9fAAAnYAAA]

Text string[edit]

Specifies the two byte internal string identifier and displays the corresponding text in the chat window (sometimes just a chat bubble), highlighted in a color that matches the chat channel. (e.g. gold for guild chat, blue for party chat, etc.)

Examples[edit]

  • [&AxcnAAA=]Fight what cannot be fought.
  • [&AxgnAAA=]Any secrets you want to share?
  • [&AxknAAA=]Any news?
  • [&AyAnAAA=]Do you need assistance?

See Chat link format/0x03 codes for a list of the documented codes.

Map links[edit]

Specifies the two byte internal point of interest (internally landmarks, waypoints, and vistas are deemed as points of interest) identifier.

Examples[edit]

  • Dr. Bleent's Encampment (Id: 56)
  • – Desider Atum Waypoint (Id: 72)
  • – Caudecus' Estate Waypoint (Id: 825)

See Chat link format/0x04 codes for a list of the documented codes.

Skill links[edit]

Specifies the two byte internal skill (including effects, buffs, and abilities) identifier.

Examples[edit]

  • Aegis (Id: 743)
  • Fireball (Id: 5491)
  • Meteor Shower (Id: 5501)

Trait links[edit]

Specifies the two byte internal trait identifier.

Examples[edit]

See Chat link format/0x08 codes for a list of the documented codes.

Recipes[edit]

Specifies the two byte internal recipe identifier.

Examples[edit]

Wardrobe skin link[edit]

Specifies the two byte wardrobe skin identifier.

Examples[edit]

See Chat link format/0x0A codes for a list of the documented codes.

Outfit link[edit]

Specifies the two byte outfit identifier.

Examples[edit]

See Chat link format/0x0B codes for a list of the documented codes.

Finding game IDs from chat links[edit]

For many templates found on the wiki, the game ID rather than the full chat link is required. This can be obtained by typing /wiki, then holding Shift + clicking on the item in question. Pressing enter will then bring up your browser and return the wiki's enhanced search page which will decode the chat link into an ID at the top of the page.

Notes[edit]

  • Some item chat links will appear to not work correctly. Often this is because in order for the chat code to work, the item must actually be in the player's inventory.