Summary: Diplomatic relation requirement type
                 Project: Freeciv
            Submitted by: sveinung
            Submitted on: Tue 30 Jul 2013 06:43:22 PM GMT
                Category: None
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 



The diplomatic relation requirement type is about diplomatic relations. The
diplomatic relations are "Armistice", "War", "Cease-fire", "Peace",
"Alliance", "Never met", "Team", "Gives shared vision", "Receives shared
vision", "Embassy from" and "Embassy to". In this patch the ranges "world" and
"player" are supported. The world range test if at least two currently living
players have the diplomatic relation. The player range test if the player has
the diplomatic relation with at least one other currently living player.

A local range (or something similar) that test the relationship between two
players is not included. It would require lager changes. A solution to corner
cases like a tile owned by player1 that has a unit belonging to player2 and
another unit belonging to player3 and evaluated for player0 would have to be
found. (Test for all? Test for one? Let each requirement vector decide what to
do?) Besides: A local range wouldn't be all that useful yet. (I hope to add
one in a later patch and use it to generalize the spy actions)

The player and world ranges are still useful. Opposition to standing armies in
peace time* can be simulated by making war a requirement for building military
improvements / extras. People that get happiness from the state of war** can
be simulated by a happiness effect. Extra trade when there is (world) peace is
also possible. An Intelligence Central could depend on the player having at
least one embassy to another player. Another example can be found in
broadcaster.patch. This adds a small wonder that give you more gold when you
are at war*** and make one citizen content when someone else is at war but you
have peace.

This is a request for comments. I need feed back on some issues. The first is
the names and other strings it adds. Any better suggestions than
"DiplRelation", "Gives shared vision", "Receives shared vision", "Embassy
from" and "Embassy to"? Could the strings I introduce be better? (I'm not a
native English speaker) The next is the code it self. A new enum for
asymmetric diplomatic relations that is "after" diplstate_type was added. As
the two enums may get a different value for invalid in the future the code is
paranoid and only use the asymmetric diplomatic relation enum's invalid. (This
is marked in the code) Is being that paranoid correct?

* Example: The Anti-Federalists (Anti Federalist papers, Brutus 10)
** Example: The Nazis viewed war as something good
*** Example: the people of the USA accepted extra war taxes and bought war
bounds during WWII


File Attachments:

Date: Tue 30 Jul 2013 06:43:22 PM GMT  Name: diplrel.patch  Size: 16kB   By:

Date: Tue 30 Jul 2013 06:43:22 PM GMT  Name: broadcaster.patch  Size: 2kB  
By: sveinung



Reply to this item at:


  Message sent via/by Gna!

Freeciv-dev mailing list

Reply via email to