After a quick scan of the XMLs, these quests are the offenders for trying to create new units
with promotions via XML only:
CIRCLE_OF_GAELAN_3_1
GUILD_OF_THE_NINE_1_1
GUILD_OF_THE_NINE_1_2
GUILD_OF_THE_NINE_2_1
GUILD_OF_THE_NINE_3_2
OVERCOUNCIL_GIFT_2
UNDERCOUNCIL_GIFT_1
CARNIVAL_STAR_3
CARNIVAL_STAR_4
ASHEN_VEIL_DEAL_SALLOS_1
HUNTER_5
ENCHANTER_3
While considering these, I thought of a potential "gotcha" when converting them to python...
There is the potential for an event to try to create a unit not usually available to the played civilization. For example, Calabim triggering an event that offers Warriors. First off, would it work? I'm guessing yes, but not sure. Second, is it desireable to create Warriors, or to try to catch them somehow and create Blood Pets? Probably an event-by-event decision, depending on flavor, etc.
If you were to try to "catch" invalid units, would this part of the Horse Whispering event python be doing this already?
Code:
iUnitClassType = CvUtil.findInfoTypeNum(gc.getUnitClassInfo, gc.getNumUnitClassInfos(), 'UNITCLASS_HORSE_ARCHER')
iUnitType = gc.getCivilizationInfo(player.getCivilizationType()).getCivilizationUnits(iUnitClassType)
if iUnitType != -1:
for i in range(iNumUnits):
player.initUnit(iUnitType, plot.getX(), plot.getY(), UnitAITypes.UNITAI_ATTACK, DirectionTypes.DIRECTION_SOUTH)
Sorry, I don't have the time or game (just some files I copy to a thumb drive and take with me to play with in down-times) available at the moment to play with it... so I'm just asking some random things that popped in my head
And now back to your regularly scheduled event tweaking discussion.