• 0

    posted a message on Ardent Defender Tracking Addon
    Any sugestions?
    I'm not to happy with listening to "UNIT_COMBAT" and I have no idea
    how to write the FuBar stuff, saved vars and the localisation ...

    -- DELETED --
    Posted in: Addon Ideas
  • 0

    posted a message on Ardent Defender Tracking Addon
    The challenge:
    Creating an addon that keeps track of the Paladin talent 'Ardent Defender' and
    presents the gathered data in a readable fashion.

    What is 'Ardent Defender'?
    Ardent Defender
    Rank 0/5
    Requires 30 points in Protection Talents
    When you have less than 35% health, all
    damage taken is reduced by 6/12/18/24/30%.


    Basic implementation, ideas:
      The threshold at witch Ardent Defender kicks in has to be calculated.
      An event has to be found, that triggers when the max hp changes.
      A guessed event for this could be "UNIT_MAXHEALTH"

      Events have to be found, that trigger for incoming damage.
      If we are in the range for AD to kick in, before the damage is
      landing, we have to calculate:
      • The damage that would have landed if we didn't have Ardent Defender
      • The damage that Ardent Defender mitigated
      • Would we have died on this hit, if we didn't have Ardent Defender
      • Would we have died on the last string of hits, if we didn't have Ardent Defender?


    Now the last point may need some explanaitons.
    For sake of simplicity, let's take a npc that hits
    with 1000 damage, every time. Our Paladin is specced
    Protection with 5 points in Ardent Defender and has
    10000 Hitpoints.
    That means Ardent Defender kicks in, if he is in HP
    range of 1 to 3499 and it reduces his incoming damage
    by 30% (1000 damage becomes 700).

    'Would we have died on the last string of hits, if we didn't have Ardent Defender?'
    Let's asume we are sitting at 3000 HP, well below the
    threshold.
    The first hit lands and brings us down to 2300 HP.
    We didn't die, AD did not save us since even a 1000 hit
    wouldn't have killed us. It mitigated 300 damage though.
    Let the npc happily hit on us, without any heals.
    We're going down to 1600, 900, 200, -500.
    We have taken 5 Hits, bringing us down to -500 HP,
    we're dead.
    Now if we didn't have Ardent Defender, begining at 3000 HP.
    The npc lands 1000 damage, bringing our Paladin down to 2000,
    1000, 0, we're dead. We have taken 4 Hits.

    In this scenario, Ardent Defender saved us at hit 4, if we
    would have been healed at that time. 200 HP with AD vs 0 HP
    without it. This has to be accounted for.

    Now there are implementations of an Ardent Defender Tracker:
    FuBar http://maintankadin.failsafedesign.com/viewtopic.php?t=3760
    Standalone http://maintankadin.failsafedesign.com/viewtopic.php?t=3959

    Both of them share the same calculations but they don't
    honor the last point, saving the Paladin on a string of hits.
    Also, they are both listening to the "COMBAT_TEXT_UPDATE" event,
    supposedly used in blizzards scrolling combat text implementation.
    Maybe this is not an optimal way of keeping track of the incoming
    damage, but i'm not sure about that.

    Well, that's about it.
    Is anybody interested in implementing this kind of addon?
    I think I outlined the problemes one has to face, finding
    the right events, using the right math and keeping track
    of the data of the last string of hits that were in AD range.

    And please, keep this post on topic, no spam about what
    a Paladin can or can't do. Thanks.
    Posted in: Addon Ideas
  • To post a comment, please or register a new account.