VERSIONS
========

gen-data.pl:	1.1.1
damage.sh:	1.0
threat.sh:	1.02
split.pl:	1.0
you.sh:		1.0.2

DISCLAIMERS
===========

* Acts like KTM in that it totals all threat to all targets. Filter for 
  the target you care about to get around this.
* I do not code for a living.
* It's written in perl.
* I think it'd run in Windows if you had all the right tools, but UNIX will 
  be way easier. It's command-line.
* Non-Protection warrior threat is vastly underreported, because it's 
  impossible to track Sunder Armor.

ABOUT
=====

This package reads combat logs and generates files containing rows of
tab-delimited data.  Each row in the file represents 1 second.  The
columns contain threat and incoming damage averages over varying periods
of time.

The files are suitable for reading into Excel or any other program; the
intention is to provide an easy way to graph important tanking stats.

It is most useful when you feed it a log for a specific fight.  Giving it 
the log for the entire night of raiding is not that practical.

To create a tab separated file, use gen-data.pl.  If you have gnuplot 
installed and you want a quick and easy graph, use threat.sh or damage.sh.  
See the USAGE section for more details.

If you are not comfortable with UNIX command lines or running perl under
Windows, you will not get a lot out of this package.  I have plans to 
create a Web interface, but I'm not sure I have the bandwidth to host it.

SUPPORT
=======

Limited.  If you think you've found a bug, please let me know at 
strand.osric@gmail.com.  If you can't figure out how to use it, I'll try
and help you but I make no promises.

USAGE
=====

gen-data.pl
-----------

This is the core script.  It generates a tab-separated file; the first
column is elapsed seconds, the second column is threat in that second,
the third column is average TPS for the last five seconds, the fourth 
column is the average TPS for the last ten seconds, the fifth column
is the average TPS over the course of the fight to date, the sixth 
column is the incoming damage in that second, the seventh column is
the average incoming DPS for the last five seconds, the eighth column
is the average incoming DPS for the last ten seconds, and the ninth 
column is the average incoming DPS over the course of the fight to date.

Usage: gen-data.pl -t <tank> -c <class> [-v] [-swog] [-h] [-0-3] <log>

-v = verbose (perhaps not useful to people who are not me; mostly for 
		debugging)

-h = hack (add assumed threat from 5 Sunder Armors)

-0-3 = number of points in threat talents (Defiance, Feral Instinct, Imp RF)

Default is 3 points.

-s = count threat from specials
-w = count threat from white damage
-o = count threat from third parties (Thorns, Lifebloom, PoM, etc.)
-g = count threat from gear (shield spikes, etc.)

Default (no switches) is to count everything.

threat.sh
---------

This is a small wrapper script that automatically uses gen-data.pl and 
gnuplot to generate a graph.  The graph will show the ten second rolling
average TPS and the TPS over the course of the fight.

Usage: threat.sh -t <tank> -f <log> -[dwp] -o [png|gif|jpg|pdf|ps]

-d = druid
-w = warrior
-p = paladin

-o = output format (PNG default)

damage.sh
---------

This is a small wrapper script that automatically uses gen-data.pl and 
gnuplot to generate a graph.  The graph will show the five second rolling
average incoming DPS and the DPS over the course of the fight.

Usage: damage.sh -t <tank> -f <log> -[dwp] -o [png|gif|jpg|pdf|ps]

-d = druid
-w = warrior
-p = paladin

-o = output format (PNG default)

you.sh
------

This is a small script that turns "You do X" lines into "Abbi does X" 
lines in your combat logs.  Where, of course, Abbi is your character's 
name.  

Usage: cat <log file> | you.sh <character name> > <new log file>

split.pl
--------

This script splits log files on specified periods of inactivity.  The 
resulting files are named <log>.1, <log>.2, and so on.

Usage: split.pl <idle seconds before split> <log>

THREAT SOURCES
==============

Warriors
--------

Tank's Shoot hits Mob for 10.
Mob suffers 10 Physical damage from Tank's Rend.
Mob suffers 10 Physical damage from Tank's Deep Wounds.

Tank's Revenge hits Mob for 10.
Tank's Heroic Strike hits Mob for 10.
Tank's Shield Slam hits Mob for 10.
Tank's Shield Bash hits Mob for 10.
Tank's Devastate hits Mob for 10.
Tank's Thunder Clap hits Mob for 10.
Tank's Cleave hits Mob for 10.
Tank's Hamstring hits Mob for 10.

Tank gains 10 Rage from Tank's Ability.

Mob's Spell hits Mob for 10 Holy/Nature/Fire/Frost/Arcane/Shadow damage.
	-- Spell Reflection; only while Spell Reflection is active.

Druids
------

Tank's Swipe hits Mob for 10.
	
Tank's Maul hits Mob for 10.
Tank's Lacerate hits Mob for 10.
Tank's Mangle (Bear) hits Mob for 10.
Mob suffers 10 Physical damage from Tank's Lacerate.

Tank gains 10 Rage 

Paladins
--------

Tank's Seal of Righteousness hits Mob for 10 Holy damage.
Tank's Judgement of Righteousness hits Mob for 10 Holy damage.
Tank's Seal of Vengeance hits Mob for 10 Holy damage.
Tank's Seal of Command hits Mob for 10 Holy damage.
Tank's Judgement of Command hits Mob for 10 Holy damage.
Tank's Seal of Blood hits Mob for 10 Holy damage.
Tank's Judgement of Blood hits Mob for 10 Holy damage.
Tank's Holy Vengeance hits Mob for 10 Holy damage.
Tank's Exorcism hits Mob for 10 Holy damage.
Tank's Holy Wrath hits Mob for 10 Holy damage.
Tank's Avenger's Shield hits Mob for 10 Holy damage.
Tank's Holy Shield hits Mob for 10 Holy damage.
Mob suffers 10 Holy Damage from Tank's Consecration.

Tank gains 10 Mana from Tank's Spiritual Attunement.
Tank gains 10 Mana from Tank's Judgement of Wisdom.
Tank gains 10 Mana from Tank's Seal of Wisdom.
Tank gains 10 Mana from Tank's Illumination.
Tank gains 10 Mana from Tank's Restore Mana.

Tank's Holy Light heals Player for 10.
Tank's Holy Light critically heals Player for 10.
Tank's Flash of Light heals Player for 10.
Tank's Flash of Light critically heals Player for 10.

White Damage
------------

Tank hits Mob for 10.

Other People's Threat
---------------------

Tank's Prayer of Mending heals Tank for 10.
Tank's Earth Shield heals Tank for 10.
Tank's Earth Shield critically heals Tank for 10.

Tank's Greater Blessing of Sanctuary hits Mob for 10 Holy damage.
Tank's Retribution Aura hits Mob for 10 Holy damage.

Tank reflects 10 Holy/Nature/Fire/Frost/Arcane/Shadow damage to Mob.

Gear Damage
-----------

Tank's Metal Shield Spike hits Mob for 10.
Tank's Vengeance hits Mob for 10 Holy damage.

TODO
====

* Misdirect threat.  (Maybe.)
* Handle all potential sources of gear damage (i.e., Petrified Lichen Guard).
* Stances.

CREDITS
=======

Thanks to Wildly Inept Raiding, Explorers of Evermoore, and SASU, for
helping me learn about threat; to Kallan, for helping me test Lifebloom;
to Deren, for teaching me how to tank; to RK, for suggesting the Sunder
Armor hack; to Oggie, for helping with paladin threat values; to Zeln,
for great bug reports; to Foofu, for various and sundry comments; to
Asgorath, for a lot of bug fixes; to Apate, for threat commentary;
to Anaro, for testing; to Ghoselle, for some druid threat values; to
Daemok, for comments; to Ulveig, for log lines; to Thanaomira, for
typo-finding, to Marco, for math; and to Ciderhelm, for great guides and
helpful requests.

And, as always, to the excellent and estimable Trinn, for everything.
