Gemminie's Event Catalog

As part of my effort to make GemSay's code make sense even to me, despite the
ever-changing event API in WoW, I'm making a list of events that I care about
for GemSay.  I don't claim this to be a comprehensive list -- just a list of
the events that it seems to me that one would be likely to want to bind a
message to.

These events are current as of WoW v3.0.2 (2008/10/15).  Events have arguments,
and the syntax I list below isn't precisely how you refer to them in Lua code,
but it's a useful and compact syntax for my concise reference card.  That
syntax is:

EVENT(args)(when) -- brief description

Here we go:

PLAYER_DEAD()(i) -- player dies
UNIT_SPELLCAST_CHANNEL_START(caster, spellname, spellrank)(irp) -- spell channel started
UNIT_SPELLCAST_CHANNEL_STOP(caster, spellname, spellrank)(irp) -- spell channel stopped
UNIT_SPELLCAST_CHANNEL_UPDATE(caster, spellname, spellrank)(irp) -- spell channel continues
UNIT_SPELLCAST_DELAYED(caster, spellname, spellrank)(irp) -- spell delayed (damage, etc.)
UNIT_SPELLCAST_FAILED(caster, spellname, spellrank)(irp) -- spell couldn't be cast
UNIT_SPELLCAST_INTERRUPTED(caster, spellname, spellrank)(irp) -- spell got interrupted
UNIT_SPELLCAST_SENT(caster, spellname, spellrank, spelltarget)(irp) -- server got spellcast event
UNIT_SPELLCAST_START(caster, spellname, spellrank)(irp) -- someone started casting
UNIT_SPELLCAST_STOP(caster, spellname, spellrank)(irp) -- someone stopped casting
UNIT_SPELLCAST_SUCCEEDED(caster, spellname, spellrank)(irp) -- cast completed, even if resisted
UNIT_SPELLMISS(unitname, misstype)(i) -- spell has missed (suspect this one removed)

Here is a list of what my "when" (as in "when you get this event") keywords mean.

i: you get this event if you do something.
irp: you get this event if you, a raid member or a party member does something.

And here is a list of what the argument keywords mean.

caster: name of unit casting a spell
misstype: the type of miss that occurred; can be 'RESISTED', 'DODGED', 'PARRIED' or 'BLOCKED'
spellname: name of a spell cast
spellrank: rank of a spell cast
spelltarget: target of the spell cast
unitname: can be 'target', 'mouseover', 'player', 'party1..4', or 'raid1..40'
