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

Vassal drags me into wars

Discussion in 'Civ4 - Rhye's and Fall of Civilization' started by innonimatu, Dec 15, 2006.

  1. innonimatu

    innonimatu Deity

    Joined:
    Dec 4, 2006
    Messages:
    11,632
    I'm playing as Egypt and have Mali as a vassal. Suddenly Mali declared war on the mongols (without even having the means to reach any mongol territory), dragging me along. I was under the impression a vassal should never be able to declare war. Am I wrong, is this a bug, or is it part of the mod?

    I couldn’t afford a war with the mongols, so I loaded a previous save. It happened again, later, this against the germans.
     
  2. CyberChrist

    CyberChrist You caught my attention

    Joined:
    Dec 6, 2001
    Messages:
    1,424
    Location:
    The Matrix
    Currently the AIWars.py file only seem to be checking Vassals to avoid them attacking their own masters. I am not sure if it is the intention that Vassals should be able to declare war on others in RFCW.

    In case it isn't then here is a method to include a check for Vassals to avoid them declaring war at all. It is not fully tested, but it should do the trick.
    Spoiler :

    Change the following line in AIWars.py
    Code:
                                    if (gc.getPlayer(iLoopCiv).isAlive() and not gc.getPlayer(iLoopCiv).isHuman()):
    
    to the following line
    Code:
                                    if (gc.getPlayer(iLoopCiv).isAlive() and not gc.getPlayer(iLoopCiv).isHuman() and self.isNoVassal(iLoopCiv)):
    
    AND adding the following to the bottom of the AIWars.py
    Code:
            def isNoVassal(self, iCiv):
                    iMaster = 0
                    for iMaster in range (iNumTotalPlayers):
    	                     if (gc.getTeam(gc.getPlayer(iCiv).getTeam()).isVassal(iMaster)):
    	                             return false
                    return true
    
     
  3. innonimatu

    innonimatu Deity

    Joined:
    Dec 4, 2006
    Messages:
    11,632
    Thanks, having petty vassals drag me into major wars was spoiling my stategy (and my fun). :goodjob:
     
  4. Rhye

    Rhye 's and Fall creator

    Joined:
    May 23, 2001
    Messages:
    9,468
    Location:
    Japan / South America
    vassal currently considers master's attitude and hardly declares war to civs whose attitude is pleased or friendly to the master
     
  5. CyberChrist

    CyberChrist You caught my attention

    Joined:
    Dec 6, 2001
    Messages:
    1,424
    Location:
    The Matrix
    AIWars.py only check if the intended target of the aggressor is it's Master or Vassal. Besides that then Vassals follow the exact same rules as everyone else ( in the AIWars.py) - and they can (and do) declare war on other civs on their own accord.
     
  6. SilverKnight

    SilverKnight Prince

    Joined:
    Jul 20, 2003
    Messages:
    544
    Location:
    St. Louis, MO, USA
    But a vassal shouldn't be able to declare war at all...

    Also, I seem to recall that vassal states more often vote for their masters' interests during a Congress. That's true, right?

    SilverKnight
     
  7. Rhye

    Rhye 's and Fall creator

    Joined:
    May 23, 2001
    Messages:
    9,468
    Location:
    Japan / South America
    right

    not entirely true. (see my above post)
     
  8. CyberChrist

    CyberChrist You caught my attention

    Joined:
    Dec 6, 2001
    Messages:
    1,424
    Location:
    The Matrix
    Heh ok, I know that the AIWars.py does take the relations between the possible attacker and the possible target civ into consideration, but the point is that Vassals should never be allowed to be an Attacker at all and declare war on their own accord. This is/should be the privilege of their Master and currently there is no check to ensure that Vassals doesn't do this.

    Of course, if you fully intended for Vassals to be able to declare war (however rarely) in your mod then everything is working as planned - I suppose :p .
     
  9. Rhye

    Rhye 's and Fall creator

    Joined:
    May 23, 2001
    Messages:
    9,468
    Location:
    Japan / South America
    well I intended that - I don't see any reason why a vassal shouldn't.
     
  10. CyberChrist

    CyberChrist You caught my attention

    Joined:
    Dec 6, 2001
    Messages:
    1,424
    Location:
    The Matrix
    Well ok, but personally I think it goes against the entire idea of Vassals. What is the point of agreeing to let a weak civ live, if it increase your risk (even more) of an unwanted war with a more powerful civ - or your best friend(s)?

    Imho Vassals shouldn't have any say in the matter and be able to drag their Masters into wars.

    Perhaps if it was possible for a Vassal to demand a war against another civ from it's Master, who could then decline and thus break the Master/Vassal status - leaving the former Vassal to declare and fight the war on it's own accord?
     
  11. Rhye

    Rhye 's and Fall creator

    Joined:
    May 23, 2001
    Messages:
    9,468
    Location:
    Japan / South America
    there are plenty of examples in history. Just think of North and South Korea
     
  12. SilverKnight

    SilverKnight Prince

    Joined:
    Jul 20, 2003
    Messages:
    544
    Location:
    St. Louis, MO, USA
    Hm, point, but I'm still not comfortable with the idea. I'd rather err on the side of gameplay, rather than historicity, on this one. Letting vassals run around starting wars for the player seems to defeat the purpose of having one; I'd rather just finish them off myself.

    SilverKnight
     
  13. soccerrules

    soccerrules Chieftain

    Joined:
    Oct 2, 2002
    Messages:
    69
    Kim Il-Sung of North Korea asked Stalin if he could invade South Korea. Initially Stalin did not agree, but about a year later Stalin agreed when North Korea had built up it's army more.

    I suggest that we go with CyberChrist's suggestion that we have the vassal ask the master before declaring war, much like Kim Il-Sung did.
     
  14. Stacmon

    Stacmon Explorer

    Joined:
    Apr 10, 2006
    Messages:
    618
    Location:
    Ottawa, Canada
    I agree with Rhye on this one, the very rare occurrence that a Vassal might declare war on another civ (even if they've capitulated to you) should remain in the game. The bottom line is, if you don't want to take such (minimal) risks, simply wipe out your opponents without offering them vassal status.

    If one takes this line of thinking too far, it could be argued that vassal states shouldn't be able to deny their masters' demands. But of course we know that if you push a vassal enough, it may result in a war.
     
  15. SadoMacho

    SadoMacho spanker of civilizations

    Joined:
    Aug 15, 2006
    Messages:
    811
    Location:
    Flanders, Belgium
    Vassal Sadam asked master Bush senior to if he could invade Kuwait, but that was just a trck to get ride of Sadam.
     
  16. innonimatu

    innonimatu Deity

    Joined:
    Dec 4, 2006
    Messages:
    11,632
    Yes, that's a little known "detail" about the gulf war.

    Rhye, sorry to disagree (I like very much your mod), but there are no good historical examples of something akin to a master state allowing himself to be dragged to war by a vassal state, unwillingly. Quite the opposite.
    The nearest thing to that was the start of WW1, with Serbia apparently dragging Russia to war. But as Vrylakas pointed out in his fine thread about the origins of WW1 in the history forum back in 2004, Russia went to war for its own reasons, not because it cared about Serbia. And war was not declared by Serbia. Historically even formal alliances were only honoured when that served the interests of the countries involved. In WW1 Italy dropped its alliances with the central powers, with slim legalistic excuses, and eventually went to war on the allied side, because it intended to capture austrian territory.

    Having a puny vassal with one city declare war on the largest empire in the game, even when that city is blocked on all sides by other empires without open borders, is totally unrealistic. And having the master being dragged into that war, without an option of dropping the vassal, is even more unrealistic. The only good reason to take small vassals on the game is to avoid rebellions anyway. But this is worse than a rebellion!
     
  17. Mercenary82

    Mercenary82 King

    Joined:
    Dec 16, 2006
    Messages:
    842
    Location:
    Nevada
    I just hate how you get the diplomatic penalty for initiating war when your vassal declares war. I had a game as the Turks with Germany as my vassal declaring war on Russia who was pleased with me but annoyed with Germany.
    I then got the -3 declaring war penalty and the -1 you declared war on my friend even though it wasn't my fault.
     
  18. Surtur

    Surtur Warlord

    Joined:
    Jan 20, 2005
    Messages:
    208
    Location:
    Karlsruhe, Germany
    In Warlords vassals can't declare war on other civs. They adopt the diplomacy of their master. So why should we change this in RFC?
     

Share This Page