Advanced a bit on basic effect implementation.

    It seems that I overuse pointers to have a dynamic type on
    everything while only Effect or Spell should get some use.
    (Pawns shouldn't!)