Coder Social home page Coder Social logo

dotaconstants's Introduction

dotaconstants

Constant data for Dota 2 applications

Notes

  • Manually maintained files are located in the json directory
  • Some data is fetched from remote sources
  • Add a new patch ID: npm run newpatch
  • Update and regenerate build: npm run build
  • Create a new version: npm version minor
  • Publish to npm: npm publish

dotaconstants's People

Contributors

argn0 avatar bayusuryadana avatar bbboldemar avatar builder-247 avatar coreymaher avatar covertpz avatar crazy-duck avatar dependabot[bot] avatar geczy avatar howardchung avatar iversonlv avatar jgalat avatar kshammer avatar mandymoorefan avatar markrmessmore avatar mastercoms avatar mdiller avatar nicomac avatar rschalo avatar ruimlopes avatar sinkaroid avatar skitttt avatar sneakyimp1 avatar snugghash avatar souravmondal93 avatar thepianodentist avatar tinvernizzi avatar vamo89 avatar zoraizq avatar zwelc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dotaconstants's Issues

Game mode names are ambiguous

Hello! First of all, thanks for the hard work and time put into this project.

However I have a bit of trouble with the naming of the game modes

They're not really user friendly and don't represent the names displayed in the game
Hence my request to add a field "display_name" which represents the english names as they are represented in game
Also maybe indicating if these are ranked or not (maybe thats what balanced stands for?)

I could fix this by mapping the names myself. But at that point I might as wel just hardcode them (which I'd like to avoid)

Unranked names:

  • All Pick
  • Turbo
  • Single Draft
  • Random Draft
  • All Random
  • Ability Draft
  • All Random DeathMatch

Ranked:

  • Ranked All Pick
  • Captains Mode
  • Random Draft

Would need to figure out the names of the events and such though

patchnote seems not good enough

Hi team,
According to below 7.29 patchnote.json and real game UI comparison.
The JSON for Abaddon for instance, a list of the array, no hint/mapping for his abilities' update
Somthing like:

'hero_name': {
'general': [
       "Base health regen increased from 0.5 to 1",
        "Shard upgrade now also reduces Mist Coil and Aphotic Shield cooldowns by 1 second.",
],
"ablility_name1": [
        "Backswing reduced from 0.67 to 0.4",
        "Heal/damage rescaled from 120/165/210/255 to 110/160/210/260",
        "Self damage is now 50% of the values instead of fixed numbers",
],
"ablility_name2": [
        "Backswing reduced from 0.67 to 0.4",
        "Heal/damage rescaled from 120/165/210/255 to 110/160/210/260",
        "Self damage is now 50% of the values instead of fixed numbers",
],
'talents': [

        "Level 15 Talent increased from +50 Mist Coil Heal/Damage to +55",
        "Level 20 Talent increased from +8 Armor to +9",
        "Level 25 Talent increased from 425 AoE Mist Coil to 500"
]
}

image
image

URL's for items.json cannot be found

Hey!

Is it possible to obtain images/thumbnails for items.json?

I can see a response for https://api.opendota.com/api/constants/items, but every img URL points to not existing source.

Dawnbreaker img 404 error

Hi I think the Dawnbreaker img is broken. It returns a 404. All other img in build/heroes.json work properly.

Greetings

automate pulling data?

have you thought about adding automation so it fetches new data every hour for example? easy to do with a github action

How are skillshots decided?

Currently, skillshots.json lists out Mirana arrow, Pudge hook, Clockwerk hook, and Invoker sun strike. I suppose these are some of the hardest skills in the game to hit, and they're listed there for that reason.

However, I do think that in terms of analysis for a greater pool of heroes, it would make sense for each hero to measure their own efficiency in terms of missable skills, instead of the globally hardest skills. For example, a Batrider would like to know if he hit his flamebreak efficiently, and a Lina would want to know if she hit her Light Strike Array well.

At the very least, I do think there are a few skills missing from this list. Ancient Apparition's Ice Blast comes to mind.

Perhaps more data could be added as well, so we know the ideal ratio of hits to uses for each ability added.

use ES6 imports/exports

I think this is required to allow tree shaking to exclude unnecessary properties from the exported object.

support for neutral items

item tier, initial charges (eg. greater faerie fire), formatting changes (eg. negative attack speed/armor is not parsed correctly)
if you're not already on it I can make a PR

streamline hero ingestion

@bippum

Currently the hero data is from:

If the second source has all the data in the first source, we should avoid using the first, since I need to ingest data from this repo for the legs data, which means we have a circular dependency.

[Question] Item recipes?

Hello,

When looking at components required to build an item. I noticed that the recipes are never in the list. For example with the Mekansm:

"components": [
      "headdress",
      "chainmail"
    ]

The recipe_mekansm is missing from the list.
I am looking for a reliable way to make sure that an item has a recipe or not, do you know if there is a way to do this?

Thanks,

Localized Name Outworld Devourer is wrong

It should be Outworld Destroyer, see 7.30e json:
The localized_name is wrong here
"76": { "id": 76, "name": "npc_dota_hero_obsidian_destroyer", "localized_name": "Outworld Destroyer", "primary_attr": "int", "attack_type": "Ranged", "roles": [ "Carry", "Nuker", "Disabler" ], "img": "/apps/dota2/images/dota_react/heroes/obsidian_destroyer.png?", "icon": "/apps/dota2/images/dota_react/heroes/icons/obsidian_destroyer.png?", "base_health": 200, "base_health_regen": 1, "base_mana": 75, "base_mana_regen": 0, "base_armor": 2.5, "base_mr": 25, "base_attack_min": 19, "base_attack_max": 31, "base_str": 21, "base_agi": 22, "base_int": 30, "str_gain": 2.9, "agi_gain": 1.6, "int_gain": 4.2, "attack_range": 450, "projectile_speed": 900, "attack_rate": 1.9, "move_speed": 320, "turn_rate": null, "cm_enabled": true, "legs": 4 },

Update player colors

This is the correct player colors

{
  "0": "#3375FF",
  "1": "#66FFBF",
  "2": "#BF00BF",
  "3": "#F3F00B",
  "4": "#FF6B00",
  "128": "#FE86C2",
  "129": "#A1B447",
  "130": "#65D9F7",
  "131": "#008321",
  "132": "#A46900"
}

error while building

i have been using odota/dotaconstants for 4 months and everything worked fine, since 2 weeks i have several error while building...
\ODOTA\node_modules\simple-vdf\index.js:54
throw new SyntaxError("VDF.parse: invalid syntax on line " + (i+1));
^

SyntaxError: VDF.parse: invalid syntax on line 1
at Object.parse (\ODOTA\node_modules\simple-vdf\index.js:54:23)
at parseJson (\ODOTA\tasks\updateconstants.js:472:31)
at Request.request [as _callback] (\ODOTA\tasks\updateconstants.js:456:21)
at Request.self.callback (\ODOTA\node_modules\request\request.js:185:22)
at emitTwo (events.js:125:13)
at Request.emit (events.js:213:7)
at Request. (\ODOTA\node_modules\request\request.js:1157:10)
at emitOne (events.js:115:13)
at Request.emit (events.js:210:7)
at IncomingMessage. (\ODOTA\node_modules\request\request.js:1079:12)

Aghanims abilities

find a way to identify scepter / shard abilities so they can be shown as a tooltip above the buff icons.

Some hero constants are outdated

Some hero constants are outdated. For example actual Bane base attack is in range from -1 to 5 when in heroes.json these values ​​are between -3 and 3
image

I try npx run build but error occurs and heroes.json doesn't change
Untitled

Missing 7.16.0

I have noticed the core project's package.json references 7.16.0. But it looks after the 7.33 additions this package was never bumped? The open dota api currently does not have any of the items from patch 7.33.

mapping between hero name and ability name?

Great dataset, thanks for putting this together and keeping it updated.

I dont see a mapping to associate hero names with their abilities (including talents). Am I missing it? Alternatively, this is a request to add it. I'm happy to lend my help to make it happen.

Bug in items.json %sheep_movement_speed% and many other

in items.json
%sheep_movement_speed% its in line 2555
%blast_speed% in line 3746 same line one more
%invuln_duration% in line 4902

%windwalk_fade_time% in line 5104

%static_seconary_radius% in line 5424

%customval_team_tomes_used% in line 6232

%abilitycastrange% in line 6451

%abilitychanneltime% in line 8001

remove HTML from ability/item files

The old jsfeed source of data included embedded HTML/styling.

Now that we are using the client files to get the data, we should just let the consumer (odota/ui or other) style the text and just provide raw data.

abilities.json missing data

There is missing data in abilities.json about:

  1. sonic_wave cd
  2. void_spirit_astral_step charge restore time
  3. techies_land_mines charge restore time
  4. charge restore time

Should subpatches be added to patch.json?

Suppose I want to periodically query whether my local cache of DotA 2 constants corresponds to the latest DotA 2 version (7.32c). As right now, I have to do this using patchnotes.json, which loads ~800 kb of information I don't really need. But if I were to make this query on a very lightweight patch.json (< 10kb), I would only get information on the latest major DotA 2 patch (7.32).

Would it be possible to add subpatches to patch.json? This would make cache pruning a lot more efficient for some of my scripts.

Want Chinese

I From China.I want to change the text to Chinese. Where do I need to change it?

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.