[SDK] Advanced Diplomacy

Did you notice the comments I made in CvPlayerAI?

Code:
//If using RevDCM, use AI_beginDiplomacy, otherwise, use gDLL->beginDiplomacy()
gDLL->beginDiplomacy(pDiplo, (PlayerTypes)iI);
//AI_beginDiplomacy(pDiplo, (PlayerTypes)iI);

They appear a few times and will make the new trade items compatible with the Cease Bothering Us option.

What do you have to use if you have only DCM and the Cease Bothering Us option?
 
Check to see if you have a function in CvPlayerAI called "AI_BeginDiplomacy". It's not in BTS normally, which is why I ask. If you do, change the code like the comment says. If not, leave it alone.
 
Check to see if you have a function in CvPlayerAI called "AI_BeginDiplomacy". It's not in BTS normally, which is why I ask. If you do, change the code like the comment says. If not, leave it alone.

Thanks, it's there often, although I didn't merge Revolution:

Code:
/*************************************************************************************************/
/** REVOLUTIONDCM_MOD                         02/04/08                            Glider1        */
/**                                                                                              */
/**                                                                                              */
/*************************************************************************************************/
													// RevolutionDCM start - new diplomacy option
													AI_beginDiplomacy(pDiplo, (PlayerTypes)iI);
													// gDLL->beginDiplomacy(pDiplo, (PlayerTypes)iI);
													// RevolutionDCM end
/*************************************************************************************************/
/** REVOLUTIONDCM_MOD                         END                                 Glider1        */
/*************************************************************************************************/
 
Hi Afforess...

i saw something.. the description text for 'establish embassy'
"[COLOR_LIGHT_GREEN]" tag seems not being parsed

maybe the tag is invalid??

anyway, i would like to use this mod with "Better BTS AI". i have copied both mod to Assets folder.. but the dll is different.. (i decided to copied Advanced diplomacy dll instead)
is this correct?? is BBAI takes effect??

i also have played RoM AND.. its a very realistic mod.. (though it takes huge time to loading in my midend laptop) :p
thanks :)
 
Bataknese,
hi,

the color thing is just some text code error, its not bad, maybe i ca fix it.

as for your "merge",
im afraid you can just copy over dll, theres quite a lot of merges to be made in a lot of files, and then compile a dll. you have removed bbai...

my mod - overlord2, includes advanced diplo, and i promise that it will work faster then rom on your laptop, i too play my mod on my laptop, check my thread out.
 
I've got this (from Do not bother option):

PHP:
/************************************************************************************************/
/* REVOLUTIONDCM_MOD                         02/04/08                            Glider1        */
/*                                                                                              */
/*                                                                                              */
/************************************************************************************************/
// RevolutionDCM start - new diplomacy option
void CvPlayerAI::AI_beginDiplomacy(CvDiploParameters* pDiploParams, PlayerTypes ePlayer)
{
	if (isDoNotBotherStatus(ePlayer))
	{
		// Divert AI diplomacy away from the diplomacy screen and induce the appropriate reaction
		// in the AI equivalent to a human rejecting the AI's requests in the interface. There are
		// a number of AI requests that do not need handling and that simply time out. There are
		// also AI requests that occur in CvTeam that induce the diplomacy screen in any case.
		// This diplomacy modification does not alter the AI's characteristics at all and is actually 
		// just an interface modification for a player to shut down talks with an AI automatically.
		int ai_request;
		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_RELIGION_PRESSURE");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_NO_CONVERT, ePlayer, -1, -1);
		}

		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_CIVIC_PRESSURE");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_NO_REVOLUTION, ePlayer, -1, -1);
		}

		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_JOIN_WAR");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_NO_JOIN_WAR, ePlayer, -1, -1);
		}

		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_STOP_TRADING");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_NO_STOP_TRADING, ePlayer, -1, -1);
		}

		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_ASK_FOR_HELP");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_REFUSED_HELP, ePlayer, -1, -1);
		}

		ai_request = (DiploCommentTypes)GC.getInfoTypeForString("AI_DIPLOCOMMENT_DEMAND_TRIBUTE");
		if (ai_request == pDiploParams->getDiploComment())
		{
			this->handleDiploEvent(DIPLOEVENT_REJECTED_DEMAND, ePlayer, -1, -1);
			if (AI_demandRebukedWar(ePlayer))
			{
				this->handleDiploEvent(DIPLOEVENT_DEMAND_WAR, ePlayer, -1, -1);
			}
		}
	}
	else
	{
		gDLL->beginDiplomacy(pDiploParams, (PlayerTypes)ePlayer);
	}
}
// RevolutionDCM end
/************************************************************************************************/
/* REVOLUTIONDCM_MOD                         END                                 Glider1        */
/************************************************************************************************/

Is there no need for new entries for AD?
 
Nope. As long as you made the correct changes to AI_doDiplo in CvPlayerAI, where I put the RevDCM comments, you should be good.
 
Hi guys, I just dropped by to report about some bugs I found while trying this mod component;

a: The Establish Embassy pop-up info says that you will have visibility over the other civ's capital, but it doesn't give me visibility over it.

b: Some UI errors on the description on the pop-up info of the Establish Embassy, i.e [COLOR_LIGHT_GREEN].

I tried fixing the color by using the [COLOR_POSITIVE_TEXT] tag and it works.

How did I install it: unzipped it to the mod folder on civ 4's install directory, I also tried putting it on the mod folder on the my documents, the bugs mentioned above were still present.

I'm just new to installing mods, so if ever I made a mistake please tell me and sorry. Anyways thanks.
 
Just merged this modcomp, no problems yet :goodjob:
Few suggestions:
1. Add a small icon for embassy trading and RoP-agreements in the techtree.
2. A prereq-tech for contact-trading and unit-trading
3. An icon in the techtree for 2.
 
Arian, when you set up an embassy do you have visibility with the target civ?

I have no visibility in that civ.
Also I can not propose a RoP or to establish an embassy. It seems only AIs can make proposals.
I cancelled an embassy with a civ and later tried to reestablish one but no option available in the diplo-screen. Not even in red...
 
I have no visibility in that civ.
Also I can not propose a RoP or to establish an embassy. It seems only AIs can make proposals.
I cancelled an embassy with a civ and later tried to reestablish one but no option available in the diplo-screen. Not even in red...

Are you serious? I can. But I probably have merged additional code from AND. Dunno exactly.
 
Did you notice the comments I made in CvPlayerAI?

Code:
//If using RevDCM, use AI_beginDiplomacy, otherwise, use gDLL->beginDiplomacy()
gDLL->beginDiplomacy(pDiplo, (PlayerTypes)iI);
//AI_beginDiplomacy(pDiplo, (PlayerTypes)iI);

They appear a few times and will make the new trade items compatible with the Cease Bothering Us option.

Forgot to change this. Will test later. Done.

1. I can't make any diplo-proposals (RoP and embassies) :confused:
2. Not sure if this belongs here or BBAI but AI can agree to become vassals of an other AI prior to feudalism, the tech that allows vassal states :confused:
 
Forgot to change this. Will test later. Done.

1. I can't make any diplo-proposals (RoP and embassies) :confused:
2. Not sure if this belongs here or BBAI but AI can agree to become vassals of an other AI prior to feudalism, the tech that allows vassal states :confused:

I'd bet that you screwed up the merge. If you play the modcomp as a mod (you can, I included a dll), you'll see it works fine.
 
Top Bottom