Svaltafar vs. Ljosafar

Why does this need to be changed? The two elven factions hate each other, and this scripted situation ensures that their hatred will lead to war in most games. Increasing the AC trigger to 50 or 75 will mean that in most games they will not be forced into war, which defeats the purpose of the scripted trigger. The only reason to change or remove this is to allow the elves to cooperate with one another, which is out of character for them.

As for the AI being forced into war before it is ready, in theory the AI is capable of responding to that situation. After all, wars do not require the consent of both sides. Most wars involve one side that feels it is ready attacking another side that would like to make additional preparations but cannot. Doing the best possible to fight an unexpected war is something any player (human or otherwise) needs to be prepared to do at any time.
 
Would it be "helpful" if the script would gradually build up anger, instead of outright triggering a war?
This would probably work better most of the time, I think. It would help to solve situations where neither AI civ wants war and the false alarm situation where an AI civ declares on you but doesn't send a stack.
 
Why does this need to be changed? The two elven factions hate each other, and this scripted situation ensures that their hatred will lead to war in most games. Increasing the AC trigger to 50 or 75 will mean that in most games they will not be forced into war, which defeats the purpose of the scripted trigger. The only reason to change or remove this is to allow the elves to cooperate with one another, which is out of character for them.

As for the AI being forced into war before it is ready, in theory the AI is capable of responding to that situation. After all, wars do not require the consent of both sides. Most wars involve one side that feels it is ready attacking another side that would like to make additional preparations but cannot. Doing the best possible to fight an unexpected war is something any player (human or otherwise) needs to be prepared to do at any time.

that's all true, the current implementation is just far from being optimal and the result is that a war is declared that neither AI wants to wage so that it is canceled shortly after that.
 
Maybe a better solution would be to give them an increased base dislike for each other, and then have that increase as the AC rises? That way they'll be more and more willing to declare war on each other, but they'll still be able to do it on their own terms instead of having it hardcoded.
 
Why does this need to be changed? The two elven factions hate each other, and this scripted situation ensures that their hatred will lead to war in most games. Increasing the AC trigger to 50 or 75 will mean that in most games they will not be forced into war, which defeats the purpose of the scripted trigger. The only reason to change or remove this is to allow the elves to cooperate with one another, which is out of character for them.

There is a simple reason why this current "solution" is bad: A human player who knows about it can predict the behaviour. This makes especially for Faeryl no sense at all. She should be unpredictable.
 
that's all true, the current implementation is just far from being optimal and the result is that a war is declared that neither AI wants to wage so that it is canceled shortly after that.
There is a simple reason why this current "solution" is bad: A human player who knows about it can predict the behaviour. This makes especially for Faeryl no sense at all. She should be unpredictable.
Both excellent points...

Maybe a better solution would be to give them an increased base dislike for each other, and then have that increase as the AC rises? That way they'll be more and more willing to declare war on each other, but they'll still be able to do it on their own terms instead of having it hardcoded.
...and this, an excellent suggestion, although this would still be somewhat predictable. Perhaps a hidden counter for each, that increases as the AC increases (and possibly based on other factors) and acts to modify the chance that war will be declared without affecting the actual relations that are displayed? A human wouldn't be able to anticipate the attack based on a specific AC value, or based on changes in the "official" relations between the two nations. A random factor could be added in to ensure that it doesn't trigger at the same point each game, and the Svartalfar could have an added random factor to make Faeryl Viconia even less predictable. When war does trigger, a permanent relations penalty could be applied for both nations, to make them more willing to continue the war (and to increase the chance of future conflicts even if peace is made).
 
Is it possible to change how War Weariness is calculated on a per civ basis?

If the hatred is that great between the two, I would think that WW would grow much, much slower in a battle against your arch nemesis. In fact, you might start with a minor happiness bonus because your people are so happy at the chance to spill that enemy's blood. This might lead to more prolonged wars or more repeated wars, since I believe the AI is set to sue for peace after WW becomes crippling.
 
Perhaps random events could be used to give growing attitude penalties between the elves, or between any pairs of nations.
 
Can someone explain the CyGame().getPlayerRank()?
 
So in other words the code causes the player to gang on the weakest civ once AC goes over 40?
 
So in other words the code causes the player to gang on the weakest civ once AC goes over 40?

Well first it's going to have to run through this code:

Code:
if (CyGame().getGlobalCounter() > 40 or pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_INFERNAL') or pPlayer.getCivilizationType() == gc.getInfoTypeForString('CIVILIZATION_DOVIELLO')):
	if pPlayer.getAlignment() == gc.getInfoTypeForString('ALIGNMENT_EVIL'):
		if (eTeam.getAtWarCount(True) == 0 and CyGame().getPlayerRank(iPlayer2) > CyGame().getPlayerRank(iPlayer)):
		       if (iEnemy == -1 or CyGame().getPlayerRank(iPlayer2) > CyGame().getPlayerRank(iEnemy)):
			     iEnemy = iPlayer2

So the enemy variable only gets set if they're evil AND not at war. And yes, they are looking for the lowest rated possible opponent.
 
Why does this need to be changed? The two elven factions hate each other, and this scripted situation ensures that their hatred will lead to war in most games.

I just wanted a game where I could have an elven alliance. Should I be denied because were not supposed to? In reading the lore it appears to me that it is just political differences that got bloody, not the infinite hatred that's in the warhammer universe.
 
Back
Top Bottom