public Faction[] getSpecialFactions(final MOB mob, final Room R)
	{
		if((mob==null)||(R==null))
			return null;
		Faction F=null;
		final String autoReactionTypeStr=CMProps.getVar(CMProps.Str.AUTOREACTION).toUpperCase().trim();
		if((autoReactionTypeStr==null)||(autoReactionTypeStr.length()==0))
			return null;
		if(autoReactionTypeStr.equals("AREA"))
		{
			final Area A=R.getArea();
			if((A!=null)&&(!CMath.bset(A.flags(), Area.FLAG_INSTANCE_CHILD)))
			{
				final String areaCode = A.Name().toUpperCase().trim().replace(' ','_');
				F=getFaction("AREA_"+areaCode);
				if(F==null)
					F=makeReactionFaction("AREA_",A.ID(),A.Name(),areaCode,"examples/areareaction.ini");
				if(F==null)
					return null;
				return new Faction[]{F};
			}
		}
		else
		if(autoReactionTypeStr.equals("NAME"))
		{
			final Vector<Faction> Fs=new Vector<Faction>();
			for(int i=0;i<R.numInhabitants();i++)
			{
				final MOB M=R.fetchInhabitant(i);
				if((M!=null)&&(M!=mob)&&(M.isMonster()))
				{
					final String nameCode = M.Name().toUpperCase().trim().replace(' ','_');
					F=getFaction("NAME_"+nameCode);
					if(F==null)
						F=makeReactionFaction("NAME_",M.ID(),M.Name(),nameCode,"examples/namereaction.ini");
					if(F!=null)
						Fs.add(F);
				}
			}
			if(Fs.size()==0)
				return null;
			return Fs.toArray(new Faction[0]);
		}
		else
		if(autoReactionTypeStr.equals("RACE"))
		{
			final Vector<Faction> Fs=new Vector<Faction>();
			final HashSet<Race> done=new HashSet<Race>(2);
			for(int i=0;i<R.numInhabitants();i++)
			{
				final MOB M=R.fetchInhabitant(i);
				if((M!=null)&&(M!=mob)&&(M.isMonster())&&(!done.contains(M.charStats().getMyRace())))
				{
					final Race rR=M.charStats().getMyRace();
					done.add(rR);
					final String nameCode = rR.name().toUpperCase().trim().replace(' ','_');
					F=getFaction("RACE_"+nameCode);
					if(F==null)
						F=makeReactionFaction("RACE_",rR.ID(),rR.name(),nameCode,"examples/racereaction.ini");
					if(F!=null)
						Fs.add(F);
				}
			}
			if(Fs.size()==0)
				return null;
			return Fs.toArray(new Faction[0]);
		}
		return null;
	}