@Override
	public boolean tick(Tickable ticking, int tickID)
	{
		if((tickID==Tickable.TICKID_EXIT_REOPEN)&&(isOpen()))
		{
			final Room R=CMLib.map().roomLocation(this);
			if((R!=null)&&(owner() instanceof Room)&&(CMLib.flags().isInTheGame(this,true)))
			{
				final List<Item> mobContents=getContents();
				for (final Item item : mobContents)
				{
					final Environmental E=item;
					if(E instanceof CagedAnimal)
					{
						final MOB M=((CagedAnimal)E).unCageMe();
						if(M!=null)
							M.bringToLife(R,true);
						R.show(M,null,this,CMMsg.MSG_OK_ACTION,L("<S-NAME> escapes from <O-NAME>!"));
						E.destroy();
					}
				}
			}
		}
		return super.tick(ticking,tickID);
	}