Added Blocking and Thorns spells

Also made a few changes to how effects work, cleared up some Enum
shenanigans, and made a bit of a stupid pointer cast mess.