key0-96/
key0-96/doc/key/
key0-96/doc/key/credits/
key0-96/doc/key/developers/
key0-96/doc/key/developers/resources/
key0-96/setup/caves/
key0-96/setup/help/
key0-96/setup/ruins/
key0-96/src/
key0-96/src/commands/
key0-96/src/events/
key0-96/src/hack/
key0-96/src/sql/
key0-96/src/swing/
key0-96/src/talker/forest/
key0-96/src/talker/objects/
key0-96/src/terminals/
package key;

public class AccessViolationException
extends RuntimeException
implements UserOutputException
{
	Object on;
	
	public AccessViolationException( Object o, String msg )
	{
		super( msg );
		on = o;
			
			//  determine who's fault it is
		Player p = Player.getCurrent();
		if( p != null )
			Log.log( "security", p.getName() + ":" + msg + "  (from: " + o.toString() + ":" + o.getClass().getName() + ")" );
		else
			Log.log( "security", "(system process):" + msg + "  (from: " + o.toString() + ":" + o.getClass().getName() + ")" );
		
		printStackTrace();
	}
	
	public void send( InteractiveConnection ic )
	{
		ic.sendFailure( "Access Violation while " + getMessage() );
	}
}