public virtual void addEffect(Effect e)
 {
     lock (mEffects)
     {
         mEffects.Add(e);
     }
 }
        public override void addEffect(Effect e)
        {
            if(Cell != null)
                Player.Game.Context.Broadcast(Messages.GAME_TOWER_EFFECT, Cell.Index, e.type, (int)e.Duration);

            base.addEffect(e);
        }
        public override void addEffect(Effect e)
        {
            Player.Game.Context.Broadcast(Messages.GAME_CREEP_EFFECT, ID, e.type, (int)e.Duration);

            base.addEffect(e);
        }