Cross upgrading question

Jungle Cat

Chieftain
Joined
Sep 1, 2008
Messages
28
By cross upgrading I mean when you upgrade an archer(archer) or a warrior(melee) to a horseman(mounted unit). Or a zealot(diciple) to a Stygian guard(melee).

In some cases type-specific promotions are lost and in other cases they are kept.

For ex if you upgrade an archer with dexterious to a Fyrdwell(horse archer) you lose the dexterious promotion. What happens to an archer with flaming weapons that upgrades to a normal horse archer? you loose the promotion I guess?

But if you upgrade a diciple unit with city defense to a stygian guard the unit specific promotion is kept. Because melee units can't have city defense.

Anyone knows the logic about the promotions for cross upgrading??
 
Some promotions have bValidate set to 1 in the XML file. These will only be kept if the new unitcombat can have that promotion.

It is set for dexterous, enchanted blade, flaming arrows, horselord, nightmare, poisoned blade, potency and sinister.
 
The majority of promotions can be transferred, it's just ''special'' promotions such as racial promotions that are specific to a single unit type (ie. Dextrous, Sinister, Horselord) and promotions that are given as a result of a spell (which also affects only a specific unit type) such as Enchanted Blade, Flaming Arrows etc which don't transfer.
 
And what about a upgrading an archer to a horse archer.

Special promotions aren't kept.

Wouldn't it be more logical that a horse archer is both archer and mounted unit? Now it is a mounted unit.
 
Except that would require a code rewrite. Currently units can only have one unitcombat (or none). To change it would first require rewriting the code to allow it, then changing the XML to allow it, then bug testing/balance discussions... all this for something fairly minor.
 
Except that would require a code rewrite. Currently units can only have one unitcombat (or none). To change it would first require rewriting the code to allow it, then changing the XML to allow it, then bug testing/balance discussions... all this for something fairly minor.

Really, it doesn't need a code rewrite. Not if you use FF's code. All you need is to add a <AllowPromotions> list of whatever promotions you want it to be able to promote.

The balance discussions would still be valid, though. ;)
 
Back
Top Bottom