"dwarf" {
    PROMOTIONS PROMOTION_DWARF_MELEE_MESSAGE {"sword"}
        Description PROMOTIONS_ID
        {
          IncreaseMaxLevel DAMAGE 3
          Filter Gender MALE SetViewId {"dwarf_fighter"}
          Filter Gender FEMALE SetViewId {"dwarf_fighter_f"}
        }

    PROMOTIONS_ID1 PROMOTION_DWARF_RANGED_MESSAGE {"bow"}
        Description PROMOTIONS_ID2
        {
          Filter Not CreatureFlag "is_archer" IncreaseAttr RANGED_DAMAGE 14
          SetCreatureFlag "is_archer" true
          IncreaseMaxLevel RANGED_DAMAGE 3
          SetViewId {"dwarf_crossbowman"}
          AddSpellSchool "archer"
          Filter Gender MALE SetViewId {"dwarf_crossbowman"}
          Filter Gender FEMALE SetViewId {"dwarf_crossbowman_f"}
        }

    PROMOTIONS_ID3 PROMOTION_DWARF_SPELL_MESSAGE {"archwood_staff"}
        Description PROMOTIONS_ID4
        {
          Filter Not CreatureFlag "is_spellcaster" IncreaseAttr SPELL_DAMAGE 14
          SetCreatureFlag "is_spellcaster" true
          IncreaseMaxLevel SPELL_DAMAGE 3
          AddSpellSchool "dwarf"
          Filter Gender MALE SetViewId {"dwarf_mage"}
          Filter Gender FEMALE SetViewId {"dwarf_mage_f"}
        }

    PROMOTIONS_ID5 PROMOTION_DWARF_FORGE_MESSAGE {"forge"}
        Description PROMOTIONS_ID6
        {
          IncreaseAttr "WORKSHOP" 8
          IncreaseAttr "FORGE" 8
          IncreaseAttr "LABORATORY" 8
          IncreaseAttr "JEWELER" 8
          IncreaseAttr FURNACE 8
          Filter Gender MALE SetViewId {"dwarf_blacksmith"}
          Filter Gender FEMALE SetViewId {"dwarf_blacksmith_f"}
        }
}

"melee_adventurer" {
    PROMOTIONS_ID7 {"sword"}
        Description PROMOTIONS_ID8
        IncreaseLevel DAMAGE 1
}

"ranged_adventurer" {
    PROMOTIONS_ID1 {"bow"}
        Description PROMOTIONS_ID9
        IncreaseLevel RANGED_DAMAGE 1
}

"spell_adventurer" {
    PROMOTIONS_ID3 {"archwood_staff"}
        Description PROMOTIONS_ID10
        IncreaseLevel SPELL_DAMAGE 1
}

"knight" {
    PROMOTIONS_ID11 PROMOTION_KNIGHT_MESSAGE { "sword" }
        Description PROMOTIONS_ID12
        Polymorph "KNIGHT_PLAYER" none
}

"witch_adventurer" {
    WITCH_CURSE_SCHOOL UI "witch_curse_school" { "witch" } {
        Filter And { Not CreatureFlag "witch_curse_promo4" CreatureFlag "witch_curse_promo3" } {
          GrantAbility "polymorph other"
          CollectiveMessage WITCH_CURSE_MESSAGE4
          SetCreatureFlag "witch_curse_promo4" true
        }
        Filter And { Not CreatureFlag "witch_curse_promo3" CreatureFlag "witch_curse_promo2" } {
          GrantAbility "bleeding"
          CollectiveMessage WITCH_CURSE_MESSAGE3
          SetCreatureFlag "witch_curse_promo3" true
        }
        Filter And { Not CreatureFlag "witch_curse_promo2" CreatureFlag "witch_curse_promo1" } {
          GrantAbility "insanity"
          CollectiveMessage WITCH_CURSE_MESSAGE2
          SetCreatureFlag "witch_curse_promo2" true
        }
        Filter Not CreatureFlag "witch_curse_promo1" {
          GrantAbility "illness"
          CollectiveMessage WITCH_CURSE_MESSAGE1
          SetCreatureFlag "witch_curse_promo1" true
        }
    }
    WITCH_POLYMORPH_SCHOOL UI "witch_polymorph_school" { "witch_girl" } {
        Filter And { Not CreatureFlag "witch_polymorph_promo3" CreatureFlag "witch_polymorph_promo2" } {
          GrantAbility "night hag polymorph"
          CollectiveMessage WITCH_POLYMORPH_MESSAGE3
          SetCreatureFlag "witch_polymorph_promo3" true
        }
        Filter And { Not CreatureFlag "witch_polymorph_promo2" CreatureFlag "witch_polymorph_promo1" } {
          GrantAbility "strix polymorph"
          CollectiveMessage WITCH_POLYMORPH_MESSAGE2
          SetCreatureFlag "witch_polymorph_promo2" true
        }
        Filter Not CreatureFlag "witch_polymorph_promo1" {
          GrantAbility "girl polymorph"
          CollectiveMessage WITCH_POLYMORPH_MESSAGE1
          SetCreatureFlag "witch_polymorph_promo1" true
        }
    }
    WITCH_ANIMALS_SCHOOL UI "witch_animals_school" { "snake" } {
        Filter And { Not CreatureFlag "witch_animals_promo4" CreatureFlag "witch_animals_promo3" } {
          GrantAbility "summon kraken"
          CollectiveMessage WITCH_ANIMALS_MESSAGE4
          SetCreatureFlag "witch_animals_promo4" true
        }
        Filter And { Not CreatureFlag "witch_animals_promo3" CreatureFlag "witch_animals_promo2" } {
          GrantAbility "lizard infestation"
          CollectiveMessage WITCH_ANIMALS_MESSAGE3
          SetCreatureFlag "witch_animals_promo3" true
        }
        Filter And { Not CreatureFlag "witch_animals_promo2" CreatureFlag "witch_animals_promo1" } {
          GrantAbility "snake infestation"
          CollectiveMessage WITCH_ANIMALS_MESSAGE2
          SetCreatureFlag "witch_animals_promo2" true
        }
        Filter Not CreatureFlag "witch_animals_promo1" {
          GrantAbility "spider infestation"
          CollectiveMessage WITCH_ANIMALS_MESSAGE1
          SetCreatureFlag "witch_animals_promo1" true
        }
    }
    WITCH_ANIMATION_SCHOOL UI "witch_animation_school" { "fetch_icon" } {
        Filter And { Not CreatureFlag "witch_animation_promo4" CreatureFlag "witch_animation_promo3" } {
          GrantAbility "animate walls"
          CollectiveMessage WITCH_ANIMATION_MESSAGE4
          SetCreatureFlag "witch_animation_promo4" true
        }
        Filter And { Not CreatureFlag "witch_animation_promo3" CreatureFlag "witch_animation_promo2" } {
          GrantAbility "animate furniture"
          CollectiveMessage WITCH_ANIMATION_MESSAGE3
          SetCreatureFlag "witch_animation_promo3" true
        }
        Filter And { Not CreatureFlag "witch_animation_promo2" CreatureFlag "witch_animation_promo1" } {
          GrantAbility "animate medium items"
          CollectiveMessage WITCH_ANIMATION_MESSAGE2
          SetCreatureFlag "witch_animation_promo2" true
        }
        Filter Not CreatureFlag "witch_animation_promo1" {
          GrantAbility "animate small items"
          CollectiveMessage WITCH_ANIMATION_MESSAGE1
          SetCreatureFlag "witch_animation_promo1" true
        }
    }
}