Giter VIP home page Giter VIP logo

hearthstone-deck-tracker's Introduction

Hearthstone-Deck-Tracker

Build status

Hearthstone Deck Tracker is an automatic deck tracker and deck manager for Hearthstone.

Installation

Community & Troubleshooting

Contributing

Features

An in-game overlay:

Overlay

The app:

Tracker

  • Tracks:
    • Cards left in your deck or cards drawn from your deck.
    • Your handcount, deckcount and draw chances.
    • Cards played by your opponent.
    • Your opponent's handcount, deckcount and probablities of him having/drawing cards.
    • How long your opponent had each card in his hand and what cards have been mulliganed, stolen or returned.
  • Timer for the current turn and total time spent for you and your opponent.
  • The tracker tries to automatically select the deck you are playing.
  • The cards and timer can either be displayed in an overlay (see screenshot) or in extra windows (Options > General > Additional Windows)
  • Deck Manager:
    • Import decks from websites: arenavalue, hearthstats, hearthpwn, hearthhead, hearthstoneplayers, tempostorm, hearthstonetopdeck and hearthnews
    • Circumvent the 27 deck limit: Saved decks can be exported to Hearthstone. (My Decks > More...)
    • Decks can be filtered by custom tags and sorted by name, date and tags.
    • Set notes for each deck (My Decks > More...)
    • Create screenshots of decks (My Decks > More...)
    • Share your decks by exporting them as xml files or id-strings (My Decks > More...). Both can be imported via New Deck > Import.
  • Notifications: get notified when a game or a turn starts (either by the tray icon flashing or hearthstone popping up)
  • Customization: Almost every feature can be turned on/off separately.
  • Extensible via plugins: available plugins
  • Stats per deck:
    • Track the result of each game (win/loss), opponents, game mode and more
    • Win/loss rate vs each class.
    • Details for each game (cards drawn, played, etc.).
    • Select which game modes to track (Options > Other).
    • Import your opponent's (partial) deck from a tracked game as a new deck.

Stats

License

Copyright © HearthSim. All Rights Reserved.

hearthstone-deck-tracker's People

Contributors

aaroncampf avatar andburn avatar anonymous555 avatar azeier avatar becelot avatar beheh avatar chucklu avatar cljunge avatar dvide avatar edipo2s avatar ericrbg avatar f4rnham avatar herr-sepp avatar jindaxia avatar jonysegal avatar joolean avatar joshtabak avatar judge2020 avatar ko-vasilev avatar mattish avatar mgiuffrida avatar michaelb7k avatar olloff avatar quark-zju avatar riqq avatar tenchi2xh avatar tomasliutvinas avatar willmiao avatar zachwlewis avatar zawodowiec1532 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  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

hearthstone-deck-tracker's Issues

Card lists do not rest after game

Version: 0.2.8

When done playing a game the decks do not reset. I have set the application up so it should not show decks in menu (which it does after the game), and to hide the overlay if hearthstone is in the background (which works fine) and I have not checked the "Don't reset..." checkbox.

A few requests

love this addon! thanks for the work on this

Have a few feature requests:

  1. I find marks more useful, and age not as necessary, so it would be nice if it was possible to show enemy card-marks if youve hidden the card-age option
  2. I like to use the hide if HS in bg option, but I have 2 monitors so its a bit problematic. Is it possible to keep the overlay onscreen if im doing something on my second monitor? Currently, HS stays open when I make my second monitor active, but the overlay disappears because HS is not my currently active window.
  3. I love the export to HS option, but when creating the deck is it possible to use golden cards if available?

Labels blurry

After adding a dropshadow to all the labels on the overlay, the player handcount-label and deckcount-label are blurry (none of the others are) and I can't seem to figure out why...

Overlay not the same size as Hearthstone

This seems to be an issue with notebooks for some reason. Also something I couldn't manage to reproduce.
Apparently the overlay is bigger that the actual hearthstone window, causing the playerdeck to be displayed out of place (or not at all).

Also setting the custom width/height values to hearthstones resolution does not "fix" the problem but setting them to about 80% of that does.

For reference: http://www.reddit.com/r/hearthstone/comments/26seey/automatic_deck_tracker_and_more_with_ingame/chv32lx

Hiding own deck

Been a bit too busy to make the change myself, but it seems trivial to add the "hide own cards" option. This is relevant if I only want to see my draw chances or cards in hand, rather than all the cards I've drawn (same as the "hide enemy cards" option). Make sense?

Enemy hand overlay bugged

I was just playing some zoo for 2 Warlock wins (quest) and then I noticed the enemy hand overlay bugged out:

image

Request for "Deck Notes" multi-line edit box

Enhancement Request:
Add a multi-line edit box for each deck.

Context:
Deck Tracker has allowed me to quickly change and play a lot more decks than I used to. I like to think I have a good memory, but honestly I need a refresher on each deck before playing it. To accomplish this, I've been using spreadsheets, but it's getting a bit out of control.

Benefits:
Allowing the player to quickly enter and/or review information related to the deck they are looking to play. This could include information such as:

  • Major combos and lethal conditions
  • Best / Worst matchups
  • playstyle (go for face vs control board vs other general style)
  • Mulligan notes

Thanks for your consideration.

Golden vs Non Golden

Hello, i see the hand trying to click on the golden version of the card AFTER alraedy choosing the non-golden version, so it ends up not ever choosing a golden card.

PS. sorry for grammar, english its not my main language.

Mac OS version?

Any chance you can create a mac version of this application?

"Additional Windows" not following settings on startup

When I start up the app, the additional windows open but they show the draw chances percentages even though I have them hidden. So I go into options, uncheck "Hide Draw Chances" then check it again, and they disappear until the next time I start the app.

Reorder decks and favs

Hi! You are doing an awesome work with this, congrats! Have you thought in adding some arranging capabilities (maybe in alphabetic order ftm?) and to add a new category labeled favorites? I use your program as deck archive and it would be great to highlight some decks and "hide" the older ones without delete them :)

Opponent Deck Prediction

Officially logging this and assigning it to me, though anyone else can feel free to take.

Feature:
Depending on cards played, hero powers, and the hero class itself, use a database of known common deck archetypes to predict the most likely decklists for opponents.

Step 1:

  • Create decklists with alternative card choices based on most commonly played decks (not sure at the moment of the best source of this. Possible inclusions are aggregation sites like Hearthpwn, major tournament decklists, etc.)
  • This can be automated in the future for auto-meta adjustments.

Step 2:

  • Upon each opponent action (include the Power logger here to get hero powering), check against the database for each hero to determine what the most likely decklist is

Step 3:

  • Show the decklist below or in conjunction with the cards already played, somehow taking alternative card choices into account (i.e. Argent Commander vs. Leeroy Jenkins in some builds).
  • Differentiate between these cards and the cards common to basically every decklist (Swipe is always in a Druid deck).
  • Perhaps show all the class cards as well. (useful for arena)
  • On the topic of Arena, consider utilizing tools like Trump's Arena Value list to guess decklists (more difficult)

Step 4:

  • Parse each card and determine the maximum damage that one can expect from the opponent next turn (i.e. Swipe will be 4/1, but on turn 6, Thalnos + Swipe is 5/2).
  • This can be expanded to your own deck, including a lethal-o-meter (more difficult)

Tracker crashing on start

I got two reports of this today, with the following exception:

System.Windows.Markup.XamlParseException: 
Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception. ---> 
System.IO.DirectoryNotFoundException:
Could not find a part of the path '[...]\Deck Tracker\Images\HearthstoneDeckTracker.ico'.

Someone got an idea what the problem might be?

Request: Allow "Hide if HS in background" timer exclusion

Hey there. I know the title is not very well written, but hear me out.

Usually I run the software with the option ""Hide if HS in background". However, it would be really great if I could exclude the Timer from being hidden. That way I could do my web browsing while it's the oponent's turn and always have an eye out for the non-intrusive timer, which would still be in overlay. I could even let my own turn run and decide to get back to the game when I have 50 seconds left or so.

I hope I managed to get my idea across. Please let me know if I didnt. I'd be happy to donate if you managed to implement this :)

Adding timers to the overlay

Add the following timers along with the possibility to position them around the overlay:

  • Turn timer
  • Player spent time
  • Opponent spent time

I am currently working on this issue.

Crashes on startup

Have been using the program for a week or two without issues, but I just updated to v0.2.15 and now, every time I try to start the program, it instantly crashes. Here's my crash report:

#### 2014/06/21 22:49:11

System.Windows.Markup.XamlParseException: The invocation of the constructor on type 'Hearthstone_Deck_Tracker.MainWindow' that matches the specified binding constraints threw an exception. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 23.235.46.133:443
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at System.Net.WebClient.DownloadString(String address)
at Hearthstone_Deck_Tracker.Helper.CheckForUpdates(Version& newVersionOut)
at Hearthstone_Deck_Tracker.MainWindow..ctor()
--- End of inner exception stack trace ---
at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
at System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
at System.Windows.Application.DoStartup()
at System.Windows.Application.<.ctor>b__1(Object unused)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Arena decks

It would be nice to have an option to save my deck as an arena deck =3

Overlay disappearing

Hi,

The overlay often disappears, which is only fixable by restarting the tracker. It isn't on top anymore in that case; I can slightly see it when I minimize and restore my hs window. I'm using 2 monitors, HS isn't fullscreen and I often switch monitors.

Yves

Hand count not displaying correctly

Sometimes the hand count says I have 5 cards on turn 1 and sometimes it says I have 3 when I have 6. Not sure what is causing the issue but I figured I would report it.

Issues with Mukla's Bananas

  • There is no image for Bananas in the opponent decklist (not really a bug).
  • I don't know how to reproduce this but sometimes the "Stolen" card-mark disappear or doesn't appear at all to Bananas. This generally create some weird stuff in the opponent decklist (some opponent's card written in green as if they were stolen, multiple lines for Bananas with some written in white as if it is not regnonize as a stolen card, ...).

Feature Request: Events

I use Open Broadcast Software which allows you to set hotkeys to select scenes. I use a scene for when I'm not in a game and a scene for when I'm in a game. Since HSDT knows when games start and when games end, it would be extremely cool (and lazy) to have HSDT press a configurable hotkey when these events happen.

Overlay disappearing when clicking out of Hearthstone

Haven't had that happen myself and wasn't able to reproduce it either.

For reference: http://www.reddit.com/r/hearthstone/comments/26seey/automatic_deck_tracker_and_more_with_ingame/chwgg33

So.. an option would be to regularly check if the overlay is actually still topmost, but I don't think that a good one. If HS does the same this ends up being weird.
The best way would probably be to draw the overlay on HS with e.g. DirectX instead of having a window ontop of it. Thoughts?

Aaaalright, so I can reproduce this by spaming Win+D a couple of times.. The overlay stays ontop if i just keep setting it to foreground all the time. Though.. Win+D spam messes stuff up pretty hard lol. The hearthstone window seems to be inbetween my taskbar and my Windows start button until I click the button.

btw: don't spam win+d if you dont want to close and repoen all your windows

Automatic Deck Recognition

This is a tough one, but a very big feature.

The only options I see are:

  • Image recognition: screenshot of the decklist
  • Image recognition: in-game identification
  • Asset logger: not really possible due to inability to detect quantity of cards
  • TCP: breaks TOS compliance, but easiest and most efficient
  • Using common decklists from Issue #6, which the player can then tweak.

Other than that, it's just manually building the lists as it stands.

The last option is the easiest to implement I think, though image recognition would be pretty nice to have. There are a few sources that do this already which we could adapt from.

Feature Request

Thank you for adding language support but would it be possible to make it so that if you are running the game on a different language it would show the cards name in that language on the sidebar?

Crashes on deck save

Here's the deck I am trying to save, and the resulting error as it stops responding immediately when I hit Save:

screenshot 102
screenshot 103

Stream related issue.

I'm trying to show my deck through the window option with OBS, but the window is all black

Game breaking issue

This application is TOO AWESOME. You are doing TOO MUCH GOOD WORK. It is probably THE BEST and MOST EXCELLENT Hearthstone add-on ever.

Hope that made you smile whilst looking through bugs.

Thanks devs!

Massive Lag

I'm noticing a >20 second lag when opening the application, and clicking on certain options. I've traced it to these lines (OverlayWindow.xaml.cs):

private void SortViews()
{
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(ListViewPlayer.ItemsSource);
//view.SortDescriptions.Add(new SortDescription("Cost", ListSortDirection.Ascending));
//view.SortDescriptions.Add(new SortDescription("Type", ListSortDirection.Descending));
//view.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
CollectionView view1 = (CollectionView)CollectionViewSource.GetDefaultView(ListViewEnemy.ItemsSource);
//view1.SortDescriptions.Add(new SortDescription("Cost", ListSortDirection.Ascending));
//view1.SortDescriptions.Add(new SortDescription("Type", ListSortDirection.Descending));
//view1.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
}

Commenting out the view.SortDescriptions.Add lines completely eliminates the lag. Anyone else experiencing this?

"EXPORT TO HS" Golden basic cards not chosen [v0.2.11]

The golden cards that are chosen when using the "EXPORT TO HS" feature is only choosing golden expert cards, and not golden basic cards. For example, I have both Hunter's Tracking and Timber Wolf in golden format, but the basic version was added to the deck using the export feature.

Hide overlay elements only for additional windows

I'd like to see the card-age and other hand related information, but have the decks appear in floating windows. I can't find a way to hide only the portions of the overlay that are shown in additional windows.

I can work around this by moving where the overlays normally are placed (although a hassle to peek under them).

Probability for the opponent having a card in hand

I think I got it right now but can anyone confirm/deny?

double DrawProbability(int copies, int deck, int draw)
{
    return 1 - (BinomialCoefficient(deck - copies, draw) / BinomialCoefficient(deck, draw));
}

called as (for 2 copies left in the deck)

DrawProbability(2, (cardsLeftInDeck + handWithoutCoin), handWithoutCoin + 1);

I know this doesn't take into account how long cards have been in the hand already, but it should suffice as an estimate.

Doesn't detect the begin/end of Arena matches

When playing arena with the tracker, the game state is tracked in the overlay correctly for the first game, however it doesn't seem to reset between games.

The subsequent games then all proceed to append to the same game history (so the total cards played from all games starts tallying up in the overlay).

From a quick look at your sources and my log files (sample size of 1 of each play mode, so I could be way off the beaten track), my Arena games logged "OPPOSING PLAY (Hero)" first, whereas Play-Mode games log the "FRIENDLY PLAY (Hero)" first.

Using Version: 0.2.11

[v0.2.17] Crashes when opening for first time

I used this awesome program on my Win8.1 laptop while I was on a business trip. When I got home and tried to run it on my home Win7 computer, it won't even open the first time. I've gone all the way back to 0.2.12 to see if it was a bug introduced in a newer version with no luck. When it crashes, Windows gives me this:

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: hearthstone deck tracker.exe
Problem Signature 02: 0.1.0.0
Problem Signature 03: 53a727e9
Problem Signature 04: mscorlib
Problem Signature 05: 4.0.0.0
Problem Signature 06: 4ec9f77a
Problem Signature 07: 1204
Problem Signature 08: 89
Problem Signature 09: System.Windows.Markup.XamlParse
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

I'm open to try anything you need me to.

Deck Creation with Left Handed Mouse Buttons

I have my primary and secondary buttons switched via the Mouse Control Panel. The Export to Hearthstone button does not work for me. When I revert that change, deck creation works.

Given that I mouse left handed, I'd prefer to keep that option on. The seemingly best fix would be to auto-detect that option, but it might be easier/safer(if detection is hard) to add an option to the Tracker for anyone who wanted to switch the buttons.

Allow runing w/o Hearthstone installed

Having Hearthstone installed shouldn't be mandatory, i.e. Tracker should be able to run in "offline" mode. That would be useful for deck importing, constructing and exporting to a format which can be imported on other PC that has HS installed.

Just disable "export to HS" option until the Hearthstone.exe location is set (and add setting the exe as an option).

Prerequisite: option to export into format(s) Tracker can import from.

Hand count sometimes incorrect

Was playing Paladin, it wasn't detecting that I had the first Hammer of Wrath in my hand. (the second one worked fine) Bringing my card count down to -1 I cannot remember if I started with hammer of wrath or not but I don't think I did.

Will get more details.

Clone Deck

It would be great if we can clone the deck or save the deck using "Save as.. // Save as new deck."

I would suggest warnings for certain common plays

I'm not sure how to add "labels" to label this as "enhancement" :( but

If you remember the old school "Deadly boss mods" addon for World of Warcraft there would be a big popup and play a sound when the boss was about to do something crazy

I would suggest having the option for your program to warn the player of incoming common plays

for example when playing a mage 1-3 turns before they could potentially get 7 mana the program would flash up on screen "!WARNING! (1-3) turns until possible Flamestrike!" or at 4 mana "!WARNING! (1-2) turns until Possible Polymorph!"

I realize that you are currently considering a system that would predict your opponent's deck, I believe this would be a good place to start. :)

Exporting Cards to HS

You added the ability for the export deck feature to check for gold cards, can you add the ability to prefer gold cards when exporting a deck?

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.