1. Dunno.
2. I'm not seeing this in the core files.
3. CityUpgrade is used to designate which cityhub a particular level of city upgrades into. I tried extensively to use this in mods in E:wom, but I always failed. The reason is that the modifier is tied tothe LevelBarrier modtype, which ONLY accepts population, which only exists in cityhubs.
<GameModifier>
<ModType>LevelBarrier</ModType>
<Attribute>Population</Attribute>
<Value>200</Value>
<CityUpgrade>DarklingCityHub3</CityUpgrade>
</GameModifier>
4 works. In one unit I've made, the unit has to be under 50% to perform a special ability. I use the WhenUnderPercentHitpoints at 50 to unlock a hidden unitstat. That unitstat is required by the spell. I've also tried various other things such as giving it a tactical healing bonus in battle and that works. The only thing that didn't work was dynamically updating the unitsize, the stat was applied but it didn't take effect until the unit ended its next turn.
5. xActions is new in FE, and gives you bonuses for the next x turns in tactical combat. It is the tag that is used in abilities such as "this unit gains +10 initiative on the first turn in combat". It can also be applied later on, in which case 1 turn is the next turn.
6. vsUnitType reads from unittype tag CreatureType. I haven't tested it.
7. vsOtherAllegiance - what is used to have special stats when fighting against kingdom/empire if you are empire/kingdom.
8. vsDamaged is for unitstat bonuses against damaged enemies. We can't specify how damaged, so it is pretty poor.
9. ApplyToTile is used both in tactical and strategic mode (in E:wom it only worked in Strategic). It can create effects on the ground, such as a burning tile that deals damage to all who enter it.
10. I'm not seeing this in the core files.
11. This is what allows a spell to do one effect to an enemy target, and one effect to itself. It can also be combined with 13, to do one effect to target if it works, or one effect to spellcaster if it fails.
12. The limitation of ApplyIfSpellTargetKilled is that it is that particular spell that has to do the killing. So this really only works with damage spells, not weapons.
13. IsForSpellResist is used in spells that have <IsResistable>1</IsResistable>. IsForSpellResist is used inside modifiers to tell the game what exactly the results of the resist is. For example, should a resisted spell still deal half damage?
14. Not seeing it in core files.
15. Not seeing it in core files.
16. AttackStat is used to define exactly what kind of DefendableDamage is dealt from a spell. If a spell is dealing fire damage, you'll need this tag to tell the game that.
17. StrVal2 - just a tag to read in an extra string, in addition to the StrVal1 which holds the unitstat to be affected.
18. Not seeing it in core files.
19. UnitInstance is used in various ways to spawn monsters on the world map from goodiehuts, or in quests. It has some very interesting tags, such as allowing us to change respawn time on mobs, to set the level of the unit, how far it will wander in strategic mode and so on.