looking at the code again, both use prereq religion, there is a prereq civic, and it is being checked in the function, but both chalid and goetia seem to have theirs set to none, while their religions are set to empyrean and esus. again with the assumptions(gotta stop doing that).
so yeah xienwolf, as long as you can join either council regardless of religion, you should be able to have the hero of the one council giving you a free vote in the other. nice.
the actual code is in doturn, here is a snippet, sorry, java script is off, or i'd hide it
if (m_pUnitInfo->isAbandon())
{
bool bValid = true;
if (m_pUnitInfo->getPrereqCivic() != NO_CIVIC)
{
bValid = false;
for (int iI = 0; iI < GC.getDefineINT("MAX_CIVIC_OPTIONS"); iI++)
{
if (GET_PLAYER(getOwnerINLINE()).getCivics((CivicOptionTypes)iI) == m_pUnitInfo->getPrereqCivic())
{
bValid = true;
}
}
if (GET_PLAYER(getOwnerINLINE()).isAnarchy())
{
bValid = true;
}
}
if (bValid == true)
{
if (m_pUnitInfo->getStateReligion() != NO_RELIGION)
{
bValid = false;
if (GET_PLAYER(getOwnerINLINE()).getStateReligion() == m_pUnitInfo->getStateReligion())
{
bValid = true;
}
}
if bvalid is false, it calls kill on the unit(it also does some screen text to notify you), so if i read all this correctly, they will abandon you if you dont have the religion or civic they require, because its done on doturn(), if you actually give them to yourself through the editor they will leave you when you end turn. i tried it with most of the non civ specific heroes and lost them all.
while there is a prereq alignment in the unit infos, i don't see this function using it, while there could be another function using the isabandon() mechanic, i havent found it yet( i personally am planning on putting the check in whenever the civic changes, if possible), and i checked bambur, chalid, donal, and a couple of others, none of them have there prereqalignment set, MagisterCultuum. though it would be easy enough to add. or did i misunderstand you
*edited to try and space the code*
*spacing didn't work, but editing for stupidity