Git Product home page Git Product logo

hogo's Introduction

hogo

hogo is a command line tool for calculating profits you can make by crafting items. It does so by downloading the current auction house state and computing the production costs for every recipe of a given profession.

Requirements

This program requires python3 with the libraries pyyaml and requests. It should work on any operating system.

Usage

To use this program you first need to download the game data (i.e. professions, recipes, etc.).

Configuration

But before you can do this you need to create a hogo.yml file which serves as a configuration file. To create that file first run:

$ python3 hogo config init

This will prompt you to enter some configuration data:

  • Server region: one of the following: us, eu, ch, kr, tw or cn
  • Data language: the locale of your language, e.g en_US, en_GB, de_DE, fr_FR
  • Realm: the slug of the realm you want to fetch the ah info from (a slug is the lowercase name of a server without any special chars, e.g. Vol'jin becomes voljin)
  • API client ID: The ID of your API client (you can create one at https://develop.battle.net/access/)
  • API client secret: the secret of that API client

If you want to change these settings later, you don't need to create a completely new configuration. For temporary changes you can just pass the following arguments right behind the hogo in the command:

  • --language or -l to set the language/locale
  • --region or -r to set the region
  • --realm or -s to set the realm slug
  • --client-id or -c to set the API client ID
  • --client-pass or -p the API client secret

To make that change persistent you can call config update. Example to change the realm to Blackrock

$ python3 hogo -r blackrock config update

Besides these configurations you also to configure some things manually. Generally speaking, the game data will be downloaded dynamically from the Blizzard API.

But this data is rather limited, therefore some information need to be given by hand. One such information is which items can be bough of a vendor. This can be submitted via different config commands. As they require to lookup the name of certain items, these features are only available after the download of the data (see next section). Too add vendor items just use the following command:

# if language is en_US
$ python3 hogo config vendoritems add "Orboreal Shard"
# de_DE
$ python3 hogo config vendoritems add "Orborealer Splitter"

If you don't add these configurations, the program can only look at the AH prices for computing the crafting costs.

Other useful configurations is professions, with which you can set your default professions so you don't have to add them to the command, and buyitems with which you can specify items that should always be bought and not crafted, even if crafting them yourself is cheaper (because it is just a waste of time):

$ python3 hogo professions add "Shadowlands Leatherworking"
$ python3 hogo buyitems add "Heavy Callous Hide"

Again these names have to be given in the currently selected language

Loading game data

To download the game data, you can use the update command:

$ python3 hogo update

This takes a while. To update only certain parts of the data you can use sub commands, which you can look into with

$ python3 hogo update --help

By default it downloads only information about the newest expansion (i.e. only current professions). See --help for further information on how to download more.

Data can be downloaded for multiple languages without any conflict. so you can just add data in other languages via:

$ python3 hogo -l de_DE update

Profit computations

So after the config was created and the data is downloaded, you can start to use the profit computation of this feature. This is accessible via the command auctions.

First you need to download the auction data. This can be either done with:

$ python3 hogo auctions update

but can also be combined with any other command by supplying the -u flag.

To compute the profit use the profit subcommand:

$ python3 hogo auctions -u profit

This will compute the profits for every recipe for any profession in your config.

You can configure this by using the following flags:

  • --professions or -p compute the profit margins for the following professions (config to also consider the configured professions, otherwise only check out the ones given)
  • --buy or -b to specify buy items, which will be additional to the ones in the configuration
  • --vendor-items or -v to specify vendor items additional to the ones in the configuration

Example, compute profit margins for only alchemy with buying Rune Etched Vial from the vendor:

$ python3 hogo auctions -u profit -p "Shadowlands Alchemy" -v "Rune Etched Vial"

results in:

[...]
Spectral Flask of Power: Price: 647.0g, 90.0s Costs: 625g, 3s Profit: -10.0g, 47.0s, 50.0b
    Rune Etched Vial: 50s * 1 (50s) from AH
    Nightshade: 37g, 11s * 3 (111g, 33s) from AH
    Rising Glory: 17g, 31s * 4 (69g, 24s) from AH
    Marrowroot: 43g, 44s * 4 (173g, 76s) from AH
    Widowbloom: 38g, 55s * 4 (154g, 20s) from AH
    Vigil's Torch: 29g * 4 (116g) from AH
Spectral Flask of Stamina: Price: 250.0g Costs: 219g, 86s Profit: 17.0g, 64.0s
    Rune Etched Vial: 50s * 1 (50s) from AH
    Nightshade: 37g, 11s * 1 (37g, 11s) from AH
    Rising Glory: 17g, 31s * 3 (51g, 93s) from AH
    Marrowroot: 43g, 44s * 3 (130g, 32s) from AH
Spiritual Healing Potion: Price: 10.0g, 41.0s Costs: 8g, 84s Profit: 1.0g, 4.0s, 95.0b
    Rune Etched Vial: 50s * 1 (50s) from AH
    Death Blossom: 4g, 17s * 2 (8g, 34s) from AH
Spiritual Mana Potion: Price: 9.0g, 49.0s Costs: 8g, 84s Profit: 17.0s, 55.0b
    Rune Etched Vial: 50s * 1 (50s) from AH
    Death Blossom: 4g, 17s * 2 (8g, 34s) from AH
[...]

As you can see Rune Etched Vial is currently cheaper in the AH then from the vendor.

You can also combine professions:

$ python3 hogo auctions -u profit -p "Shadowlands Enchanting" "Shadowlands Leatherworking"

Gives you (amongst others) the following:

Boneshatter Armguards (Rank 1): Price: 4590.0g Costs: 12857g Profit: -8497.0g, 50.0s
    Enchanted Heavy Callous Hide: 2014g, 76s * 3 (6044g, 28s) from Crafting: Enchanted Heavy Callous Hide
    Heavy Callous Hide: 999g, 90s * 3 (2999g, 70s) from Crafting: Heavy Callous Hide
    Heavy Desolate Leather: 23g, 40s * 8 (187g, 20s) from Crafting: Heavy Desolate Leather
    Pallid Bone: 2g, 59s * 10 (25g, 90s) from AH
    Orboreal Shard: 449g, 99s * 8 (3599g, 92s) from AH

As you can see Enchanted Heavy Callous Hide is cheaper to produce yourself then it is to buy from the AH.

For further information see the --help page of each (sub-)command

hogo's People

Stargazers

 avatar

Watchers

 avatar  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.