Giter VIP home page Giter VIP logo

heroes-talents's Introduction

Hero Talents & Abilities

Talent? Hah. That seems generous.

--Raven Lord

Jump to Heroes

Example:

{
  "id": "68",
  "shortName": "malthael",
  "attributeId": "MALT",
  "name": "Malthael",
  "icon": "malthael.png",
  "role": "Assassin",
  "type": "Melee",
  "releaseDate": "2017-06-13",
  "abilities": {
    "Malthael": [
      {
        "name": "Soul Rip",
        "description": "Extract the souls of nearby enemies afflicted by Reaper's Mark, dealing 100 (+4% per level) damage and healing Malthael for 25 (+4% per level) per target hit. Heroic targets heal Malthael for an additional 4% of the Hero's maximum Health.",
        "hotkey": "Q",
        "abilityId": "Malthael|Q1",
        "cooldown": 2,
        "manaCost": 25,
        "icon": "storm_ui_icon_malthael_soulrip.png",
        "type": "basic"
      },
      ...
      {
        "name": "Tormented Souls",
        "description": "Unleash a torrent of souls, continually applying Reaper's Mark to nearby enemies for 4 seconds.",
        "hotkey": "R",
        "abilityId": "Malthael|R1",
        "cooldown": 80,
        "manaCost": 100,
        "icon": "storm_ui_icon_malthael_tormentedsoul.png",
        "type": "heroic"
      },
      ...
      {
        "name": "Reaper's Mark",
        "description": "Basic Attacks cleave in an area in front of Malthael and afflict non-Structure targets with Reaper's Mark for 4 seconds.  Marked enemies are revealed and take damage equal to 1.75% of their maximum Health every 1 second.",
        "trait": true,
        "abilityId": "Malthael|D1",
        "icon": "storm_ui_icon_malthael_reapersmark.png",
        "type": "trait"
      }
    ]
  },
  "talents": {
    "1": [
      {
        "tooltipId": "MalthaelDeathsReach",
        "talentTreeId": "MalthaelDeathsReach",
        "name": "Death's Reach",
        "description": "Increase Wraith Strike's range by 35%.",
        "icon": "storm_ui_icon_malthael_wraithstrike.png",
        "type": "W",
        "sort": 1,
        "abilityId": "Malthael|W1",
        "abilityLinks": [
          "Malthael|W1"
        ]
      },
      {
        "tooltipId": "MalthaelOnAPaleHorse",
        "talentTreeId": "MalthaelOnAPaleHorse",
        "name": "On a Pale Horse",
        "description": "Gain an additional 20% Movement Speed while mounted.",
        "icon": "storm_ui_icon_malthael_onpalehorse.png",
        "type": "Passive",
        "sort": 2,
        "abilityId": "_stormhero|Z1",
        "abilityLinks": [
          "_stormhero|Z1"
        ]
      },
      {
        "tooltipId": "MalthaelFearTheReaper",
        "talentTreeId": "MalthaelFearTheReaper",
        "name": "Fear the Reaper",
        "description": "Activate to increase Movement Speed by 25% and pass through other units for 4 seconds.",
        "icon": "storm_ui_icon_malthael_fearthereaper.png",
        "type": "Active",
        "sort": 3,
        "cooldown": 25,
        "abilityId": "Malthael|Active"
      }
    ],
    "4": [
    ...
    ]
    ...
}

Notes on key/value pairs

  • shortName is the hero's name with periods, dashes, apostrophes, spaces, and capitalization removed; it is currently used as the name of a hero's JSON file and image
  • manaCost is a string due to several Heroes (Azmodan, Arthas, etc.) having channeled abilities with per-second mana costs
  • abilityId can be used to link a talent to its related ability.
    • Talents that create a new ability will have abilityId of HeroName|Active. Ex: Fear the Reaper (seen above), Bolt of the Storm
    • Talents granting changes to Basic Attacks or other passive effects will have abilityId of HeroName|Passive. Ex: On a Pale Horse (above), Burning Rage, Executioner
  • talentTreeId is the name of the talent as used in replay files
  • sort indicates the order of talents on that level/tier
  • icon is the image name for the talent from game files

Game data

  • heroes/ and images/ contain curated versions of the game data and icons, prepared by heroes-convert
  • Unprocessed versions of the parsed game data is hosted at heroes-data
  • Uncompressed versions of the icons are hosted at heroes-images
  • Game data extractions for both of the repos above are acquired using koliva8245's HeroesDataParser

See the Contributing docs for more information on our process.

Projects using heroes-talents

Want to use this in your node project?

npm install --save git+https://[email protected]/heroespatchnotes/heroes-talents.git

We haven't created all the functions we wanted to yet (it'd literally take an hour or two, but I don't have time at the moment), but you can look at test.js for examples or index.js for the source.

const HeroesTalents = require('heroes-talents')

async function test() {
  try {
    const heroes = await HeroesTalents.loadHeroJSONFiles()
    const favoriteHero = heroes.alarak
    console.log(`My favorite hero is ${favoriteHero.name}. He is an ${favoriteHero.role}.`)
  } catch(err) {
    console.log(err)
  }
}

Heroes

Abathur Alarak Alexstrasza Ana Anduin Anub'arak Artanis Arthas Auriel Azmodan Blaze Brightwing The Butcher Cassia Chen Cho Chromie Deckard Dehaka Diablo D.Va E.T.C. Falstad Fenix Gall Garrosh Gazlowe Genji Greymane Gul'dan Hanzo Illidan Imperius Jaina Johanna Junkrat Kael'thas Kel'Thuzad Kerrigan Kharazim Leoric Li Li Li-Ming The Lost Vikings Lt. Morales Lúcio Lunara Maiev Malfurion Mal'Ganis Malthael Medivh Mephisto Muradin Murky Nazeebo Nova Orphea Probius Qhira Ragnaros Raynor Rehgar Rexxar Samuro Sgt. Hammer Sonya Stitches Stukov Sylvanas Tassadar Thrall Tracer Tychus Tyrael Tyrande Uther Valeera Valla Varian Whitemane Xul Yrel Zagara Zarya Zeratul Zul'jin

heroes-talents's People

Contributors

ajbdev avatar arranf avatar keanedawg avatar kjellconnelly avatar lerhond avatar mgatner avatar poma avatar stuaroo avatar tdietrich513 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.