       foundStats.unshift(primaryStat)
 
     foundStats.filter (x) -> x
-
-  # returns emoji based on damage type for use in title
-  'emojiFromDamageType': (item) ->
-    arcEmoji = ':bladedancer:'
-    solarEmoji = ':firebolt:'
-    voidEmoji = ':voidwalker:'
-
-    damageType = item.damageDefs[item.damageType].damageTypeName
-    switch damageType
-      when "Arc" then arcEmoji
-      when "Solar" then solarEmoji
-      when "Void" then voidEmoji
-      else  ""
 
   # removes invalid nodes, orders according to column attribute
   'filterNodes': (nodes, nodeDefs) ->

      string.slice(0, -3)

    fallback: item.itemDescription
    title: "#{item.itemName} #{damageEmoji}"
    title_link: item.itemLink
    color: item.color
    text: formattedText.join('\n')

    itemDescription: itemDefs.itemDescription
    itemTypeName: itemDefs.itemTypeName
    rarity: itemDefs.tierTypeName
    color: damageColor[damageTypeName] or '#d9d9d9'
    iconLink: prefix + iconSuffix
    itemLink: prefix + itemSuffix
    primaryStat: item.primaryStat
    stats: item.stats
    nodes: response.data.talentNodes
    nodeDefs: response.definitions.talentGrids[item.talentGridHash].nodes
    damageType: damageTypeName

  'parseItemsForAttachment': (items) ->
    items.map (item) => @parseItemAttachment(item)

  'parseItemAttachment': (item, showDetails) ->
    hasStats = item.stats
    name = "#{item.itemName}"
    name+= " [#{item.damageType}]" unless item.damageType is "Kinetic"
    statFields = if hasStats then @buildStats(item.stats, item.primaryStat) else []
    filtered = @filterNodes(item.nodes, item.nodeDefs)
    nodeFields = @buildFields(filtered, item.nodeDefs)
    textHash = @buildText(filtered, item.nodeDefs)
