Git Product home page Git Product logo

mhwdb-docs's Introduction

Monster Hunter World API

Hey there! Welcome to the docs repository for the Monster Hunter World API. To view the docs, please visit the GitHub Pages site. If you're interested in contributing to the project, feel free to take a look at the source code. If you have any comments, suggestions, or just wanna say hey, join the project's Discord server!

Also, a huge thanks to everyone that's submitted issues and feedback, it's been a great help! It's really awesome seeing people making use of the project, and I'm excited to see what kinds of applications people end up building with it.

mhwdb-docs's People

Contributors

ardeaf avatar developerpaul123 avatar larttyler 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

Watchers

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

mhwdb-docs's Issues

SkillRank Modifiers is array or object?

There is two type of data in SkillRank Modifiers.

Sometimes, it was array.
- "modifiers": [],

But sometimes it was object.
- "modifiers": {
"health": 15
},

Becuase of this difference, parsing is not easy...

Iceborne

Is it possible for us to get Iceborne data?

Armor set bonus

I looked at all endpoints and I didn't run across this. Is there currently anyway to derive the skills that are tied to a set bonus.. ie 2 pieces etc?

$like query can't find Beta armors

The following query for Alpha Nergigante armors returns the relevant pieces:
https://mhw-db.com/armor?q={"name":{"$like":"Nerg%Alpha"}}

However, changing the "Alpha" to "Beta" returns a formatting error.
https://mhw-db.com/armor?q={"name":{"$like":"Nerg%Beta"}}

{"error":{"code":"search.malformed_query","message":"Your query object was invalid; check your syntax and try again"}}
It looks like I can add use "Nerg%B%", which will find the Beta items (though it also returns the vambraces -- so I'm guessing case doesn't matter), but as soon as I add the 'e' ("B" -> "Be"), it tells me the search was malformed.

Some GET requests return error

Some GET requests don't work. This could be due to missing data but for example:

Trying to get all weapons using https://mhw-db.com/weapons - returns an error.

Searching for a weapon based on its ID also fails on weapons with an ID > 100, for example:

https://mhw-db.com/weapons/179 returns the same error as above.

I'm wondering if this could be fixed because the API when data is returned! Thanks for your work on it!

Retrieve API version

Hi!

Is it possible to retrieve current API version by API call? Something like: GET https://mhw-db.com/version
I'm using your API in Java app and I would like to create some regression tests to check if something changes.

Thanks,
Kacper

Charms data rearrangement

Example:
currently Poison Charm 1 and Poison Charm 2 are living separately

if you could please arrange them like you did with skills

Poison Charm :{
 ranks:[
  {name:Poison Charm 1},
 {name:Poison Charm 2}...
]

}

It would be great just to show charms and then show possible upgrades and levels separately.

Defense property in Weapons

Hi,

Some weapons have defense bonuses (I.E. Barroth Blaster 3), but they are not being listed. Are you planning on adding them as well?

Thanks, and keep up the good work!

No Event rewards

Is it possible to request for Event rewards or just Event special rewards so you could know which events give special tickets etc. Would be a nice improvement.

(Refactor) Armor Resistance

I would love us to move away slowly from the attributes object to more accurate objects.
Possible we add another object to armor
armor:{

resistance {
    fire:0,
    dragon:0,
 ....
   }
}

Instead of relying on attributes objects which is very general It would be nice to implement this type:Resistance object inside armor pieces and if possible , default value of 0 if no value at all.
that way it wont be optional value anymore.
also defense is a must property for armor, therefor it should live inside armor object itself and we can avoid relying on attributes object there as well.

(Missing-Data) Armor Sets

Not sure if some of the data was mentioned here before, so i'll add this to make sure.
Currently I have this view I am working on
screen shot 2018-04-18 at 20 21 18

Missing data list to complete the view:
Total craft cost,
total resistance + defense,
Full set skills,
Detailed set bonus skill

that would be all i know for now.
I know assets are in progress so i am not including them in the list.

Dual Blades "Holy Sabers" rarity is incorrect

The rarity on the Holy Sabers is coming through as 252. Here's is the doc for that weapon:

{
    "id":291,
    "slug":"holy-sabers",
    "name":"Holy Sabers",
    "type":"dual-blades",
    "rarity":252,
    "attributes":{
        "attack":252,
        "slotsRank3":1,
        "elementDamage":120,
        "elementType":"Water",
        "sharpnessRed":15,
        "sharpnessOrange":12,
        "sharpnessYellow":15,
        "sharpnessGreen":30,
        "sharpnessBlue":15
    },
    "crafting":{
        "craftable":false,
        "previous":290,
        "branches":[

        ],
        "craftingMaterials":[

        ],
        "upgradeMaterials":[
            {
                "quantity":6,
                "item":{
                    "id":123,
                    "name":"Dragonvein Crystal",
                    "description":"Mined from high rank areas. Many expect this newly-discovered crystal to usher in a new era of metalwork.",
                    "rarity":0,
                    "sellPrice":0,
                    "buyPrice":0,
                    "carryLimit":0
                }
            },
            {
                "quantity":3,
                "item":{
                    "id":483,
                    "name":"High Commendation",
                    "description":"A ticket awarded for demonstrating tremendous courage. Collect them and something wonderful may happen!",
                    "rarity":0,
                    "sellPrice":0,
                    "buyPrice":0,
                    "carryLimit":0
                }
            },
            {
                "quantity":2,
                "item":{
                    "id":125,
                    "name":"Novacrystal",
                    "description":"High quality Lightcrystal. Highly coveted for its rarity, it's used for only the finest of metalworking.",
                    "rarity":0,
                    "sellPrice":0,
                    "buyPrice":0,
                    "carryLimit":0
                }
            },
            {
                "quantity":2,
                "item":{
                    "id":173,
                    "name":"Wyvern Gem",
                    "description":"Throughout a wyvern's life, impurities gather and form this peculiar gem.",
                    "rarity":0,
                    "sellPrice":0,
                    "buyPrice":0,
                    "carryLimit":0
                }
            }
        ]
    }
}

Some monsters not returning any rewards

Hey Im sort of new to this and only recently started using the API so maybe this has been asked somewhere else and I have not seen it

Currently there are quite a few monsters that simply do not have any rewards. For example Kulu Ya Ku or Jyuratodus.

I'm sure you are working on a ton of things since the master rank stuff is coming

Unable to connect to weapons endpoint

Hey Tyler,

First of all, awesome API you built!

I'm having some issue with your endpoint at https://mhw-db.com/weapons

I am receiving an error:
Failed to load https://mhw-db.com/weapons: The 'Access-Control-Allow-Origin' header contains the invalid value ''. Origin 'http://localhost:3000' is therefore not allowed access. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

But, I am able to retrieve response successfully from https://mhw-db.com/armor

Do you think this is something from my (client) side, or do you need to allow CORS from server?

Let me know,

Thanks!
Karis

Issue with Fire and Ice (dual blades)

Hi! First let me thank you for your work on this api, it’s helping me build a tool.

Now for the bug itself: the weapon ID 343, Fire and Ice, shows only the element Ice in it but its known to have Blast element as well, which isn’t returning in the element array. Am I missing something? I don’t know if it’s happening only with this weapon but I thought reporting would be good to check.

Thanks again

iceborne monster data not complete

Hello, either im experiencing some kind of error or more than half of the iceborne monsters are missing, for example: monsters/46 and 47 are not found but i can access monsters like rajang or viper tobi kadachi.

Exact Sharpness Values

I have the exact values for each weapon for each level of sharpness.

Here

Sorry it isn't organized better, I did this like half a year ago at this point when the game first came out, so it's also going to be missing any of the weapons that were added after the game's release (deviljho and onwards).

I can guarantee that these values are the true number of attacks per sharpness level though, done by scraping data from a japanese wiki and cross-referencing with in-game testing.

At one point I was going to try to make an api, but I got way too lazy, so hopefully you can use this info better than I could.

Server currently down

The API server and image assets server are both currently down due to a payment issue in AWS. The payment issue has been resolved, but the servers will remain down until AWS support can restore the account. I'll post any updates on this issue once I have more information.

Assets scraping

Is it possible add the assets when scrapping as well?
Most of the data on wiki comes with relevant assets.
If you need help with service like Amazon S3 let me know.

Affinity missing

I noticed that none of the weapons list affinity. It seems that you do label affinity as a possible key in the attributes; however, it looks like no weapons list affinity. For example, Maladay's Kiss 3 json object below doesn't list affinity when it should be 20% affinity. For display it would be cool to have to appear in the data as a decimal but being a whole number is a non issue.

{ "id": 30, "slug": "maladys-kiss-3", "name": "Malady's Kiss 3", "type": "great-sword", "rarity": 6, "attributes": { "attack": 768, "elementDamage": 450, "elementType": "Paralysis", "sharpnessRed": 20, "sharpnessOrange": 15, "sharpnessYellow": 15, "sharpnessGreen": 25, "sharpnessBlue": 12 }, }

Buy price for Crafting

I can't see anything for this in the database. There is a crafting cost associated with items, that I don't have access to through this API. Could we get this functionality?

image

(Question) Return a compact version of a resource

So I see that you have added the set bonus, perfect timing I must say. But I wanted to know if it is possible to return a subset of the data.

Take https://mhw-db.com/armor/sets/111 for example.

It would be nice to have either of the following

The expected response for 111 set would be the following

{
"id":111,
   "name":"Diablos Alpha",
   "rank":"high",
   "pieces":[487,488,489,490,491],
   "bonus":{  
      "id":12,
      "name":"Diablos Mastery",
      "ranks":[  
         {  
            "pieces":2,
            "skill":{  
               "id":315,
               "slug":"bludgeoner-rank-1",
               "level":1,
               "description":"Raises attack as your weapon loses sharpness. Also boosts ranged weapon melee attacks and odds of stunning.",
               "modifiers":[  

               ],
               "skill":116,
               "skillName":"Bludgeoner"
            }
         }
      ]
   }
}

Basically just removing the full Armor payload and just return the ids.

Errors in some armor data

Hello, so, building a webapp based on your API I found some misplaced armor-type items, here is the list

Low rank

153 : Kirin Leg Guards => Shoudl be legs not gloves

High rank

602 : Kirin Leg Guards Alpha => Should be legs not gloves
607 : Kirin Leg Guards Beta => Should be legs not gloves
700 : Vaal Hazak Mail Gamma => Should be chest not head
726 : Xeno'jiiva Claws Gamma => Should be gloves not head

Master Rank

1058 : Ruinous Coil Beta + => Should be waist not chest
1197 : Esurient Vambraces Beta + => Should be gloves not chest
1219 : Damascus Greaves Beta + => Should be legs not waist

Is a quick fix possible ?

Large Queries Deliver Partial JSON

When attempting to fetch a large query, such as https://mhw-db.com/armor, the request just cuts off in the middle, producing invalid JSON, and an incomplete request. The cutoff point is right in the middle of a word:

"description":"Pukei-Pukei material. Obtained by carving its se

This used to work fine, and would deliver the list of armor.

Add Skill Name to Skill property

Could you please add the Skill Name when returning the Skill property? I can parse it using the slug, but it would be awesome if the name returned along with the other properties.

Add more information to Decorations

Hi Tyler,

Since you are going to restructure the charms, I was thinking that maybe you could follow the same structure for the Decorations as well.

Something like:

{
    "name": "Antidote Jewel 1",
    "rarity": 5,
    "slot": 1,
    "id": 1,
    "slug": "antidote-jewel-1",
    "skills": [
        {
          "skill": 1,
          "level": 1,
          "description": "Reduces the duration of poison by 30%.",
          "id": 1,
          "slug": "poison-resistance-rank-1"
        }
      ]
  ]
}

What do you think?

Attributes Interfaces issues

ElementTypes:
"Cannot initialize ElementTypes from invalid String value Ice / 210 Blast"
Ice / 210 Blast is not part of the types.
PhaiTypes
case Power = "Power Element Phial"
case PowerPhai = "Power Phial"
power phial in 2 different variations.

will update if i find more.

Weapons decoration slots && Armor decoration slots (weird data)

This shouldn't be living inside attributes well at least not like it is now.
More practical arrangement is
slots:[
{rank:1},
{rank:2},
{rank:3}
]
if array empty , item has no decoration slots.
else iterate array and do what you want.
currently it's really weird.
I need to arrange assets according to the data but have to write weird logic to do so.
screen shot 2018-04-13 at 22 32 30

Switch Axe wrong types..

"Cannot initialize PhaiTypes from invalid String value Poison Phial 420"
"Cannot initialize PhaiTypes from invalid String value Poison Phial 300"

and so on.
I think something got mixed in there.

Dragon Resistance Skill modifiers for resistDragon missing

The SkillRanks for the Dragon Resistance skill don't contain the modifiers for "resistDragon" for all three ranks, only the "defense" modifier that is applied on the third rank.

https://mhw-db.com/skills?p={"id":true,"slug":true, "ranks":true}&q={"id":"24"}

returns

[
    {
        "id": 24,
        "slug": "dragon-resistance",
        "ranks": [
            {
                "id": 74,
                "slug": "dragon-resistance-rank-1",
                "skill": 24,
                "skillName": "Dragon Resistance",
                "level": 1,
                "description": "Dragon resistance +6",
                "modifiers": {}
            },
            {
                "id": 75,
                "slug": "dragon-resistance-rank-2",
                "skill": 24,
                "skillName": "Dragon Resistance",
                "level": 2,
                "description": "Dragon resistance +12",
                "modifiers": {}
            },
            {
                "id": 76,
                "slug": "dragon-resistance-rank-3",
                "skill": 24,
                "skillName": "Dragon Resistance",
                "level": 3,
                "description": "Dragon resistance +20 Defense +10",
                "modifiers": {
                    "defense": 10
                }
            }
        ]
    }
]

Weapon types & Affinity

Some of the weapon have wrong types/ wrong id of previous upgrade
Also weapons doesn't have affinity fields. Maybe can be future request.

Resource slug problem

The armor and item can't seem to be parsed through the slug but only the id.
I'm really new to programming and I'm trying to write a small program for my cousin to check on the items as well as practice my coding skills.
Any advice on how to solve this problem?
(Great work by the way! The weapon and decoration parts are working as smooth as butter)

Is it possible to combine query with projection?

I can query fine and I can project fine, but I can't figure out how to combine both. I only need a small subset of information at the moment, and I'd rather not require all the extra time to upload/download tons of information my program isn't using. Hopefully it's just some syntax that I'm missing?

And if so, can it go into the docs somewhere (or is it already there and I just missed it)?

(Refactor) Armor and Weapon refactor

Note that this can be done at the top-level or attributes. I currently just have it at the attributes in my script that restructures the data but anyways.

Weapon

Additions are element , sharpness, and images.
For images i've added base and preview, in some cases fextralife.com may not have a male or female but have previews and base images, so this allows to substitute. Another solution is to if imageMale (maybe change to male) and imageFemale(maybe change to female) are not found to just supply the base image so that these two keys are always populated. I know you already started working on the images so may have already thought of this use case.

{
    "id": 6,
    "slug": "buster-blade-3",
    "name": "Buster Blade 3",
    "type": "great-sword",
    "rarity": 5,
    "attributes": {
      "attack": 672,
      "element": [
        {
          "hidden": true,
          "damage": 240,
          "type": "Poison"
        }
      ],
      "sharpness": {
        "red": 25,
        "orange": 12,
        "yellow": 13,
        "green": 20,
        "blue": 5
      }
    },
    "images": {
      "preview": "https://monsterhunterworld.wiki.fextralife.com/file/Monster-Hunter-World/buster_blade_96x96.png",
      "base": "https://monsterhunterworld.wiki.fextralife.com/file/Monster-Hunter-World/buster_blade.png"
    }

There is already an issue for resistances so I will only speak about defense, below I have a datamodel that was build by using link @CarlosFdez kindly provided in his issue

{
 "id": 211,
    "name": "King Beetle Brachia Beta",
    "type": "gloves",
    "rank": "high",
    "rarity": 5,
    "defense": {
        "base": 42,
        "max": 64,
        "augmented": 80
      }

}

Armor defense stat range

Is there any interest in including the range in the defense stat that the armor pieces have? Like the non-upgraded base defense value and the fully upgraded end value of them?

I could really use the info to show the result of the mixed set on my set builder/sharer.

Monster Pictures/Symbols

Hey LartTyler,

Would it be possible to add a database of pictures of the monsters? Thought I'd ask. Thanks

No Monster Data

It would be fantastic to be able to pull through data on monsters. Any chance this is in the pipeline?

Missing skill info

Name: Agitator
Info : Increases attack power and affinity when large monsters become enraged
LEVEL 1 :
While active, grants Attack +4 and increases Affinity by 3%

could you add skill info please?

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.