--- client/dialogs.c.orig Wed Oct 21 06:31:47 1998 +++ client/dialogs.c Wed Feb 3 09:32:22 1999 @@ -764,7 +764,7 @@ improvement_type[j++] = -1; for(i=0; iimprovements[i]) { + if(i != B_PALACE && pcity->improvements[i] && !is_wonder(i)) { improvements_can_sabotage[j] = get_imp_name_ex(pcity, i); improvement_type[j++] = i; } --- server/unitfunc.c.orig Wed Feb 3 09:23:40 1999 +++ server/unitfunc.c Wed Feb 3 09:30:42 1999 @@ -588,10 +588,17 @@ /* *check we're not trying to sabotage city walls or inside the capital - * If we are, then there is a 50% chance of failing. + * If we are, then there is a 50% chance of failing. Also, wonders of + * the world cannot be sabotaged, and neither can the Palace. */ improvement--; + + if (is_wonder(improvement) || improvement == B_PALACE) { + notify_player_ex(pplayer, pcity->x, pcity->y, E_NOEVENT, + "Game: You cannot sabotage a wonder or a Palace!"); + return; + } capital=find_palace(city_owner(pcity));