[wesnoth-commits] [wesnoth/wesnoth] 3568b5: An easier way of setting special notes in the most...

Steve Cotton noreply at github.com
Tue Jun 1 12:30:15 UTC 2021


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 3568b5ff66ece00ec09f40059e552123f356d962
      https://github.com/wesnoth/wesnoth/commit/3568b5ff66ece00ec09f40059e552123f356d962
  Author: Celtic Minstrel <celtic.minstrel.ca at some.place>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M data/campaigns/Dead_Water/units/Brawler.cfg
    M data/campaigns/Dead_Water/units/Kraken.cfg
    M data/campaigns/Dead_Water/units/Soldier_King.cfg
    M data/campaigns/Dead_Water/units/Warrior_King.cfg
    M data/campaigns/Dead_Water/units/Young_King.cfg
    M data/campaigns/Dead_Water/utils/specials.cfg
    M data/campaigns/Delfadors_Memoirs/units/Journeyman_Mage.cfg
    M data/campaigns/Delfadors_Memoirs/units/King_of_Wesnoth.cfg
    M data/campaigns/Delfadors_Memoirs/units/Mage_Commander.cfg
    M data/campaigns/Delfadors_Memoirs/units/Mage_Leader.cfg
    M data/campaigns/Delfadors_Memoirs/units/Mage_Magister.cfg
    M data/campaigns/Descent_Into_Darkness/units/Apprentice_Mage.cfg
    M data/campaigns/Descent_Into_Darkness/units/Apprentice_Necromancer.cfg
    M data/campaigns/Descent_Into_Darkness/units/Dark_Mage.cfg
    M data/campaigns/Descent_Into_Darkness/units/Frontier_Baroness.cfg
    M data/campaigns/Eastern_Invasion/units/Bone_Knight.cfg
    M data/campaigns/Eastern_Invasion/units/Horse_Lord.cfg
    M data/campaigns/Eastern_Invasion/units/Mounted_Warrior.cfg
    M data/campaigns/Eastern_Invasion/units/Skeleton_Rider.cfg
    M data/campaigns/Eastern_Invasion/utils/abilities.cfg
    M data/campaigns/Heir_To_The_Throne/units/Battle_Princess.cfg
    M data/campaigns/Heir_To_The_Throne/units/Commander.cfg
    M data/campaigns/Heir_To_The_Throne/units/Dark_Queen.cfg
    M data/campaigns/Heir_To_The_Throne/units/Fighter.cfg
    M data/campaigns/Heir_To_The_Throne/units/Lord.cfg
    M data/campaigns/Heir_To_The_Throne/units/Princess.cfg
    M data/campaigns/Heir_To_The_Throne/utils/abilities.cfg
    M data/campaigns/Liberty/units/Bone_Knight.cfg
    M data/campaigns/Liberty/units/Death_Squire.cfg
    M data/campaigns/Liberty/units/Rogue_Mage.cfg
    M data/campaigns/Liberty/units/Shadow_Lord.cfg
    M data/campaigns/Liberty/units/Shadow_Mage.cfg
    M data/campaigns/Liberty/units/Skeleton_Rider.cfg
    M data/campaigns/Northern_Rebirth/units/Cave_Serpent.cfg
    M data/campaigns/Sceptre_of_Fire/units/Haldric_II.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Bone_Bird.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Bone_Captain.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Corpse_Shynal.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Orcish_Shaman.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Sea_Captain.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/SotA_Corpses.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/SotA_Soulless.cfg
    M data/campaigns/Son_Of_The_Black_Eye/units/Novice_Orcish_Shaman.cfg
    M data/campaigns/Son_Of_The_Black_Eye/units/Old_Orcish_Shaman.cfg
    M data/campaigns/Son_Of_The_Black_Eye/units/Orcish_Shaman.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Annalist.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Loremaster.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Masked_Berserker.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Masked_Guardsman.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Masked_Sentinel.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Masked_Stalwart.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Masked_Ulfserker.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Rune_Lord.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Witness.cfg
    M data/campaigns/The_Hammer_of_Thursagan/utils/abilities.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Noble_Commander.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Noble_Lord.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Vampire_Lady.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Warrior_King.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Wesfolk_Lady.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Wesfolk_Leader.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/units/Wesfolk_Outcast.cfg
    M data/campaigns/The_Rise_Of_Wesnoth/utils/trow-abilities.cfg
    M data/campaigns/The_South_Guard/units/Eyestalk.cfg
    M data/campaigns/The_South_Guard/units/Horseman_Commander.cfg
    M data/campaigns/The_South_Guard/units/Infantry_Commander.cfg
    M data/campaigns/The_South_Guard/units/Infantry_Lieutenant.cfg
    M data/campaigns/The_South_Guard/units/Junior_Commander.cfg
    M data/campaigns/The_South_Guard/units/Mounted_General.cfg
    M data/campaigns/Under_the_Burning_Suns/scenarios/06a_In_the_Tunnels_of_Trolls.cfg
    M data/campaigns/Under_the_Burning_Suns/units/humans/Human_Commander.cfg
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Alien_Body.cfg
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Alien_Spire.cfg
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Dust_Devil.cfg
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Flesh_Golem.cfg
    M data/campaigns/Under_the_Burning_Suns/units/nagas/Naga_Hunter.cfg
    M data/campaigns/Under_the_Burning_Suns/units/other/Dark_Assassin1.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Archer.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Champion.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Corrupted_Elf.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Divine_Avatar.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Divine_Incarnation.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Druid.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Fighter.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Flanker.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Marksman.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Mystic.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Outrider.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Pathfinder.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Ranger.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Scout.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Shaman.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Shyde.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Sun_Singer.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Sun_Sylph.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Tauroch_Flagbearer.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Tauroch_Protector.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Tauroch_Stalwart.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Tauroch_Vanguard.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Warrior.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Ghost.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Nightgaunt.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Shadow.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Spectre.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Wraith.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Haunt.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Spider_Lich.cfg
    M data/campaigns/Under_the_Burning_Suns/utils/abilities.cfg
    M data/campaigns/tutorial/units/Quintain.cfg
    M data/core/macros/abilities.cfg
    M data/core/macros/special-notes.cfg
    M data/core/units/bats/Bat_Blood.cfg
    M data/core/units/bats/Bat_Dread.cfg
    M data/core/units/bats/Bat_Vampire.cfg
    M data/core/units/drakes/Arbiter.cfg
    M data/core/units/drakes/Clasher.cfg
    M data/core/units/drakes/Flameheart.cfg
    M data/core/units/drakes/Flare.cfg
    M data/core/units/drakes/Glider.cfg
    M data/core/units/drakes/Hurricane.cfg
    M data/core/units/drakes/Sky.cfg
    M data/core/units/drakes/Warden.cfg
    M data/core/units/dunefolk/Alchemist.cfg
    M data/core/units/dunefolk/Apothecary.cfg
    M data/core/units/dunefolk/Blademaster.cfg
    M data/core/units/dunefolk/Captain.cfg
    M data/core/units/dunefolk/Cataphract.cfg
    M data/core/units/dunefolk/Falconer.cfg
    M data/core/units/dunefolk/Harrier.cfg
    M data/core/units/dunefolk/Herbalist.cfg
    M data/core/units/dunefolk/Luminary.cfg
    M data/core/units/dunefolk/Paragon.cfg
    M data/core/units/dunefolk/Skirmisher.cfg
    M data/core/units/dunefolk/Sky_Hunter.cfg
    M data/core/units/dunefolk/Spearguard.cfg
    M data/core/units/dunefolk/Spearmaster.cfg
    M data/core/units/dunefolk/Strider.cfg
    M data/core/units/dunefolk/Swordsman.cfg
    M data/core/units/dunefolk/Warmaster.cfg
    M data/core/units/dwarves/Arcanister.cfg
    M data/core/units/dwarves/Berserker.cfg
    M data/core/units/dwarves/Guardsman.cfg
    M data/core/units/dwarves/Runemaster.cfg
    M data/core/units/dwarves/Runesmith.cfg
    M data/core/units/dwarves/Sentinel.cfg
    M data/core/units/dwarves/Stalwart.cfg
    M data/core/units/dwarves/Ulfserker.cfg
    M data/core/units/elves/Avenger.cfg
    M data/core/units/elves/Captain.cfg
    M data/core/units/elves/Druid.cfg
    M data/core/units/elves/Enchantress.cfg
    M data/core/units/elves/High_Lord.cfg
    M data/core/units/elves/Lady.cfg
    M data/core/units/elves/Lord.cfg
    M data/core/units/elves/Marksman.cfg
    M data/core/units/elves/Marshal.cfg
    M data/core/units/elves/Ranger.cfg
    M data/core/units/elves/Shaman.cfg
    M data/core/units/elves/Sharpshooter.cfg
    M data/core/units/elves/Shyde.cfg
    M data/core/units/elves/Sorceress.cfg
    M data/core/units/elves/Sylph.cfg
    M data/core/units/goblins/Direwolf_Rider.cfg
    M data/core/units/goblins/Impaler.cfg
    M data/core/units/goblins/Pillager.cfg
    M data/core/units/goblins/Rouser.cfg
    M data/core/units/humans/Horse_Grand_Knight.cfg
    M data/core/units/humans/Horse_Knight.cfg
    M data/core/units/humans/Horse_Lancer.cfg
    M data/core/units/humans/Horse_Paladin.cfg
    M data/core/units/humans/Horseman.cfg
    M data/core/units/humans/Loyalist_Duelist.cfg
    M data/core/units/humans/Loyalist_Fencer.cfg
    M data/core/units/humans/Loyalist_General.cfg
    M data/core/units/humans/Loyalist_Grand_Marshal.cfg
    M data/core/units/humans/Loyalist_Halberdier.cfg
    M data/core/units/humans/Loyalist_Javelineer.cfg
    M data/core/units/humans/Loyalist_Lieutenant.cfg
    M data/core/units/humans/Loyalist_Master_at_Arms.cfg
    M data/core/units/humans/Loyalist_Pikeman.cfg
    M data/core/units/humans/Loyalist_Sergeant.cfg
    M data/core/units/humans/Loyalist_Spearman.cfg
    M data/core/units/humans/Mage.cfg
    M data/core/units/humans/Mage_Arch.cfg
    M data/core/units/humans/Mage_Elder.cfg
    M data/core/units/humans/Mage_Great.cfg
    M data/core/units/humans/Mage_Red.cfg
    M data/core/units/humans/Mage_Silver.cfg
    M data/core/units/humans/Mage_White.cfg
    M data/core/units/humans/Mage_of_Light.cfg
    M data/core/units/humans/Outlaw_Assassin.cfg
    M data/core/units/humans/Outlaw_Fugitive.cfg
    M data/core/units/humans/Outlaw_Rogue.cfg
    M data/core/units/humans/Outlaw_Thief.cfg
    M data/core/units/humans/Woodsman_Huntsman.cfg
    M data/core/units/merfolk/Diviner.cfg
    M data/core/units/merfolk/Enchantress.cfg
    M data/core/units/merfolk/Entangler.cfg
    M data/core/units/merfolk/Hoplite.cfg
    M data/core/units/merfolk/Initiate.cfg
    M data/core/units/merfolk/Netcaster.cfg
    M data/core/units/merfolk/Priestess.cfg
    M data/core/units/merfolk/Siren.cfg
    M data/core/units/monsters/Boar.cfg
    M data/core/units/monsters/Cuttle_Fish.cfg
    M data/core/units/monsters/Elder_Falcon.cfg
    M data/core/units/monsters/Falcon.cfg
    M data/core/units/monsters/Fire_Dragon.cfg
    M data/core/units/monsters/Frost_Stoat.cfg
    M data/core/units/monsters/Giant_Scorpion.cfg
    M data/core/units/monsters/Giant_Scorpling.cfg
    M data/core/units/monsters/Giant_Spider.cfg
    M data/core/units/monsters/Horse.cfg
    M data/core/units/monsters/Horse_Black.cfg
    M data/core/units/monsters/Horse_Great.cfg
    M data/core/units/monsters/Jinn.cfg
    M data/core/units/monsters/Roc.cfg
    M data/core/units/monsters/Rock_Scorpion.cfg
    M data/core/units/monsters/Skeletal_Dragon.cfg
    M data/core/units/monsters/Tentacle.cfg
    M data/core/units/monsters/Water_Serpent.cfg
    M data/core/units/orcs/Assassin.cfg
    M data/core/units/orcs/Leader.cfg
    M data/core/units/orcs/Nightblade.cfg
    M data/core/units/orcs/Ruler.cfg
    M data/core/units/orcs/Slayer.cfg
    M data/core/units/orcs/Sovereign.cfg
    M data/core/units/saurians/Ambusher.cfg
    M data/core/units/saurians/Augur.cfg
    M data/core/units/saurians/Flanker.cfg
    M data/core/units/saurians/Oracle.cfg
    M data/core/units/saurians/Skirmisher.cfg
    M data/core/units/saurians/Soothsayer.cfg
    M data/core/units/trolls/Great.cfg
    M data/core/units/trolls/Hero.cfg
    M data/core/units/trolls/Rocklobber.cfg
    M data/core/units/trolls/Troll.cfg
    M data/core/units/trolls/Troll_Shaman.cfg
    M data/core/units/trolls/Warrior.cfg
    M data/core/units/trolls/Whelp.cfg
    M data/core/units/undead/Corpse_Ghast.cfg
    M data/core/units/undead/Corpse_Ghoul.cfg
    M data/core/units/undead/Corpse_Necrophage.cfg
    M data/core/units/undead/Corpse_Soulless.cfg
    M data/core/units/undead/Corpse_Walking.cfg
    M data/core/units/undead/Necro_Ancient_Lich.cfg
    M data/core/units/undead/Necro_Dark_Adept.cfg
    M data/core/units/undead/Necro_Dark_Sorcerer.cfg
    M data/core/units/undead/Necro_Lich.cfg
    M data/core/units/undead/Necromancer.cfg
    M data/core/units/undead/Skele_Banebow.cfg
    M data/core/units/undead/Skele_Bone_Shooter.cfg
    M data/core/units/undead/Skele_Chocobone.cfg
    M data/core/units/undead/Skele_Death_Knight.cfg
    M data/core/units/undead/Skele_Deathblade.cfg
    M data/core/units/undead/Skele_Draug.cfg
    M data/core/units/undead/Skele_Revenant.cfg
    M data/core/units/undead/Skeleton.cfg
    M data/core/units/undead/Skeleton_Archer.cfg
    M data/core/units/undead/Spirit_Ghost.cfg
    M data/core/units/undead/Spirit_Nightgaunt.cfg
    M data/core/units/undead/Spirit_Shadow.cfg
    M data/core/units/undead/Spirit_Spectre.cfg
    M data/core/units/undead/Spirit_Wraith.cfg
    M data/core/units/wose/Ancient.cfg
    M data/core/units/wose/Elder.cfg
    M data/core/units/wose/Wose.cfg
    M data/core/units/wose/Wose_Sapling.cfg
    M data/core/units/wose/Wose_Shaman.cfg
    M data/schema/units/abilities.cfg
    M data/schema/units/specials.cfg
    M data/tools/wmllint
    M src/units/types.cpp
    M src/units/types.hpp
    M src/units/unit.cpp
    M src/units/unit.hpp

  Log Message:
  -----------
  An easier way of setting special notes in the most common use-case (abilities and weapon specials)

Rebased version of e6c58fc35cc398d70f31817f8b3ba783bfa08a6d, with merge conflicts resolved.


  Commit: 0fdf52058bfcd3b47cf0e38df1d2738a48eae029
      https://github.com/wesnoth/wesnoth/commit/0fdf52058bfcd3b47cf0e38df1d2738a48eae029
  Author: Steve Cotton <steve at octalot.co.uk>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M data/campaigns/Descent_Into_Darkness/units/Apprentice_Necromancer.cfg
    M data/campaigns/Descent_Into_Darkness/units/Dark_Mage.cfg
    M data/campaigns/Eastern_Invasion/units/Bone_Knight.cfg
    M data/campaigns/Eastern_Invasion/units/Horse_Lord.cfg
    M data/campaigns/Eastern_Invasion/units/Mounted_Fighter.cfg
    M data/campaigns/Eastern_Invasion/units/Mounted_Warrior.cfg
    M data/campaigns/Eastern_Invasion/units/Skeleton_Rider.cfg
    M data/campaigns/Liberty/units/Bone_Knight.cfg
    M data/campaigns/Liberty/units/Skeleton_Rider.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Bone_Bird.cfg
    M data/campaigns/Secrets_of_the_Ancients/units/Necro_Ancient_Lich.cfg
    M data/campaigns/The_Hammer_of_Thursagan/units/Dwarvish_Rune_Lord.cfg
    M data/campaigns/The_South_Guard/units/Eyestalk.cfg
    M data/campaigns/The_South_Guard/units/Horseman_Commander.cfg
    M data/campaigns/The_South_Guard/units/Junior_Commander.cfg
    M data/campaigns/The_South_Guard/units/Mounted_General.cfg
    M data/campaigns/Under_the_Burning_Suns/units/monsters/Dust_Devil.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Divine_Avatar.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Divine_Incarnation.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Sun_Singer.cfg
    M data/campaigns/Under_the_Burning_Suns/units/quenoth/Sun_Sylph.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Ghost.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Nightgaunt.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Shadow.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Spectre.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Ethereal_Wraith.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Haunt.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Spider_Lich.cfg
    M data/campaigns/Under_the_Burning_Suns/units/undead/Undead_Horseman.cfg
    M data/campaigns/Under_the_Burning_Suns/utils/abilities.cfg
    M data/core/macros/abilities.cfg
    M data/core/macros/special-notes.cfg
    M data/core/units.cfg
    M data/core/units/elves/Enchantress.cfg
    M data/core/units/elves/High_Lord.cfg
    M data/core/units/elves/Lord.cfg
    M data/core/units/elves/Sorceress.cfg
    M data/core/units/elves/Sylph.cfg
    M data/core/units/humans/Horse_Grand_Knight.cfg
    M data/core/units/humans/Horse_Knight.cfg
    M data/core/units/humans/Horse_Lancer.cfg
    M data/core/units/humans/Horse_Paladin.cfg
    M data/core/units/humans/Horseman.cfg
    M data/core/units/humans/Loyalist_Cavalier.cfg
    M data/core/units/humans/Loyalist_Cavalryman.cfg
    M data/core/units/humans/Loyalist_Dragoon.cfg
    M data/core/units/humans/Mage_White.cfg
    M data/core/units/humans/Mage_of_Light.cfg
    M data/core/units/merfolk/Diviner.cfg
    M data/core/units/merfolk/Priestess.cfg
    M data/core/units/monsters/Horse.cfg
    M data/core/units/monsters/Horse_Black.cfg
    M data/core/units/monsters/Horse_Great.cfg
    M data/core/units/undead/Corpse_Soulless.cfg
    M data/core/units/undead/Corpse_Walking.cfg
    M data/core/units/undead/Necro_Ancient_Lich.cfg
    M data/core/units/undead/Necro_Dark_Adept.cfg
    M data/core/units/undead/Necro_Dark_Sorcerer.cfg
    M data/core/units/undead/Necro_Lich.cfg
    M data/core/units/undead/Necromancer.cfg
    M data/core/units/undead/Skele_Chocobone.cfg
    M data/core/units/undead/Spirit_Ghost.cfg
    M data/core/units/undead/Spirit_Nightgaunt.cfg
    M data/core/units/undead/Spirit_Shadow.cfg
    M data/core/units/undead/Spirit_Spectre.cfg
    M data/core/units/undead/Spirit_Wraith.cfg
    M data/schema/units/movetypes.cfg
    M src/help/help_topic_generators.cpp
    M src/language.cpp
    M src/language.hpp
    M src/movetype.cpp
    M src/movetype.hpp
    M src/units/types.cpp
    M src/units/types.hpp
    M src/units/unit.cpp

  Log Message:
  -----------
  Support [movetype][special_note] and [language]special_note_damage_type_*

Refactor special notes for abilities, attack types, movetypes and weapon specials

An easier way of setting special notes in the most common use-cases. Text given
in the following attributes will be collected and added to the special notes
for units and unit types (some of these were added in the previous commit):

* [ability tag name]special_note=
* [language]special_note_damage_type_TYPE=
* [movetype][special_note]note=
* [attack][specials][special tag name]special_note=

It's no longer necessary to put these notes in each unit_type's .cfg file, and
the macros for doing so are now deprecated.

C++ changes
-----

Simplify both unit_type::special_notes and unit::unit_special_notes. Add
utils::stable_unique, similar to std::unique but accepts non-ordered input and
preserves the order in the output.

Remove unit_type::has_special_notes() - callers can instead call
special_notes() and then check if the returned vector is empty, which removes
the need for duplicating code in unit_type.

Trade-off: the new [language]special_note_damage_type_TYPE is likely deprecated in 1.19.
-----

Adding [language]special_note_damage_type_TYPE= uses the same existing design
as [language]type_TYPE=, however both are hacks that don't fit the general
style of WML. It could be better to define a new [damage_type] tag that
supercedes both and also provides a place for specifying the damage icon;
however that won't be done in time for the API freeze for 1.16.

Doing it in the way that this commit does it is a hack, but it's one where
replacing it with the better solution in 1.18 will affect very few UMCs (only
those that define additional damage types). Even in the UMCs that would be
affected, it would likely only be a few changes in a single central file.

Trade-off: NOTE_DEFENSE_CAP is not auto-added
-----

It might be better to auto-add NOTE_DEFENSE_CAP when movetype.cpp detects that
the type has capped values. However as NOTE_SPIRIT already requires
[movetype][special_note], it's simple to use the same mechanism. If we decide
to change it to being auto-added, the current commit greatly reduces the number
of places that would need to change again, as it's now in the [movetype]
instead of the many [unit_type]s using that movetype.


Compare: https://github.com/wesnoth/wesnoth/compare/52bba06707f1...0fdf52058bfc



More information about the Commits mailing list