@Override
	public void updatePlayerFactions(MOB mob, Room R, boolean forceAutoCheck)
	{
		if((mob==null)||(R==null))
			return;
		else
		{
			Faction F=null;
			for(final Enumeration<Faction> e=factions();e.hasMoreElements();)
			{
				F=e.nextElement();
				if(F!=null)
				{
					if(((forceAutoCheck || (F.getInternalFlags()&Faction.IFLAG_IGNOREAUTO)==0))
					&&(!F.hasFaction(mob))
					&&(F.findAutoDefault(mob)!=Integer.MAX_VALUE))
						mob.addFaction(F.factionID(),F.findAutoDefault(mob));
				}
			}
		}
		final Faction[] Fs=getSpecialFactions(mob,R);
		if(Fs!=null)
		{
			for(final Faction F : Fs)
			{
				if((F!=null)&&(!F.hasFaction(mob))&&(F.findAutoDefault(mob)!=Integer.MAX_VALUE))
					mob.addFaction(F.factionID(),F.findAutoDefault(mob));
			}
		}
	}