Current version: 11.0.0004
Current stability: Stable
Civilization IV Diplomatic Features is a modification for Civilization V. The goal is to provide as its title suggests: integrate Civilization IV's diplomacy into Civilization V. Upon the release of Civilization V, many felt it's diplomacy was lacking in several areas, making it feel more "gamey" and less "immersive" as Civilization IV. To help remedy that, my mod adds the following features:
- Sharing Opinions: Players can request for other leaders to disclose their opinions of other civilizations. If agreed, leaders will share their opinions of other leaders, helping players make informed decisions about how to proceed.
- Map Trading: Explored territory can be shared with other players upon the discovery of Military Science.
- Technology Trading: Technology can be traded freely amongst civilizations upon the discovery of Scientific Theory. This is an optional feature and can be set to replace Research Agreements, or operate alongside them.
- Request Help: Players that have Declarations of Friendship with other leaders may ask them for a generous donation (replacing the usual demand). This opens up functionality for players that only existed for CPUs prior to this mod.
- Generous Offers: Leaders will occasionally gift items to human players if they have a Declaration of Friendship with them.
- Vassalage: The largest feature of the mod, Vassalage returns from Civilization IV: Warlords. The Vassal System is overhauled from the ground up, and includes a new Vassalage Overview. Vassals are like major puppets for players; a vassal must declare war on his master's opponents, and are subjected to taxes, in exchange for protection from your master. Vassals offer a more unique way to play the game.
- All of the above features are fully understood by the AI.
This mod hosted here is the standalone, Brave New World version. Gods and Kings is no longer supported.
Subscribe from the Steam Workshop OR- Download mod from here
- Extract to My Games/Civilization V/MODS/ folder
- Delete existing Civilization IV Diplomatic Features install
- Open Civilization V
- Subscribe to the mod on the Steam Workshop
- Click MODS, wait for the .civ5mod file to extract
- Not compatible with mods that modify the DLL
- Not compatible with mods that modify the following Lua files:
- AddTechTrade( int playerID, int techID );
- AddVassalageTrade( int playerID );
- AddMapTrade( int playerID );
- AddRevokeVassalageTrade( int playerID );
- int GetMinimumVoluntaryVassalTurns(); // Returns minimum number of turns before a voluntary vassal can request independence
- int GetMinimumVassalTurns(); // Returns minimum number of turns before a capitulated vassal can request independence
- int GetNumTurnsBetweenVassals(); // Returns minimum number of turns before a player can re-vassalize a civilization that he ended vassalage with (in any means)
- int GetMinimumVassalTax(); // Returns the smallest amount that taxes can possibly go
- int GetMaximumVassalTax(); // Returns the highest amount that taxes can possibly go
- int GetMinimumVassalLiberateTurns(); // Returns the minimum number of turns a player must be a vassal before his master can liberate him
- int GetMinimumVassalTaxTurns(); // Returns the minimum number of turns before a player can set taxes (after they've been already set)
- eraID GetVassalageEnabledEra(); // Returns the era where Vassalage is enabled (-1 if none)
- int GetVassalGoldMaintenance(); // Returns the amount of gold this player is paying in maintenance.
- bool IsVassalageAcceptable(playerID eOtherPlayer); // Returns true if the player's diplomacy AI will accept vassalage from player (NOTE: this function should accept a second parameter bool bWar, not yet implemented!)
- int GetYieldPerTurnFromVassals(yieldID eYield); // Returns the yield per turn increase from player's vassals
- int GetHappinessFromVassals(); // Returns happiness increase from vassals.
- int GetScoreFromVassals(); // Returns score increase from vassals.
- MilitaryAggressivePostureTypes GetMilitaryAggressivePosture(playerID eOtherPlayer); // Returns how aggressive this player feels eOtherPlayer is being. (AGGRESSIVE_POSTURE_NONE, AGGRESSIVE_POSTURE_LOW, AGGRESSIVE_POSTURE_MEDIUM, AGGRESSIVE_POSTURE_HIGH)
- bool MoveRequestTooSoon(playerID eOtherPlayer); // Returns if it is too soon to ask for a move troops request
- int GetPlayerMoveTroopsRequestCounter(playerID eOtherPlayer); // Returns the number of turns in the move troops request counter (starts at 0 when request is made)
- int GetExpensePerTurnFromVassalTaxes(); // Get the number of GPT player is paying because of vassal taxes
- int GetMyShareOfVassalTaxes(); // Get the amount of GPT player is receiving from vassal taxes.
- int GetVassalTaxContribution(playerID eOtherPlayer); // Get the amount of GPT eOtherPlayer is contributing to us due to vassal taxes.
- int GetVassalScore(playerID eOtherPlayer); // Opinion weight change due to being a vassal.
- int GetVassalTreatedScore(playerID eOtherPlayer); // Score of how well our vassal eOtherPlayer thinks we've treated him during vassalage.
- int GetVassalDemandScore(playerID eOtherPlayer); // Opinion weight change due to our demands of our vassal.
- int GetVassalProtectScore(playerID eOtherPlayer); // Opinion weight change due to our protection of vassal eOtherPlayer.
- int GetVassalFailedProtectScore(playerID eOtherPlayer); // Opinion weight change due to our failed protection of vassal eOtherPlayer.
- int GetVassalTradeRouteScore(playerID eOtherPlayer); // Opinion weight change due to a trade route between us and vassal eOtherPlayer.
- int GetVassalReligionScore(playerID eOtherPlayer); // Opinion weight change due to shared (or unshared!) religion between us and vassal eOtherPlayer.
- int GetVassalTreatmentLevel(playerID eOtherPlayer); // Vassal opinion level of how our vassal eOtherPlayer sees us. (NO_VASSAL_TREATMENT, VASSAL_TREATMENT_CONTENT, VASSAL_TREATMENT_DISAGREE, VASSAL_TREATMENT_MISTREATED, VASSAL_TREATMENT_UNHAPPY, VASSAL_TREATMENT_ENSLAVED)
- string GetVassalTreatmentToolTip(playerID eOtherPlayer); // Get the tooltip for Vassal Treatment.
- string GetVassalIndependenceTooltipAsMaster(playerID ePlayer); // Get request independence when we are a master of ePlayer
- string GetVassalIndependenceTooltipAsVassal(playerID ePlayer); // Get request independence when we are a vassal of ePlayer
- int GetMajorityReligion(); // From Community Patch: Get our majority religion.
- Coming soon!