Mutation spell

Mutation is mainly good and in most cases provides several promotions. Heavy and Light are mostly good as they are situational and you can plan how to use the unit according to its mutation. Also 3 negative promos (Diseased, Enervation and Withered) can be removed by Heal - Divine Life II, so it is nice to have at least 1 RoK, FoL or Order priest sometimes even if it worth temporary switching the religion.

Again units may start mutated if you use chaos mana and there is Balseraphs UU Freak who starts mutated.
 
Do you have the probability of each occuring?
 
No. I didn't find the function that actually applies the promotions. I'd venture a guess they are all equally likely since by changing that flag on any promotion you can make it an option for mutation. If there was special weighting you would have to modify that as well.
 
It's a (X+1) in 100 chance to get each promotion, X being the MUTATION_CHANCE global define. So by default 9% chance for each promotion.
 
Have you posted in the bug thread, because last I heard from Kael, it looked like it was working correctly.

Four times.

If intentional is "never wears off, you MUST get Loyalty or you WILL turn barbarian", then it works correctly.

That, however, would be an unmentioned change that is contradictory to a couple other things.
 
The mutation promos are actually applied in the C++ code, CvUnit::Mutate()

The chance of each promotion being applied is defined in the XML as "MUTATION_CHANCE" and does not vary based on the number of promos. It is currently set to 8%

You can, and regularly will, get contradictory promotions. Weak+Strong, Vulnerable to fire+Resistant to fire, even Diseased+Immune to Disease
 
The chance is 9%. getSorenRandNum(x, string) return a number between 0 (inclusive) and X (exclusive). So getSorenRandNum(100, 'something') can return 0, 1, 2, 3... 98, 99. The chance should be set to be lower than MUTATION_CHANCE, not lower than or equal to.
 
Back
Top Bottom