diff -Nurd nethack-3.4.3-pristine/include/config.h nethack-3.4.3-permhal/include/config.h
--- nethack-3.4.3-pristine/include/config.h	2004-12-24 10:47:29.000000000 +0100
+++ nethack-3.4.3-permhal/include/config.h	2004-12-24 10:50:32.000000000 +0100
@@ -367,7 +367,7 @@
 /*#define AUTOPICKUP_EXCEPTIONS */ /* exceptions to autopickup */
 #define DUMP_LOG
 #define DUMP_FN "/var/games/nethack/dumps/%n.lastgame.txt"
-
+#define PERMHALLUC
 /* End of Section 5 */
 
 #include "global.h"	/* Define everything else according to choices above */
diff -Nurd nethack-3.4.3-pristine/src/apply.c nethack-3.4.3-permhal/src/apply.c
--- nethack-3.4.3-pristine/src/apply.c	2004-12-24 10:47:29.000000000 +0100
+++ nethack-3.4.3-permhal/src/apply.c	2004-12-24 10:47:50.000000000 +0100
@@ -1488,7 +1488,9 @@
 	/* collect property troubles */
 	if (Sick) prop_trouble(SICK);
 	if (Blinded > (long)u.ucreamed) prop_trouble(BLINDED);
+#ifndef PERMHALLUC
 	if (HHallucination) prop_trouble(HALLUC);
+#endif
 	if (Vomiting) prop_trouble(VOMITING);
 	if (HConfusion) prop_trouble(CONFUSION);
 	if (HStun) prop_trouble(STUNNED);
diff -Nurd nethack-3.4.3-pristine/src/attrib.c nethack-3.4.3-permhal/src/attrib.c
--- nethack-3.4.3-pristine/src/attrib.c	2004-12-24 10:47:29.000000000 +0100
+++ nethack-3.4.3-permhal/src/attrib.c	2004-12-24 10:51:42.000000000 +0100
@@ -354,7 +354,11 @@
 		if (HRegeneration)			exercise(A_STR, TRUE);
 
 		if(Sick || Vomiting)     exercise(A_CON, FALSE);
+#ifdef PERMHALLUC
+		HHallucination=16384;  /* paranoia */
+#else
 		if(Confusion || Hallucination)		exercise(A_WIS, FALSE);
+#endif
 		if((Wounded_legs 
 #ifdef STEED
 		    && !u.usteed
diff -Nurd nethack-3.4.3-pristine/src/potion.c nethack-3.4.3-permhal/src/potion.c
--- nethack-3.4.3-pristine/src/potion.c	2004-12-24 10:47:29.000000000 +0100
+++ nethack-3.4.3-permhal/src/potion.c	2004-12-24 10:47:50.000000000 +0100
@@ -248,6 +248,11 @@
 	boolean changed = 0;
 	const char *message, *verb;
 
+#ifdef PERMHALLUC
+	pline("Oh wow!  You have a yet another vision!");
+	return 0;
+#endif
+
 	message = (!xtime) ? "Everything %s SO boring now." :
 			     "Oh wow!  Everything %s so cosmic!";
 	verb = (!Blind) ? "looks" : "feels";
diff -Nurd nethack-3.4.3-pristine/src/pray.c nethack-3.4.3-permhal/src/pray.c
--- nethack-3.4.3-pristine/src/pray.c	2004-12-24 10:47:29.000000000 +0100
+++ nethack-3.4.3-permhal/src/pray.c	2004-12-24 10:47:50.000000000 +0100
@@ -197,7 +197,9 @@
 	if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
 	if(HStun) return (TROUBLE_STUNNED);
 	if(HConfusion) return (TROUBLE_CONFUSED);
+#ifndef PERMHALLUC
 	if(Hallucination) return(TROUBLE_HALLUCINATION);
+#endif
 	return(0);
 }
 
@@ -435,8 +437,12 @@
 		    make_confused(0L,TRUE);
 		    break;
 	    case TROUBLE_HALLUCINATION:
+#ifdef PERMHALLUC
+                    pline ("You feel boringly normal for a moment.");
+#else
 		    pline ("Looks like you are back in Kansas.");
 		    (void) make_hallucinated(0L,FALSE,0L);
+#endif
 		    break;
 #ifdef STEED
 	    case TROUBLE_SADDLE:
