Advanced Diplomacy 2

Thanks keldath,

I could edit the leader AI, but I was just wondering if this lovefest was normal behavior for AD2. It just seems odd to me that the other leaders would go to pleased and friendly so quickly. I have Rite of Passage and embassies with most of them. Is that what's causing it?

I may have done something wrong in the merge. The C++ was very difficult when getting around Better AI. I guess I'll see how the rest of the game goes. I already have quite a lot of things to debug. :(
 
The trades definetely add to the increased positive attitudes Lemon. If you have any questions about merging Adv Diplomacy, you can always check out my IIW Mod which merges tons of stuff including K-Mod with AD2.
 
The trades definetely add to the increased positive attitudes Lemon.
Does that affect the game long term? I can see a lovefest seriously skewing the diplo in my favor. It's nice to be loved, but are the game mechanics compromised by this? Will they eventually get angry and DoW me like I'd expect an AI to do?

I'm just concerned that the friendly relations are A) A coding error on my part in merging, and B) making the AI (even Toku) too friendly.
 
I've had to be a way for a bit for a r/l thing. I'll continue my game and see what happens as time goes on.
 
Just been merging the latest version into my mod and noticed that there appears to be a bug in CvPlayerAI::AI_civicValue on line 10604. The player variable looks to be uninitialized and should probably be inside a loop. The variable is last set in a loop using GC.getNumSpecialBuildingInfos() so that doesn't look right to me

Existing code
Code:
	int iAttitudeChangeValue = 0;

	if (GC.getGameINLINE().isCondemnCivicCountTotalArrayValid()) // getCondemnCivicCountTotalArray() != NULL
	{
		int iBaseAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude() * 2;

		if (GET_PLAYER(PlayerTypes([COLOR="Red"][B]iI[/B][/COLOR])).isAlive())
		{
			iAttitudeChangeValue += GET_PLAYER(PlayerTypes(iI)).AI_getCondemnCivicAttitude(getID(), eCivic) * iBaseAttitude;
		}
	}

Should it be this?
Code:
	int iAttitudeChangeValue = 0;

	if (GC.getGameINLINE().isCondemnCivicCountTotalArrayValid()) // getCondemnCivicCountTotalArray() != NULL
	{
		int iBaseAttitude = GC.getLeaderHeadInfo(getPersonalityType()).getBaseAttitude() * 2;

		for (int iI = 0; iI < MAX_PLAYERS; ++iI)
		{
			if (GET_PLAYER(PlayerTypes(iI)).isAlive())
			{
				iAttitudeChangeValue += GET_PLAYER(PlayerTypes(iI)).AI_getCondemnCivicAttitude(getID(), eCivic) * iBaseAttitude;
			}
		}
	}
 
I have just found a CTD bug when calculating global warming in CvGame::doGlobalWarming() starting at line 6328

The loop variable used to iterate through the global warming values is used as a player index, so as soon as this value increases above the number of players an invalid reference is made to the memory count array resulting in a CTD.

PHP:
/************************************************************************************************/
/* Advanced Diplomacy         START                                                             */
/************************************************************************************************/
					if (GC.getGameINLINE().isOption(GAMEOPTION_ADVANCED_DIPLOMACY))
					{
						if (pPlot->getOwnerINLINE() != NO_PLAYER)
						{
							GET_PLAYER((PlayerTypes)iI).AI_changeMemoryCount(pPlot->getOwnerINLINE(), MEMORY_YOU_POLLUTE, 1);
						}
					}
/************************************************************************************************/
/* Advanced Diplomacy         END                                                               */
/************************************************************************************************/

The code looks like it should have in internal loop through the players to update the pollution memory:

PHP:
/************************************************************************************************/
/* Advanced Diplomacy         START                                                             */
/************************************************************************************************/
					if (GC.getGameINLINE().isOption(GAMEOPTION_ADVANCED_DIPLOMACY))
					{
						if (pPlot->getOwnerINLINE() != NO_PLAYER)
						{
							for (int iJ = 0; iJ < MAX_CIV_PLAYERS; iJ++)
							{
								if (iJ != pPlot->getOwnerINLINE())
								{
									if (GET_PLAYER((PlayerTypes)iJ).isAlive())
										GET_PLAYER((PlayerTypes)iJ).AI_changeMemoryCount(pPlot->getOwnerINLINE(), MEMORY_YOU_POLLUTE, 1);
								}
							}
						}
					}
/************************************************************************************************/
/* Advanced Diplomacy         END                                                               */
/************************************************************************************************/
 
signNonAggression and signPOW are not members of CvTeam.h

"isFreeTradeAgreeement" is mis-spelled in signFreeTradeAgreement.

You have a call to isNonAggression in the same function but the function being called doesnt exist.

Seems as if this most recent code has never been compiled before.
 
hi
its a great mod
but there is a problem
after a time , the countries that you have deal with them like right of passage , open borders , embassy , non pact and ....
all of them has been cancel suddenly with out reason after a while !

 
I have been trying to merge 'the Road to war' mod and the 'Advanced diplomacy 2' mods together. What I want is the advanced diplomacy options in 'Advanced diplomacy 2' and the better aircraft missions and the ranged artillery/ship bombard from 'the road to war' mod.
I have merged and compiled the game core DLL file and merged the python/XML files and there seems to be no errors.
However when I load the mod, when the game loads up I get a message saying my computer specs are too low and the game has automatically set it to minimum graphics.
When I go to options to turn the graphics up there is no options on the screen. All the tabs like graphics/audio are there but the menus have nothing in them.
If I play the game it works without crashing and I have played a few turns without fault, but there are no interfaces. All the menus work if I use the short cuts to activate them but the buttons do not appear. The only menu that refuses to work is the City screens.
I just do not know what I have done to remove these or how to find out where the error lies. I have never had these faults with any other mod. I would like to know if anybody knows what I should do or if there is already a mod with these features in it.
Here is the Mod on Google drive
https://drive.google.com/drive/folders/1juU26Xnd5sVml1igWIXNEkbq5BF8o4gI?usp=sharing

The game needs 74 civs so here is a scenario I intend to use it with
https://drive.google.com/file/d/1AsZcnaOV6MaL1E4HoVIT1YWc2XDxbKkR/view?usp=sharing
 
Top Bottom