Closed devolution79 closed 1 year ago
I never use permanent alliances. If you treat natives well, they give you gifts. If you treat them poorly they attack you. Permanent alliances allows poor treatment without negative consequences. I question if permanent alliances makes any sense at all in Colonization.
I don't like it either, in fact I'd favor that we remove the option altogether. There's also other options to review\rework(always war) or to perhaps add (aggressive AI)
Adding or removing GameOptions will break savegames. It's avoidable, but with some not very clean code. Alternatively #46 could be made to avoid this, but implementing that one would break savegames by itself.
The only short term realistic way I can see removal without breaking savegames is to keep the setting, but ignore it. We can then remove the setting once we break savegames anyway. That approach would however result in a non-working setting, which would be a bug in itself.
The cleanest solution is to do nothing in 2.7.x.
This was fixed by closing the exploits.
From a recent forum post:
"In this game I'm playing, I got an offer for a "permanent alliance" from the nearby native arawak tribe just after a few trades and a couple of missions. Weak as they were, I accepted simply because they were the first tribe to ever offer me such an offer and I was pleasantly surprised I could simply take whatever resources I could from them while trading. It was a bit OP, but having your early colonies use a native civ's food-producing capability is massively fun. The silver doesn't hurt either "
OPINION This makes sense when human players are allied, but for AI players I think that there should be no free stuff, that is simply an exploit. If we compare with BTS, permanent alliances are unlocked with a late mid-game tech. In addition, there are no yields to get for free. I think that they simply copied the logic from BTS but then forgot to adjust it for the COL yield system. Certain native leaders are generally very friendly (Pine Leaf) and it's easy to get a permanent alliance in the early game.
I think that either we should consider a direct nerf like having someone dislike you for having an alliance with the indians or we should only unlock this feature in the late game. Alternatively, we could modify the logic so that a human player cannot get stuff for free from an AI controlled player.
IMPLEMENTATION NOTES
Add this to to DenialTypes CvTeamAI::AI_permanentAllianceTrade(TeamTypes eTeam) const :
bool CvPlayerAI::AI_considerOffer(PlayerTypes ePlayer, const CLinkList pTheirList, const CLinkList pOurList, int iChange)
To easily enter a permanent alliance for testing purposes, add the following to the start of the function: // Erik: for exploit testing only! return NO_DENIAL; This will have the native tribe not object to the alliance so that you can test the effects.
Alternatively, if we consider PA to be unbalanced since they are enabled at the start of the game. We could introduce a XML parameter and let it default to having half of the turns of the game to have passed before actually activating them: