HearthSim / Hearthstone-Deck-Tracker

A deck tracker and deck manager for Hearthstone on Windows
https://hsreplay.net/downloads/
4.7k stars 1.11k forks source link

Card Report Details Tooltip #1790

Open JonnyMcFire opened 8 years ago

JonnyMcFire commented 8 years ago

Hello,

Could you possibly add the information you gain from the log to the card tool tip?

Here are some possible use case scenarios to help explain my thought process.

Scenario 1:

  1. Opponent plays Earth Shock
  2. I mouse over Earth Shock on the overlay
    • Displays Elements (Detailed information on what the card targeted is displayed)
      • what turn it was played
      • how much damage it did
      • what the remaining life total of the minion targeted

Scenario 2:

  1. I play Defender of Argus
  2. I mouse over Argus on the overlay
    • Displays Elements
    • Element: BattleCry results
    • Display result of buffing the minion
    • ([4/4 -> 5/5][+Taunt][Azure Drake])
    • 0 - 2 of these elements are displayed
    • I later attack an unbuffed Knife Juggler with my unbuffed Argus
    • Mouse over Argus
    • Displays Elements
    • Element: BattleCry results
    • Element: Attack Event 1
    • Target
    • Turn Number
    • Damage
      • Dealt
      • Received
      • Possibly zero or reduced
      • Result
      • Knife Juggler died or has x remaining health
      • Argus died or has x remaining health

I can flesh out some more scenarios at another time. I think to do this, you can expose some of the same functionality you used for the replay and just add to the cards list of actions as the game progresses. .

Thanks for taking the time to evaluate this idea.

-Jonny

JonnyMcFire commented 8 years ago

Is this a bad idea? Are you tired of me posting it? Why no comments? I think it would be a great idea and keeping these statistics over time would help show the value of different cards based on the player.

azeier commented 8 years ago

It's also a considerable amount of work and just not the highest priority at the moment (bad combination :)), but it's definitely a good idea and I would like to see it added at some point.

JonnyMcFire commented 8 years ago

I have your source and would like to help, but I am not very good at MVVM so it is difficult for me to understand how to add the elements correctly. I can implement the datastructures and decouple the logging code from the logging UI to save the events for each card on the card itself.

I have thought further on how to add this functionality and I think that the major components would be: A Card Manager that creates a unique ID for each card played or seen and returned to a deck. Card Manager captures each time a card is involved in any action, taking this information from the log. Card tool tip is extended to have options for viewing card information as it currently is implemented, and another option for showing card history. New Card Tool Tip for card history.

riQQ commented 8 years ago

All cards are entities and entities have unique IDs, so there's no need to create unique IDs (see GameV2.cs and Entity.cs).