Twintop's Resource Bar

Twintop's Resource Bar

670k Downloads

Refactor Spells

Twintop opened this issue ยท 0 comments

commented

Presently, the TRB.Data.spells object and its derivatives are fairly consistent but still unstructured data. This leads to problems when passing a spell into a method as we can't be certain all of the right properties are present or set. Additionally, many functions in the TRB.Functions.Spell namespace could be moved to being methods on a new TRB.Classes.SpellBase or decendant object instead.

  • Core classes/logic moved
    • Base Class
    • Threshold
    • Combo Points
    • Combo Point + Threshold
  • Healer specific implementations
  • Demon Hunter
  • Druid
  • Evoker
  • Hunter
  • Monk
  • Paladin
  • Priest
  • Rogue
  • Shaman
  • Warrior

Extra bits to explore (maybe separate issues?)

  • Use GetSpellPowerCost() for all spenders instead of having hardcoded resource values.
    • There may need to be some exceptions.
    • Check performance impact on how frequently this needs to be run/updated. Will every frame be OK? Does it need to be run based off the gain/loss of a buff for specific spells (see: Balance Druids)?
    • Demon Hunter
    • Druid
    • Evoker
    • Hunter
    • Monk
    • Paladin
    • Priest
    • Rogue
    • Shaman
    • Warrior