xienwolf
Deity
Use a negative value to give gold to a city IIRC. Science has come up a few times, and I am pretty sure is written in my design doc a couple of dozen places as "do this soon" just keeps getting dropped from the priority list 

<PromotionInfo> <!-- Cruel Mistress -->
<Type>PROMOTION_CRUEL_MISTRESS</Type>
<Description>TXT_KEY_PROMOTION_CRUEL_MISTRESS</Description>
<PromotionPrereq>PROMOTION_MISTRESS</PromotionPrereq>
<MinionPromotions>
<PromotionType>PROMOTION_CRUEL_MISTRESS_EFFECT</PromotionType>
</MinionPromotions>
<UnitCombats>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
</UnitCombats>
<Button>Modules\NormalModules\FallInLove\Art\mistress.dds</Button>
</PromotionInfo>
<PromotionInfo> <!-- Cruel Mistress Effect -->
<Type>PROMOTION_CRUEL_MISTRESS_EFFECT</Type>
<Description>TXT_KEY_PROMOTION_CRUEL_MISTRESS_EFFECT</Description>
<bEffectProm>0</bEffectProm>
<bStackEffect>0</bStackEffect>
<CommanderPromotions>
<PromotionType>PROMOTION_CRUEL_MISTRESS_BOUNCE</PromotionType>
</CommanderPromotions>
<iCombatPercent>-15</iCombatPercent>
<UnitCombats>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
</UnitCombats>
<Button>Modules\NormalModules\FallInLove\Art\fallinlove.dds</Button>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
<PromotionInfo> <!-- Cruel Mistress Bounce -->
<Type>PROMOTION_CRUEL_MISTRESS_BOUNCE</Type>
<Description>TXT_KEY_PROMOTION_CRUEL_MISTRESS_BOUNCE</Description>
<bEffectProm>0</bEffectProm>
<bMustMaintain>1</bMustMaintain>
<bStackEffect>1</bStackEffect>
<iPower>2</iPower>
<iCombatPercent>15</iCombatPercent>
<UnitCombats>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ADEPT</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_DISCIPLE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MELEE</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_MOUNTED</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_RECON</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
<UnitCombat>
<UnitCombatType>UNITCOMBAT_COMMANDER</UnitCombatType>
<bUnitCombat>1</bUnitCombat>
</UnitCombat>
</UnitCombats>
<Button>Modules\NormalModules\FallInLove\Art\fallinlove.dds</Button>
<iMinLevel>-1</iMinLevel>
</PromotionInfo>
bMustMaintain means that any time the unit wouldn't be capable of selecting the promotion for their next level-up (or immediately if it is bNoXP. Also assuming they didn't already have it already) that the promotion will be removed. So using a iMinLevel of -1 along with MustMaintain forces them to automatically lose it.
<snip>
Also, UnitCombat is only required to be listed for MinionPromotions. CommanderPromotions are always given to the Commander, regardless of their UnitCombat.
bStackEffect means that you can have multiple copies of the promotion applied to you. So that is what is letting you get 2 copies, if you intended that you can never have more than 1 applied.
Yes.By permanent, did you mean that even if you remove/delete/move the Followers that the Cruel Mistress Bounce remains in place?
How I am reading this, Captain has Cruel Mistress, Sergeant under her gets Cruel Mistress Effect, and grants the Captain Cruel Mistress Bounce. End result is -15% for Sergeant, +15% for Captain. Since the bounce is Stacking, if the Captain has 2 Sergeants, each gets -15%, Captain gets +30%.
for i in range(pComm.getNumMinions()):
pLoopUnit = pComm.getMinionUnit(i)
Is this all with Patch A? It sounds worse than the bug which Patch A solved, but similar.
Didn't notice your other 2 questions before:
You can ask the Commander how many Minions he has, then loop over that number and ask for each minion.
Code:for i in range(pComm.getNumMinions()): pLoopUnit = pComm.getMinionUnit(i)
Best way I can think of to run python on death of a unit would be a Promotion which grants Immortality and executes some python when removed. That could include killing the unit again if you hadn't intended they actually be immortal you can kill them during that python, though the C++ code might not like them dying just at that particular point. I can fix that up if it does cause a crash though.
I tested with a normal commander boosting promotion, one without bouncing and that seems to work despite being nearly identical. Gonna try having Cruel Mistress grant that promotion, and see what happens.
I'm not familiar enough with the current features of Orbis to know if this is a possibility, but could the disappearing trolls in FF have been Diakonos-related? The "lost" units do completely disappear if nothing else is in range to see them.