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

Puppet States Mod (BTS 3.19)

Discussion in 'Civ4 - Modpacks' started by stolenrays, Sep 10, 2011.

  1. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    Puppet States Mod v1.6 (BTS 3.19)


    This mod was created by isolating the source code of Puppet States from Dom Pedro II's Conquerer's Delight Mod. This mod only includes Puppet States and none of the other features in that mod. People were requesting it so I got it to work since the Delight code actually had an error in it that prevented it from working.

    I have updated the code so it is now compatible with BTS 3.19 and altered all of the vassal text from vassal to puppet state and master to leader. The changed Source Code is included. The changes were just a few source code and .xml files. Since it works only with the vassal option turned on, it can be turned off via the custom game menu.

    From old thread:
    You can now create puppet states after conquering enemy cities. This creates a new instant vassal player. You cannot create multiple puppet states from the same enemy and you cannot form puppet states in cities that can be returned to an ally.

    When you conquer another city from an enemy that you have previosuly carved out a puppet state from one of their cities, you are then granted the option to add the city to your puppet state. The puppet state is picked from the list of civilizations in the .xml file and is a brand new one. If you create a puppet state before founding your first city, the puppet state may become you and you will be instantly defeated.

    ----Gameplay----
    -Create a Puppet State upon conquering an enemy city
    -Puppet State is a new Vassal State
    -Cannot be created from a potentially liberating city
    -Choose the Leader/Civ of the Puppet State
    -Give cities from the conquered Civ to the newly derived Puppet State
    -Enbled by Nationalist Tech
    -Vassal text modified to Client State
    -AI is more likely to create a Puppet State than Raze a city

    ---Version History---
    Spoiler :
    Version 1.6
    -Choose leader/civ from lfgr2-inspiration from choose colony mod

    Version 1.5
    -Added AI to make it more likely to Puppet than Raze from ExtraModMod from MoreNavalAI
    -Previous Civ that is Puppeted gets -2 attitude

    Version 1.4
    -Reverted eReceivingPlayer to eHighestCulture in CvPlayerAI.cpp
    -Puppet States Enabled by Tech Nationalism
    -Puppet States Enabled Tech values added to AI
    -Reverted Vassal text to Client States
    -Added missing Puppet Attitude Modifiers
    -Fixed Puppet Event Message
    -Changed Leaderhead Puppet text

    Version 1.3
    -Added Changelog & Readme Texts
    -Added Concept Entry

    Version 1.2
    -Custom Game Option
    -Vassal Text all Modded
    -Option if liberating a city added
    -Remove Conquerer's Bonus Code
    -Added many Tholal's More Naval AI additions
    -Added missing PUPPET_CULTURE_MULTIPLIER GlobalDefines
    -Incorporated Smealgol's additions (memory, etc.)

    Version 1.1
    Updated to BTS 3.19 as a standalone

    Version 1.0
    -Original DPII Version


    Conquerer's Delight Original Thread

    Download Puppet States Mod
     

    Attached Files:

  2. veBear

    veBear Slumerican Citizen

    Joined:
    Nov 9, 2008
    Messages:
    2,612
    Location:
    Norway
    Looks good :goodjob:
    Is there however any option that you can make this an own option in the gamemenu?
     
  3. CaptainMidnight

    CaptainMidnight Warlord

    Joined:
    Apr 16, 2006
    Messages:
    141
    Downloaded but a few questions:

    1. Can the AI create puppet states?
    2. How is the new puppet civ selected? At random or the same as creating a colony (other words favourite civ colony)?
     
  4. CaptainMidnight

    CaptainMidnight Warlord

    Joined:
    Apr 16, 2006
    Messages:
    141
    <DerivativeCiv> in civilizationinfo is what I'm on about
     
  5. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    @vebear There is no option to turn it off as of yet besides turning off Vassals/puppet states in the custom game menu. I've asked how to add new options in the modding tutorial thread for creating options how to do just what you asked. If I figure it out I will update it with a new Game Option.

    @CaptainMidnight I'm not sure if the AI can create puppet states and that is a good question. I'm pretty sure after integrating the source code that the game picks a civ at random as long as the maximum number of civs are not present. I'm sure that could be changed somehow to force certain options, but I don't know how to do that.

    BTW, I removed the discover tech conquest message to make it compatible with the tech conquest mod, which I think is better since it is removable via python.
     
  6. Arian

    Arian No more ghostbusting!!

    Joined:
    May 10, 2008
    Messages:
    2,088
    Location:
    The Netherlands
    What's the difference between a puppet state and a vassal?
     
  7. TheLadiesOgre

    TheLadiesOgre Aspiring Codesmith

    Joined:
    Jan 16, 2009
    Messages:
    505
    IMHO, it would make more sense for the Puppet State to be a DerivativeCiv of the Civ it is being carved out of rather than the Civ that is doing the carving.....
     
  8. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    Probably a good idea.

    @Arian A puppet state is the same as a vassal state. The puppet state is just a more modern term since not every civ uses a feudal system. Everything else is the same except that puppet states can be instantly created on conquest and you can donate cities to them when conquering other cities.
     
  9. debulm

    debulm Chieftain

    Joined:
    Jul 27, 2010
    Messages:
    33
    in alpha centauri, the vassal state will always be in favor for the master state.
     
  10. CaptainMidnight

    CaptainMidnight Warlord

    Joined:
    Apr 16, 2006
    Messages:
    141
    Or even better, dependent on which culture is dominant in a city.
     
  11. stolenrays

    stolenrays Deity

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

    Dementual Chieftain

    Joined:
    May 20, 2008
    Messages:
    58
    I really like this idea a lot and I'd love to see it integrated into some larger mods down the road.

    Gotta keep Civ 4 modding alive, and this is one of those gems.
     
  13. stolenrays

    stolenrays Deity

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

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
    Reading the Conquerer's Delight thread I found out that the puppet state civ is dependant on the parent civ that you just conquered.
     
  15. deepwater

    deepwater Chieftain

    Joined:
    Apr 17, 2011
    Messages:
    30
    Hi, I wanted to merge this nice modpack, put the CvCity.cpp is missing. :(
    Or did I just missed it somehow? :confused:
    If I'm right, could you please upload the CvCity.cpp somewhere, thanks. :goodjob:
     
  16. stolenrays

    stolenrays Deity

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

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061
  18. deepwater

    deepwater Chieftain

    Joined:
    Apr 17, 2011
    Messages:
    30
    thank you very much :) :cool:
     
  19. Tholal

    Tholal Emperor

    Joined:
    May 19, 2009
    Messages:
    1,676
    In CvPopupInfo.cpp, why do you have all of the Data4 code commented out?
     
  20. stolenrays

    stolenrays Deity

    Joined:
    Aug 2, 2009
    Messages:
    2,061


    Actually, I don't think that that C++ file is needed. I was just hesitant to take things out while I was testing and updating it.

    Dom Pedro II Commented it out initially. I believe he did that because he was continuously adding new components to Conquerer's Delight.
     

Share This Page