Hacking, Coding and Gaming | @[email protected]

Diablo IV had a free to play, open beta, this weekend so decided to give the game a try. As I'd posted about previously, you could use icons and colours in Diablo 3's chat so I wanted to see if I could do the same in Diablo IV - and it turns it works much the same.

No, no I can't :P

The below was found using Cheat Engine and searching for on-screen text, and grep'ing through a Windows Process Dump of the game to get all colours/icons/hotkeys.

While a player can't normally send coloured text in game, items linked into chat seem to render as below in BattleNet app's chat outside of the game.

Colours

To use colours in a chat add {c:FF00FF} (using the hex RGB values of the colour you want) or {c_pink} (or most other colour names) before the text, and {/c} to end the colour. There are also aliases for colours that are used for certain things, eg: {c_zone_complete}.

Icons

Most icons shown in tooltips, windows and hints can also be added to chat messages. The format is: {icon:NAME, SIZE} - the size is 1 by default, though a size of 2 is often used.

Example: {icon:Achievement_Completed, 2}

Every letter of the alphabet can also be used, as an icon of a keyboard key, these take the form of {icon:KeyPrompt_LETTER, SIZE}.

There are also aliases for keybindings which display the keyprompt of the relevant action/binding, using: {hotkey:NAME, size}.

Example: {hotkey:Escape, 2}

I was unable to create my own item links, which was possible in Diablo 3 leading to a clickable item link that would crash the client, but the links seem to take the form of:

[ITEM NAME HERE](d4://Item.SoMeUnIqUeIdEnTiFiEr.HeRe)

Spammers and Scammers?

Disclaimer: I in no way endorse or promote malicious, harmful or destructive actions, this section is purely for demonstration purposes in the hopes that all of the above functionality is stripped/filtered from the final release of the game or to raise awareness.

Icons are basically begging spammers to use them, to draw attention:

And I think it's possible to create a fairly convincing looking in-game scam message... an icon with size 1000 acts as a reliable "newline" in chat (as opposed to having to guess the correct amount of spaces to use), with some colouring thrown in and matching the format of chat messages, we now have a blue (not)Admin message from (not)Blizzard telling us about a site...

List of colours, icons, and hotkeys

Colours:

{c_advanced}
{c_blue}
{c_gold}
{c_gray}
{c_green}
{c_grey}
{c_highlight}
{c_important}
{c_label}
{c_legendary}
{c_lightgray}
{c_magic}
{c_number_req}
{c_number}
{c_orange}
{c_questitem}
{c_random}
{c_rare}
{c_red}
{c_resource}
{c_specialcraftingmat}
{c_warning}
{c_white}
{c_yellow}
{c_zone_complete}

Icons:

{Icon:Dots_1Select}
{Icon:Jeweler_Unsocket}
{Icon:KeyPrompt_Escape}
{Icon:KeyPrompt_Z}
{Icon:Necro_MiniSlot_Sacrifice}
{Icon:button1}
{Icon:button2}
{Icon:button3}
{Icon:button4}
{Icon:lmb}
{Icon:rmb}
{icon:Achievement_Completed}
{icon:AlreadyOwnedDiamondFrame}
{icon:Analog_R3}
{icon:AttackDefense}
{icon:AttributeBullet}
{icon:Bag_Tab_Materials}
{icon:Bag_Tab_Stats}
{icon:BloodshardVendor_QuestionMark}
{icon:Character_Inventory_Currencies_GoldIcon}
{icon:Character_Transmog_Item_Icon_Grey}
{icon:Character_Transmog_Item_Icon_Off}
{icon:Character_Transmog_Item_Icon}
{icon:Copyright_Icon}
{icon:Crafting_UpgradePip_Unlocked}
{icon:CurrencyIcon}
{icon:DamageType_Fire}
{icon:DamageType_Frost}
{icon:DamageType_Lightning}
{icon:DamageType_Physical}
{icon:DamageType_Poison}
{icon:DamageType_Shadow}
{icon:Dots_2Select}
{icon:Dpad_H_Button}
{icon:Dpad_V_Button}
{icon:DruidSpirit_OfferIcon}
{icon:Druid_Priority_Quest_Icon}
{icon:Exclamation_Icon}
{icon:Exclamation_Mark}
{icon:ExternalLink_Simple}
{icon:External_Link}
{icon:FriendRequest_Icon}
{icon:FrontEnd_Campaign}
{icon:FrontEnd_Gameplay_Hardcore}
{icon:GamblingCurrency}
{icon:Gizmo_Inspect}
{icon:HealthPotion_04_Active}
{icon:Icon_Away}
{icon:Icon_Busy}
{icon:Icon_Favorite}
{icon:Icon_Network}
{icon:Icon_Offline}
{icon:Icon_Online}
{icon:ItemTransmogSalvage}
{icon:ItemUpgrade}
{icon:Item_Amulet}
{icon:Item_Boots}
{icon:Item_Cache}
{icon:Item_Chest}
{icon:Item_Gloves}
{icon:Item_Legs}
{icon:Item_Ring}
{icon:KeyPrompt_0}
{icon:KeyPrompt_1}
{icon:KeyPrompt_2}
{icon:KeyPrompt_3}
{icon:KeyPrompt_4}
{icon:KeyPrompt_5}
{icon:KeyPrompt_6}
{icon:KeyPrompt_7}
{icon:KeyPrompt_8}
{icon:KeyPrompt_9}
{icon:KeyPrompt_Alt}
{icon:KeyPrompt_A}
{icon:KeyPrompt_Backspace}
{icon:KeyPrompt_BracketLeft}
{icon:KeyPrompt_BracketRight}
{icon:KeyPrompt_B}
{icon:KeyPrompt_Comma}
{icon:KeyPrompt_Ctrl}
{icon:KeyPrompt_C}
{icon:KeyPrompt_Delete}
{icon:KeyPrompt_Down}
{icon:KeyPrompt_D}
{icon:KeyPrompt_End}
{icon:KeyPrompt_Enter}
{icon:KeyPrompt_Equal}
{icon:KeyPrompt_Escape}
{icon:KeyPrompt_E}
{icon:KeyPrompt_F10}
{icon:KeyPrompt_F11}
{icon:KeyPrompt_F12}
{icon:KeyPrompt_F13}
{icon:KeyPrompt_F14}
{icon:KeyPrompt_F15}
{icon:KeyPrompt_F1}
{icon:KeyPrompt_F2}
{icon:KeyPrompt_F3}
{icon:KeyPrompt_F4}
{icon:KeyPrompt_F5}
{icon:KeyPrompt_F6}
{icon:KeyPrompt_F7}
{icon:KeyPrompt_F8 2}
{icon:KeyPrompt_F9}
{icon:KeyPrompt_F}
{icon:KeyPrompt_Grave}
{icon:KeyPrompt_G}
{icon:KeyPrompt_Home}
{icon:KeyPrompt_H}
{icon:KeyPrompt_Insert}
{icon:KeyPrompt_I}
{icon:KeyPrompt_J}
{icon:KeyPrompt_K}
{icon:KeyPrompt_Left}
{icon:KeyPrompt_L}
{icon:KeyPrompt_Minus}
{icon:KeyPrompt_Mouse4}
{icon:KeyPrompt_Mouse5}
{icon:KeyPrompt_M}
{icon:KeyPrompt_N}
{icon:KeyPrompt_O}
{icon:KeyPrompt_PageDown}
{icon:KeyPrompt_PageUp}
{icon:KeyPrompt_Period}
{icon:KeyPrompt_Plus}
{icon:KeyPrompt_P}
{icon:KeyPrompt_QuoteSingle}
{icon:KeyPrompt_Q}
{icon:KeyPrompt_Right}
{icon:KeyPrompt_R}
{icon:KeyPrompt_ScrollWheel_Down}
{icon:KeyPrompt_ScrollWheel_Up}
{icon:KeyPrompt_ScrollWheel}
{icon:KeyPrompt_Semicolon}
{icon:KeyPrompt_ShiftShort}
{icon:KeyPrompt_Shift}
{icon:KeyPrompt_SlashBack}
{icon:KeyPrompt_SlashForward}
{icon:KeyPrompt_Space}
{icon:KeyPrompt_Star}
{icon:KeyPrompt_S}
{icon:KeyPrompt_Tab}
{icon:KeyPrompt_T}
{icon:KeyPrompt_Up}
{icon:KeyPrompt_U}
{icon:KeyPrompt_V}
{icon:KeyPrompt_W}
{icon:KeyPrompt_X}
{icon:KeyPrompt_Y}
{icon:KeyPrompt_Z}
{icon:LoreEarSoundIcon}
{icon:Marker_Blacksmith}
{icon:Marker_Bounties_TurnIn}
{icon:Marker_Crafter_Alchemist}
{icon:Marker_DungeonChallenge}
{icon:Marker_DungeonEntrance}
{icon:Marker_Essence}
{icon:Marker_Healer}
{icon:Marker_NotSynced_Big}
{icon:Marker_PriorityQuestAvailable}
{icon:Marker_PriorityQuestProgress_Untracked}
{icon:Marker_Vendor_Stable}
{icon:Marker_Wardrobe}
{icon:Marker_Waypoint}
{icon:Marker_WorldTiers}
{icon:Mastery_Icon}
{icon:Monster_Label}
{icon:NecroArmy_GolemSpec1_Icon}
{icon:NecroArmy_GolemSpec2_Icon}
{icon:NecroArmy_GolemSpec3_Icon}
{icon:NecroArmy_MageSpec1_Icon}
{icon:NecroArmy_MageSpec2_Icon}
{icon:NecroArmy_MageSpec3_Icon}
{icon:NecroArmy_WarriorSpec1_Icon}
{icon:NecroArmy_WarriorSpec2_Icon}
{icon:NecroArmy_WarriorSpec3_Icon}
{icon:Necro_MiniSlot_Sacrifice}
{icon:Necro_MiniSlot_Upgrade}
{icon:NonSeasonal}
{icon:PVP_Icon_Ears}
{icon:ParagonPoint_Icon}
{icon:PlatformIcon_Other}
{icon:PlatformIcon_PC}
{icon:PlatformIcon_PS_Dark}
{icon:PlatformIcon_PS}
{icon:PlatformIcon_Xbox}
{icon:QuestLog_CheckboxComplete02}
{icon:QuestLog_Journal_All}
{icon:QuestReward_Icon_Item}
{icon:Quest_Main_Available}
{icon:Quest_Priority_Progress}
{icon:Quest_Side_Available}
{icon:Region_Icon_DrySteppes}
{icon:Region_Icon_FracturedPeaks}
{icon:Region_Icon_Hawezar}
{icon:Region_Icon_Kehjistan}
{icon:Region_Icon_Scosglen}
{icon:RewardAvailable}
{icon:Seasonal}
{icon:Skill_Icon}
{icon:Social_BanPlayer}
{icon:Social_Block}
{icon:Social_DemoteClanMember}
{icon:Social_Invitation}
{icon:Social_InviteToClan}
{icon:Social_InviteToParty}
{icon:Social_JoinPartyVoice}
{icon:Social_KickClanMember}
{icon:Social_LeavePartyVoice}
{icon:Social_LeaveParty}
{icon:Social_Local}
{icon:Social_Note_Icon}
{icon:Social_PromoteClanMember}
{icon:Social_PromotePartyLeader}
{icon:Social_RemoveFavorite}
{icon:Social_RemoveFriend}
{icon:Social_RemoveFromParty}
{icon:Social_ReportPlayer}
{icon:Social_RequestToJoinParty}
{icon:Social_Story}
{icon:Social_Tab_Icon_Clan}
{icon:Social_Tab_Icon_Friends}
{icon:Social_Tab_Icon_PSLive}
{icon:Social_Tab_Icon_Sanctuary}
{icon:Social_Tab_Icon_XboxLive}
{icon:Social_Title_Bullet}
{icon:Social_Trade}
{icon:Social_ViewClanProfile}
{icon:Social_ViewProfile}
{icon:Social_VoiceChat_Clan}
{icon:Social_VoiceChat_Group}
{icon:Social_VoiceChat_None}
{icon:Social_Whisper}
{icon:Stat_Armor}
{icon:Stat_Attack}
{icon:Store_Icon_Wheel}
{icon:Synced}
{icon:TooltipAffixReroll}
{icon:Tooltip_Bullet_WithLine}
{icon:Tracker_Bounty_Timer}
{icon:Tracker_Quest_Side}
{icon:Tutorial_PriorityQuest_Icon}
{icon:Voice_Speaking}
{icon:Wardrobe_New_Purchased_Item}
{icon:WorldEventProgress005}
{icon:achievement_tier_icon}
{icon:arrow}
{icon:audio}
{icon:back}
{icon:bnet_note}
{icon:bullet_generic}
{icon:bullet}
{icon:button1}
{icon:button2}
{icon:button3}
{icon:button4}
{icon:chest_icon_default}
{icon:damage}
{icon:down1}
{icon:down}
{icon:expand_arrow_clicked}
{icon:expand_arrow_default}
{icon:gold}
{icon:heart}
{icon:l1}
{icon:l2}
{icon:l3}
{icon:l_all}
{icon:l_down}
{icon:l_horiz}
{icon:l_stick}
{icon:l_up}
{icon:l_vertical}
{icon:left}
{icon:legendarystar}
{icon:lmb}
{icon:meh}
{icon:mmb}
{icon:options}
{icon:r1}
{icon:r2}
{icon:r3}
{icon:r_all}
{icon:r_down}
{icon:r_horiz}
{icon:r_left}
{icon:r_right}
{icon:r_stick}
{icon:r_up}
{icon:r_vertical}
{icon:right}
{icon:rmb}
{icon:stagger}
{icon:start}
{icon:temp}
{icon:touchpad}
{icon:traded}
{icon:transmog}
{icon:uniquestar}
{icon:up1}
{icon:up_xb1}
{icon:up}

Hotkeys (also icons)

{hotkey:Abilities}
{hotkey:Clan}
{hotkey:Class_Screen}
{hotkey:Clear}
{hotkey:Collections}
{hotkey:Equippables}
{hotkey:Escape}
{hotkey:Evade}
{hotkey:Fast_Quest_Track}
{hotkey:Interact}
{hotkey:Local_Player_Drop_In}
{hotkey:Map}
{hotkey:Mount}
{hotkey:Options}
{hotkey:Quests_Toggle}
{hotkey:QUESTS}
{hotkey:Quests}
{hotkey:REPORT_BUG}
{hotkey:REPORT_CONTENT}
{hotkey:SCREEN_LEFT}
{hotkey:SCREEN_RIGHT}
{hotkey:Skills}
{hotkey:Social_Wheel}
{hotkey:Social}
{hotkey:Store}
{hotkey:Talents}
{hotkey:TOGGLE_FAST_EQUIP_EQUIP}
{hotkey:TOGGLE_FAST_EQUIP_SCROLL_DOWN}
{hotkey:TOGGLE_FAST_EQUIP}
{hotkey:Town_Portal}
{hotkey:VOICE_PTT}