Index: server/srv_main.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/srv_main.c,v retrieving revision 1.98 diff -u -r1.98 srv_main.c --- server/srv_main.c 2002/10/18 09:58:49 1.98 +++ server/srv_main.c 2002/11/02 00:17:06 @@ -320,6 +320,16 @@ pdiplstate->has_reason_to_cancel = MAX(pdiplstate->has_reason_to_cancel - 1, 0); + /* If we had Marco's and lost it again, we lose all treaties. */ + if ((pdiplstate->type == DS_ALLIANCE + || pdiplstate->type == DS_PEACE + || pdiplstate->type == DS_CEASEFIRE) + && !player_has_embassy(player1, player2)) { + pdiplstate->type = DS_NEUTRAL; /* no reputation loss */ + pdiplstate->turns_left = 0; + continue; + } + if(pdiplstate->type == DS_CEASEFIRE) { switch(--pdiplstate->turns_left) { case 1: