Buffs that work on non-living units?

doktarr

Warlord
Joined
Jan 31, 2005
Messages
213
Is there an established list of which spells can boost (or weaken) non-living units, or an easy way to find this in the in-game info? I could troll through the code and try to compile a list for myself, but I don't want to reinvent the wheel if it's already been done.
 
Hmmm. I was just about to post this:

"In the game, if you open the Civilopedia, you can select any non-living unit (or any unit at all) and, at the bottom on the left side, you can see all the promotions that unit can possibly gain, including "buffs" (temporary benefits) such as Haste (which non-living units can't have) or Shield of Faith (which any unit can have)."

when I decided to double check. Sadly, the Civilopedia doesn't contain accurate information in that regard. It still says units such as skeletons and pyre zombies CAN have the "hasted" promotion, which I know is not true from game play. I've also checked the wiki for Fall from Heaven and the manual made by Xienwolf and found that information is not included there either.

Sorry, kind of a useless post, as I can only say where the information is NOT. Good luck though.
 
I'll check the code at some point, but here are my current understandings - feel free to correct or add.

Can only be applied to living units (I think)
Blessed
Courage
Hasted
Morale
Regeneration
Valor
Vampirism

Enraged
Charmed
Plagued
Poisoned
Withered

Can be applied to both living and non-living units (I think)
Enchanted Blade
Flaming Arrows
Poisoned Blade
Rusted
Shield of Faith
Stealth
Stigmata

Not sure
Blur
Dance of Blades
Prophecy Mark
Shadowwalk
Sheut Stone
Stoneskin
Water Walking
 
Fairly sure all of those "Not sures" work on non-living units.
 
By default, all units in FfH2 except mechanical units are alive. Their promotions, such as Undead or Demon, is what makes them "not alive". Therefore, the civilopedia has currently no way to know that an skeleton is not alive because it checks only the unit information for calculating promotions, not the free promotions that the unit would get when it is created.

I'm afraid that the only reliable way is to open the Civ4PromotionInfos.xml file and to check which promotions have the <bPrereqAlive> tag set at 1.
 
I'm afraid that the only reliable way is to open the Civ4PromotionInfos.xml file and to check which promotions have the <bPrereqAlive> tag set at 1.
Well, that's not very hard, actually - but I'm afraid that misses a lot. Only Diseased, Withered, and Plagued have that tag in the XML file. Clearly, it's getting coded elsewhere - perhaps in the Python?
 
Actually, the Hasted promotion is allowed for non-living units, it's simply that there are no spells or effects in base FFH that apply the promotion to non-living units (the Haste spell limits itself to applying the promotion to living units, but it's a not a requirement of the promotion itself). So, a modder could easily make a new spell that applied the Hasted promotion to non-living units (or simply edit the existing Haste spell).

There are some promotions with the <bPrereqAlive> tag that aren't being properly filtered in the units section of the Civopedia. I'll see if I can't fix that in my next release.
 
Looking in CvSpellInterface.py, the only spells that appear to check isAlive() on the target unit are Domination, gift Vampirisim, Heal, Herald's Call, Taunt, and Teach Spellcasting. So, clearly, there's some other place where this is getting coded.
 
I guess I should go back through the XML and look for the python calls, yeah. I know I'm missing something, though, because CvSpellInterface.py only contained isAlive() callbacks for the six I mentioned above. That still leaves Bless, Courage, Haste, Morale, Regeneration, Valor, Enraged, and Charmed. Is there another file that might contain the relevant python code?
 
The missing link: the bImmuneNotAlive property in Civ4SpellInfos.xml.
Ah, yes, there they are. That rules out Bless, Charm, Contagion, Courage, Domination, Haste, Morale, Mutation, Rage, Regeneration, Spores, Taunt, Valor, and Wither. That's everything that I knew was missing, plus a couple I had missed and a couple that are apparently double-covered.
 
Top Bottom