Hardened the new Rank effect against crashes

#4134

The `anim.PlayFetchIndex` is probably the most important change. I had a temp level variable before which only got updated when the actor was alive. @pchote suggested to remove it for cleaner code and I forgot to add something to avoid the trait lookup from dead actors.

This also adds `IsDead()` checks everywhere. They may be redundant, but I found them in other effects that have a trait look-up in their constructor.