I EAT CRAYONS
Eater of Crayons
- Joined
- Feb 1, 2006
- Messages
- 36
What does affinity for a certain mana type mean? Does it mean that the unit has the ability to gain promotions in the sphere of the mana type?
No. Affinity means that the unit will gain extra strength per resource its owner controls (if doesn't technically have to be mana, but all the affinity in the game is currently for mana.)
Actually, I was planning to create a thread to complain about the way affinity is currently implemented. Since Your question has already been answered, and since the title wasn't too specific, I'll just hijack yours instead.
It bothers me that the damage type of each kind of affinity is set in the resource code, instead of being dependent on a particular unit. For instance, a for an Illian Hero/UU it might make since for Air Mana to cause cold damage (clilly, blizzard-like winds), while for arcane units lightning makes more sense, and for a ship might be good with no specific type to its strength.
I don't like that it is only implemented as a strength bonus, and isn't divided into attack and defense. I'd like to see it divided, so that a unit or promotion promotion could, for example, grant +1 attack and -1 defense per mana owned. (That sounds appropriate for a unit like a berserker or a promotion like burning blood.) I'd also like the ability to grant non-strength bonuses from affinity, like bonus movement (+1 movement affinity for Air mana would be a very nice way for fair winds to work.) There are plenty of other things that would be great tied to affinity, like the chances that a unit will turn barbarian from the Enraged or Burning blood promotions, the chances that promotions will expire, the % bonus versus specific units/units with specific promotions (e.g., monks could be 10% stronger versus barbarian per spirit mana), and the chances that a spell will fail/miscast.
I would also really like it it you could grant fractional affinity. Since movement, strength, etc, are defined as integers it probably isn't possible to have it really grant a fraction of a point of strength/movement, but you could make it round off or assign +x strength/movement/etc per y of a resource.
I realize this probably won't make it in on time for shadow, but it would be great
<BonusAffinities>
<BonusAffinity>
<BonusType>BONUS_MANA_AIR</BonusType>
<DamageType>DAMAGE_COLD</DamageType>
<iAffinityCombat>1</iAffinityCombat>
<iAffinityCombatDefense>0</iAffinityCombatDefense>
<iAffinityCombatChange>0</iAffinityCombatChange>
<iAffinityCombatDefenseChange>-10</iAffinityCombatDefenseChange>
<iAffinityMovement>1</iAffinityMovement>
<iAffinityMovementChange>25</iAffinityMovementChange>
</BonusAffinity>
</BonusAffinities>
Units can already have negative affinity,although I don't think it works once the the strength lost from affinity surpasses the base strength. I'n also not sure how it works if the affinity subtracts a type os strength the unit doesn't have (like, making spirit affinity subtract holy damage from demons. What would that do?)
Do you happen to have a list of units that have affinities?
Any chance you'll go a step further and make the xml change that CXDamian and I suggested?