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

AI NPCs: Bards, Traders, Pilgrims, etc

Discussion in 'Civ4Col - Medieval: Conquests' started by Kailric, Jul 29, 2013.

  1. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Interesting idea and it wouldn't be that hard to implement. We could add a plot pointer to CvUnit and set it to NULL. If the unit has to be a pilgrim, this pointer will point at the plot the unit has to go to. When a unit enters a plot, if the new plot is == pilgrim plot pointer, then the pointer is set to NULL.

    This pointer can then be used in can*() functions where it returns false if it isn't NULL. This can be canBuild, canJoinCity or whatever we want.

    The question is if it will be fun if your soldier suddenly becomes a pilgrim and can't attack unless you get him to a plot on the other side of your enemy.

    At some point we will have an XML file telling about the city types. It would be possible to add a TXT_KEY with a name prefix (which can be empty). On founding, there is code to get a city name. This code can then be modded into attaching the prefix for the type of city in question. This mean all it does is changing the proposed name and the player has full ability to rename as he wants. The AI will always use the defaults. It sounds rather simple to implement once the XML file itself is added.
     
  2. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,671
    Location:
    UK
    I agree with night on the potential rage of a unit suddenly having to go for miles to get 'fixed'.

    I do like the idea of Crusading/Pilgrimming happening and giving benefits to your units on completion.

    Perhaps it could be an optional event, where it is a choice between Pilgrimmage or becoming a criminal, perhaps it could be limited to certain professions (like excluding external soldiers) or it could just be a choice to allow that person to pilgrimmage or not (So is it worth the work to get them 'Upgraded' or is it best to leave them working) it could perhaps be different depending on the unit, so professionals have the 'choose' to pilgrimmage version, and criminals, cottars, peasants, serfs get the 'forced to pilgrimmage' version.

    I also like the idea of the name prefixing for different city types, that could be fun and add a nice bit of flavour to the cities.
     
  3. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    This could be a good redemption mission for the Criminal units as an alternative to Court Houses.

    I made the suggestion of the Holy Land being a "EuropeType" that you can sail to and do Crusader missions that way, but no one liked it :D (Perhaps the idea of a battle map could be used here if we ever did that)

    But, perhaps we could implement a system where the game will generate a Holy City at the start, but what would be the criteria for it? We do have Rome now that is added to every random map, we could also add the Historical Leader of Jerusalem at this time. So, who was the ruler of Jerusalem in 476?

    EDIT: Looking at Europe Maps of 476 it looks like Byzantium had control of Jerusalem at this time. We could add them and create the Holy City that way, I planned to add them anyway.
    EDIT: And apparently this guy was its Emperor... http://en.wikipedia.org/wiki/Zeno_(emperor)

    I have planed a huge update to how cities are differentiated but this name change would be a good idea as well. We could add a new list of city names in Civ XML for Monastery Names and Castle Names, if this is empty or used up it will just use the default names with the suggested prefix.
     
  4. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    We should do something like this
    Code:
    <citynames>
        <cityname>
            <type>CITY_TYPE_CASTLE>
            <names>
                 <name>Castle A</name>
                 <name>Castle B</name>
                 <name>Castle C</name>
            </names>
        </cityname>
        <cityname>
            <type>CITY_TYPE_HAMLET>
    That way the schema file will not need updating if we add more city types. The same goes for the underlying DLL code to read the XML file. The XML reading code in InfoArray can read this out of the box, but it stores as shorts, not strings. I wonder how much work it would be to make it store strings instead. We really should make some sort of container class for strings rather than recoding XML reading code every time we add new strings. It would not only be faster to code, but also less risk of bugs as we reuse code.
     
  5. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,671
    Location:
    UK
    We could make it that Jerusalem is a city state all of it's own, making it easy to capture, then when religion is overhauled, controlling Jerusalem could give special benefits, like a big diplomacy boosts with same religion leaders and a big negative for other religion leaders.

    That or some kind of boost to pilgrimage gold or cross production, etc.

    That way the crusades could become a more likely occurance as:

    1) You don't have to fight a war with Byzantium to control it (which under the current sytem would probably be really hard as Byzantium would control a lot of cities and units from the start and even if not they would likely be a formidable adversary throughout the game)

    2) The Negative diplomacy (and hopefully the popes general desire to keep calling crusades against whoever owns it if heathen) will ensure a constant warring against whoever controls it. So Crusader and Jihadi armies will gravitate towards it.

    3) It wouldn't end up accidentally buried in the middle of the byzantium empire on the map, as it would be given it's own starting location.
     
  6. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Well, according to one timeline the Persians first took Jerusalem in 614, which the Byzantines took back in 629, then the Muslims take it in 638 and controlled it until 1099. So, apparently Byzantine begin to weaken in this part of the world around 638.

    Player's aren't expected to capture Holy Cities right from the start, so such an event would take place later in the game when they themselves are more formidable.

    Perhaps we could make this some kind of event, depending on how the map is randomly generated, Muslim invaders could come by land or sea and take Jerusalem and any cities in direct route. So then the Player's wouldn't have to fight Byzantine.

    Perhaps, if you are not allied with the Pope and you capture Jerusalem you could have options to allow Pilgrims or other religions to practice freely, charging them a tax like the Muslims did. Or you could choose to expel all other religions and disallow pilgrims which would really ignite Crusader/Jihad passion against you, but increase the influence of your own religion.

    Play testing would reveal issues with this, even if it has its own starting location it could still end up in hard to reach areas on random maps. For random maps we could just skip the whole Muslim capture from Byzantine idea and give to a Muslim state at the start. While not historically accurate it would simplify game mechanics.
     

Share This Page