1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Client States Mod (BTS 3.19)

Discussion in 'Civ4 - Modpacks' started by stolenrays, Jun 9, 2013.

  1. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    Client States Mod v 1.3 (BTS 3.19)

    This mod was created by isolating the source code from Jojoweb's Total War Mod. This mod only includes the Vassal States and none of the other features in that mod.

    I have updated the code and altered all of the vassal text from vassal to client state and master to leader. Since it works only with the vassal option turned on, it can be turned off via the custom game menu.

    -----Gameplay-----
    -New VassalTypes include: Dominion, Protectorate, Colony, Annexed Territory, and Puppet State
    -Free Passive Espionage against a Client State
    -Certain Client States give International Votes
    -Techs enable different Client States
    -Project eliminates Vassal Costs
    -Civics alter International Votes and Passive Espionage
    -All vassal text modified as Client State
    -Some Client states can be converted into other types of Client States

    -----Vassal Types-----
    -A protectorate is a negotiated status of vassalage, signed by two nations at peace, that feel close and have a common military interest. This client state can trade its cities.
    -The Puppet State is a defeated nation that transfers a part of its sovereignty and is constrained by a very unbalanced peace treaty. It is negtiated while at war and this Client State can trade its cities. It is the Surrendered vassal from BTS.
    -A colony is a status of vassalage which result from the secession (organized by the master) of some cities far away from the capital of the state. You can trade the bonuses of this client state
    -Annexed territory is a status of vassalage that includes high interdependence with the master, but more emancipation opportunities. This Client State and the leader state have fixed borders, but with continuted cultural transmission.
    -A Dominion is a status of vassalage, which allows some independance to the colonized people, preventing in some contexts, a paralysis of the country while remaining an ally. This is the only Client State that can declare war and make peace as a soverign nation.

    -----For Modmakers-----
    -C++ included
    -Commenting in C++ as Client States Mod
    -Tech, Civic, and Project xml tags
    -New VassalInfos.xml XML file

    -----Version History-----
    Spoiler :
    Version 1.3
    -Added Customer Gameoption for new Vassals

    Version 1.1
    -Obsolete w/Techs
    -Added Tributary and Vassal States
    -Fix enabled with tech buttons to be listed separately
    -Replace vassalage text in .xml entries with Client State
    -Corrected Behistun Inscription button
    -Corrected texts
    -Correct obsolete buttons.

    Version 1.0
    -Standalone isolated from Total War Mod


    -----Credits-----
    -Jojoweb for TotalWar

    DOWNLOAD
     

    Attached Files:

  2. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  3. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  4. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,488
    Location:
    israel
    gluck stole, hope you get it :)
     
  5. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    It is in beta phase right now. It works and is playable. I'm making sure all the texts/options work. I got a CTD upon city conquest, so I'm debugging that right now. I might add some more vassal types such as tributary and associated state.
     
  6. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  7. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    I think I found the reason for the error, but not the source yet. While debugging there were more voters than countries. 18 to be exact. There were no names/civs next to these UN voters and they were just labeled abstains. Consequently, no gen secretary could be chosen.
     
  8. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  9. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,488
    Location:
    israel
    gj man,

    looking forward to it.
     
  10. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  11. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  12. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    OK, got it working now. There is a project which eliminates vassal costs, several vassal types, civic modifiers for for vassal providing free espionage, international votes, and free units per cities. In addition, techs enable the different vassaltypes.

    I'll release it as soon as I get a chance to.:eek:
     
  13. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  14. The Snug

    The Snug The Civ Heretic

    Joined:
    Dec 5, 2003
    Messages:
    954
    Location:
    Seattle
    Hey there, two questions:
    1. I don't possess the skills otherwise I would do it, but would you be able to take the RevDCM CvGameCoreDLL.dll and merge in this mod to it?

    2. Could you explain what each of the client status's actually are? I have no idea what these new states do.
     
  15. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    I'll try and give you a description shortly. I believe the descriptions are in the text.xml file. I'm really short on time to assist with any other merges, sorry. It is really not that hard with the beyond compare program.
     
  16. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  17. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    I'm trying to add the decolonisation code to the mod, but get a xml playeroption, gameoption error that happens whenever I add anything after bdecolonisation to the GameInfoSchema.xml file.

    Maybe someone knows how to fix it?

    Code:
    	<ElementType name="iPopulationThreshold" content="textOnly" dt:type="int"/>
    	<ElementType name="bCityVoting" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bCivVoting" content="textOnly" dt:type="boolean"/>
    	<ElementType name="iMinVoters" content="textOnly" dt:type="int"/>
    	<ElementType name="iStateReligionVotePercent" content="textOnly" dt:type="int"/>
    	<ElementType name="iTradeRoutes" content="textOnly" dt:type="int"/>
    	<ElementType name="bSecretaryGeneral" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bVictory" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bFreeTrade" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bNoNukes" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bDefensivePact" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bOpenBorders" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bForcePeace" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bForceNoTrade" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bForceWar" content="textOnly" dt:type="boolean"/>
    	<ElementType name="bAssignCity" content="textOnly" dt:type="boolean"/>
    	<!-- Client States START -->
    	<ElementType name="bDecolonisation" content="textOnly" dt:type="boolean"/>
    [COLOR="Blue"]	<ElementType name="VassalType" content="textOnly"/>
    	<ElementType name="bEndOf" content="textOnly" dt:type="boolean"/>
    	<ElementType name="EndVassalType" content="eltOnly">
    		<element type="VassalType"/>
    		<element type="bEndOf"/>
    	</ElementType>
    	<ElementType name="EndVassalTypes" content="eltOnly">
    		<element type="EndVassalType" minOccurs="0" maxOccurs="*"/>
    	</ElementType>[/COLOR]
    	<!-- Client States END -->
    	<ElementType name="CivicType" content="textOnly"/>
    	<ElementType name="bForce" content="textOnly" dt:type="boolean"/>
    	<ElementType name="ForceCivic" content="eltOnly">
    		<element type="CivicType"/>
    		<element type="bForce"/>
    	</ElementType>
    	<ElementType name="ForceCivics" content="eltOnly">
    		<element type="ForceCivic" minOccurs="0" maxOccurs="*"/>
    	</ElementType>
    	<ElementType name="DiploVoteType" content="textOnly"/>
    	<ElementType name="DiploVote" content="eltOnly">
    		<element type="DiploVoteType"/>
    		<element type="bValid"/>
    	</ElementType>
    	<ElementType name="DiploVotes" content="eltOnly">
    		<element type="DiploVote" minOccurs="0" maxOccurs="*"/>
    	</ElementType>
    	<ElementType name="VoteInfo" content="eltOnly">
    		<element type="Type"/>
    		<element type="Description"/>
    		<element type="iPopulationThreshold"/>
    		<element type="bCityVoting"/>
    		<element type="bCivVoting"/>
    		<element type="iMinVoters"/>
    		<element type="iStateReligionVotePercent"/>
    		<element type="iTradeRoutes"/>
    		<element type="bSecretaryGeneral"/>
    		<element type="bVictory"/>
    		<element type="bFreeTrade"/>
    		<element type="bNoNukes"/>
    		<element type="bDefensivePact"/>
    		<element type="bOpenBorders"/>
    		<element type="bForcePeace"/>
    		<element type="bForceNoTrade"/>
    		<element type="bForceWar"/>
    		<element type="bAssignCity"/>
    		<!-- Client States START -->		
    		<element type="bDecolonisation" minOccurs="0"/>
    [COLOR="blue"]		<element type="EndVassalTypes" minOccurs="0"/>[/COLOR]	
    		<!-- Client States END -->			
    		<element type="ForceCivics"/>
    		<element type="DiploVotes"/>
    	</ElementType>
     
  18. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,488
    Location:
    israel
    i had that many times,

    go to the player option file - see if you need to add it there,

    also - maybe you forgot something or dropped something from the schema file.
    if the dll works, its probably some xml missing tag :) i hope...
     
  19. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  20. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061

Share This Page