buck beach
Prince
OK I give up. If my Warlord leader or unit has this promotion and is in a "Garrisoned City" why does the city keep revolting?
So if I have a city with 2 units, each with a "City 10% less likely to revolt" promotion, do they stack? Is the effectiveness of the garrison increased by +10% or +20%?
#Afforess Revolt Protection
garIdx *= int((100 + (pCity.plot().getRevoltProtection())) / 100)
#Afforess End
garIdx = int(math.floor( self.garrisonModifier*garIdx + .5 ))
#Afforess Revolt Protection
garIdx = garIdx * self.garrisonModifier * (100 + pCity.plot().getRevoltProtection())/100
#Afforess End
garIdx = int(math.floor(garIdx + .5 ))
Here's the save.
I am still using an old revision (want to finish an old game before updating to the new exploration mechanics).
Also in use is the megacivpack.
I did not realize you were playing a version that old. That game was saved from rev993. What you're seeing is the way the revolution mechanics used to work. I did not add the garrison cap increases until rev1015. Before that, the caps were actually -10 (nationality problems)/-15 (no nationality problems). I increased the caps to give players an additional way to fight revolutions, if they were willing to pay for it in terms of garrison unit commitments. I didn't just want to make garrisons more effective in general.
The thing that I can't fix is that the game text still displays "% less likely to revolt" rather than the actual "% to garrison effectiveness". That needs DLL editing to cover flipping between Revolutions and No Revolutions.
if (GC.getPromotionInfo(ePromotion).getRevoltProtection() != 0)
{
szBuffer.append(pcNewline);
szBuffer.append(gDLL->getText("TXT_KEY_PROMOTION_REVOLT_PROTECTION_TEXT", GC.getPromotionInfo(ePromotion).getRevoltProtection()));
}
<Tag>TXT_KEY_PROMOTION_REVOLT_PROTECTION_TEXT</Tag>
<English>[ICON_BULLET]Garrisoned City %d1_percent%% less likely to Revolt</English>
I think I'm missing the point; why shouldn't we just change the text? In the dll that text is only called once and it's already independent from the Revolution/No Revolutions choice...
Code:if (GC.getPromotionInfo(ePromotion).getRevoltProtection() != 0) { szBuffer.append(pcNewline); szBuffer.append(gDLL->getText("TXT_KEY_PROMOTION_REVOLT_PROTECTION_TEXT", GC.getPromotionInfo(ePromotion).getRevoltProtection())); }
where TXT_KEY_PROMOTION_REVOLT_PROTECTION_TEXT reads
Code:<Tag>TXT_KEY_PROMOTION_REVOLT_PROTECTION_TEXT</Tag> <English>[ICON_BULLET]Garrisoned City %d1_percent%% less likely to Revolt</English>
I would prefer if the text could flip between the current text if No Revolutions is on and something along the lines of "Increases stability from garrison by X%" if No Revolutions is off.