[Freeciv-Dev] rfc: Effect of loss of Marco's on treaties
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
This patch allows us to clean up the special case of diplomats and allied
cities, which makes for a lot of mess for such a stupid special case.
For instance: If this is applied then diplomats don't need a dialog before
entering allied cities (they can behave like normal units), and all code
related to DIPLOMAT_MOVE can go away.
It also makes sense (at least to me) for in-game reasons. You can't
maintain diplomatic relations with someone that you cannot contact.
- Per
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:
marcotreaty1.diff
Description: Text document
|
|