Giter VIP home page Giter VIP logo

c4df-standalone's Introduction

Civilization IV Diplomatic Features - Standalone

Current version: 11.0.0004

Current stability: Stable

Summary

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.

Install Instructions:

Subscribe from the Steam Workshop OR
  1. Download mod from here
  2. Extract to My Games/Civilization V/MODS/ folder
  3. Delete existing Civilization IV Diplomatic Features install
  4. Open Civilization V
  5. Subscribe to the mod on the Steam Workshop
  6. Click MODS, wait for the .civ5mod file to extract

Compatibility

  1. Not compatible with mods that modify the DLL
  2. Not compatible with mods that modify the following Lua files:

Lua API

Deal

  • AddTechTrade( int playerID, int techID );
  • AddVassalageTrade( int playerID );
  • AddMapTrade( int playerID );
  • AddRevokeVassalageTrade( int playerID );

Game

  • 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)

Player

  • 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.

Team

  • Coming soon!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.