Vassals

In void CvTeam::uninit()
Code:
	m_bBrokenCityStatePromise = false;

	m_eCurrentEra = ((EraTypes) 0);

#if defined(MOD_DIPLOMACY_CIV4_FEATURES)
	m_iVassalageTradingAllowedCount = 0;

	// NOTE: if m_eCurrentEra != 0, it will be necessary to loop 0 to m_eCurrentEra here, but that should NEVER be the case
	CvEraInfo* pEraInfo = GC.getEraInfo(m_eCurrentEra);
	if(MOD_DIPLOMACY_CIV4_FEATURES && pEraInfo && pEraInfo->getVassalageEnabled())
	{
		if(!GC.getGame().isOption(GAMEOPTION_NO_VASSALAGE))
		{
			changeVassalageTradingAllowedCount(1);
		}
	}
#endif

	m_eLiberatedByTeam = NO_TEAM;
 
Not a bug as such. As you start in the Ancient era (with agriculture) you never enter it, so the game never detects this as an era change, so the event never fires.

Same reason you don't get a splash screen for entering the Ancient Era as the game starts up.

Would it be a simple process for me to change the event trigger from an era to turn 1, or the founding of the capital?
 
Would it be a simple process for me to change the event trigger from an era to turn 1, or the founding of the capital?

No, but I do provide the means to assign vassalage to a tech, so you can add it to Agriculture :)
 
No, but I do provide the means to assign vassalage to a tech, so you can add it to Agriculture :)

Ah, nice! So in the sql section, I see:

Spoiler :
Technologies

UPDATE Technologies SET 'MapTrading' = 1 WHERE Type = 'TECH_MILITARY_SCIENCE'; -- Enables World Map Trading
UPDATE Technologies SET 'TechTrading' = 1 WHERE Type = 'TECH_SCIENTIFIC_THEORY'; -- Enables Technology Trading

---------------------------------------------------------------------------------------------
-- Eras
UPDATE Eras SET 'VassalageEnabled' = 1 WHERE Type = 'ERA_ANCIENT';


Should I delete the Eras section, and under the tech section write

UPDATE Technologies SET 'VassalageEnabled' =1 WHERE Type = 'TECH_Aggriculture';

and just follow the spacing patterns you've set in the sql?
 
It should be:

Code:
UPDATE Technologies SET 'VassalageTradingAllowed'=1 WHERE TYPE = 'TECH_AGRICULTURE';

I'm so glad I foresaw config issues!
 
New Beta version (4/9) has this code
Code:
function CheckVassalageStarted()
	function TestVassalageStarted()
		local player = Players[Game.GetActivePlayer()];
		local team = Teams[player:GetTeam()];
		return (team:GetCurrentEra() >= Game.GetVassalageEnabledEra()) or team:IsVassalOfSomeone();
	end

	local bVassalStarted = false; --change here
	Controls.VassalButton:SetHide(not bVassalStarted);
	if(bVassalStarted) then
		DoUpdateVassalButton();
	end
end
but the vassal button still appears on Turn 1...
 
New Beta version (4/9) has this code
Code:
function CheckVassalageStarted()
	function TestVassalageStarted()
		local player = Players[Game.GetActivePlayer()];
		local team = Teams[player:GetTeam()];
		return (team:GetCurrentEra() >= Game.GetVassalageEnabledEra()) or team:IsVassalOfSomeone();
	end

	local bVassalStarted = false; --change here
	Controls.VassalButton:SetHide(not bVassalStarted);
	if(bVassalStarted) then
		DoUpdateVassalButton();
	end
end
but the vassal button still appears on Turn 1...

Intentional on EUI
 
Hi Putmalk! Can I make a suggestion for the vassal screen? Basically, what I would like to see is an overview of the actual yield benefits in one place. Currently, to see the Science/Culture/Faith benefits I have to manually hover over each yield to see it. Also, it would be good to include the gold cost of maintaining them.

This would be both as a general info + for each vassal. Here is my suggestion for the screen:



Thanks!
 
Hi!! havent played this since some versions, yesterday i played with last version
and i had 3 vassals!

i started a war against Maya and suddenly my vassals went to war against me??

is it me that have missed something?:confused:
 
If possible, make it so we can always trade cities with our vassals. This will allow us to return captured cities to them.
 
Had the suddenly lose a vassal thing as well, had a vassal, no taxes, happy with me.

Went to war with another civ, immediately says I liberated my vassal,and now they are at war with me. Thankfully I could pivot and crush them just in time, but it was odd to say the least.
 
Had the suddenly lose a vassal thing as well, had a vassal, no taxes, happy with me.

Went to war with another civ, immediately says I liberated my vassal,and now they are at war with me. Thankfully I could pivot and crush them just in time, but it was odd to say the least.

I wonder if they are making defensive treaties? They should not be able to do this if they are.
 
Had the suddenly lose a vassal thing as well, had a vassal, no taxes, happy with me.

Went to war with another civ, immediately says I liberated my vassal,and now they are at war with me. Thankfully I could pivot and crush them just in time, but it was odd to say the least.

Same here, had Persia vassal and when I went to a war with Iroquois the popups said I liberated Persia and they went to war with me. My guess was I moved my longswordman to a tile with Persia worker and that started a war (the same turn I begun Iroquois war). But know I don't know, in the end this war was good for me because I got their Natural Wonder xP
 
I almost lost a city due to it... I didn't expect my happy vassal to just attack me like that on the other side of my empire. I put up just enough fight to not lose a city, and then crushed them once I could get enough army over there, but it was certainly unexpected...

And the person I declared war on, hated my vassal, and put up a resolution to hurt them. So maybe a defensive pact, but not sure since they hated each other at that point.
 
Hi!!

i don´t remember if i asked this before, and if i did i don´t remember what you other thoughts about it!


If you liberate a city of a Civilization that has been destroyed earlier back to the game
he get´s really happy about that ofcourse (recalled for life or something like that)


But wouldn´t it be awesome if he/she automatically gets your vassal so
you can protect the civilization or make a decision later by yourself to free the people
of that civ??
 
Top Bottom