diff --git a/changelog.md b/changelog.md index 08a22cf4e01f..a830a9bb3825 100644 --- a/changelog.md +++ b/changelog.md @@ -6,6 +6,8 @@ * Descent Into Darkness: * Allow converting L3 necromancers to liches from S12 onwards (issue #3165). * Added an alternative method of completing the campaign (issue #3167). + * The Hammer of Thursagan + * S12 'The Underlevels': redesigned with completely new map and scenario * Northern Rebirth: * Fix loyal units obtained in S7 costing upkeep (introduced in 1.14.5) * S13: Improvement to the AIs diff --git a/data/campaigns/The_Hammer_of_Thursagan/maps/12_The_Underlevels.map b/data/campaigns/The_Hammer_of_Thursagan/maps/12_The_Underlevels.map index 676c81cdc8bd..2efb56d4702e 100644 --- a/data/campaigns/The_Hammer_of_Thursagan/maps/12_The_Underlevels.map +++ b/data/campaigns/The_Hammer_of_Thursagan/maps/12_The_Underlevels.map @@ -1,62 +1,41 @@ Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Uu^Vud, Xu, Xu, Xu, Uu, Xu, Uu^Vud, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Uu, Uu, Xu, Rr, Rr, Uu, Xu, Uu, Uu, Uu, Xu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Qxu, Xu, Uu^Uf, Uu^Uf, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Xu, Rr, Uu, Xu, Uu, Xu, Uu, Xu, Rr, Uu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu^Uf, Uu, Uu^Uf, Uu, Uu, Uu, Xu, Uu, Uh, Uh, Xu, Xu, Xu, Uu, Xu, Uu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rr, Uu, Uu, Xu, Uu^Vud, Xu, Uu^Vud, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Uu, Xu, Uu, Uu, Xu, Uh, Uh, Xu, Xu, Uu^Uf, Xu, Uu, Uu, Uu^Uf, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Rr, Rr, Cud, Cud, Cud, Rr, Rr, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Rr, Uu, Xu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Uu, Uu, Uu, Uu, Qxu, Qxu, Uu, Uu, Uh, Uu, Xu, Uu, Uu^Uf, Uu, Xu, Qxu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Uu, Rr, Rr, Rr, Cud, 4 Kud, Cud, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Uu, Uh, Uh, Uu, Uu, Khr, Uu, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Cud, Rr, Cud, Cud, Cud, Rr, Cud, Rr, Rr, Rr, Uu, Uu, Xu, Uu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uh, Uh, Uh, Uu, Uu, Uu, Uu, Uh, Uh, Uu, Uu, Qxu, Xu, Uu, Uu, Uu^Uf, Uu^Uf, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Uu, Cud, Cud, Cud, Cud, Cud, Cud, Cud, Cud, Cud, Rr, Rr, Uu, Xu, Uu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Qxu, Qxu, Uu, Uu^Uf, Uu^Uf, Xu, Uh, Uh, Uh, Uu, Uu, Qxu, Uu, Uu, Xu, Uu^Uf, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Cud, Cud, Rr, Rr, Cud, Rr, Rr, Cud, Cud, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu^Uf, Xu, Uu^Uf, Xu, Uh, Uh, Uu, Uu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Uu^Vud, Uu, Uu^Vud, Xu, Uu^Vud, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Uh, Uh, Xu, Uh, Xu, Xu, Xu, Xu, Uh, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Cud, Rr, Rr, Kud, Rr, Rr, Cud, Cud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Rr, Rr, Rr, Cud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Xu, Uu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rr, Rr, Rr, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Uu, Xu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rr, Rr, Rr, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Kud, Xu, Kud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Vud, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Qxu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rr, Rr, Rr, Xu, Uu, Xu, Cud, Xu, Uu, Xu, Uu, Uu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Uu, Rr, Rr, Rr, Uu^Vud, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Rr, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Kud, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Cud, Rr, Rr, Cud, Cud, Cud, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Uu, Rr, Cud, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Cud, 3 Kud, Cud, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Qxu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Uu, Kud, Uu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Cud, Uu, Rr, Rr, Cud, Rr, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Kud, Uu, Kud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Cud, Rr, Cud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Rr, Cud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Kud, Uu, Kud, Uu, Kud, Uu, Kud, Uu, Kud, Uu, Kud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Rr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Qxu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Rr, Xu, Rr, Xu, Rr, Xu, Rr, Xu, Rr, Xu, Rr, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Xu, Cud, Uu, Rr, Rr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Qxu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Cud, Uu^Vud, Uu, Uu, Rr, Rr, Cud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Uu^Uf, Uh, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Uu, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Uu, Uu, Uu, Uu, Uu, Uu, Cud, Cud, Cud, Uu, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Uu, Ce, Ce, Ce, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Cud, 8 Kud, Cud, Uu, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Uu, Ce, 1 Ke, Ce, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Cud, Uu, Uu, Cud, Rr, Uu, Cud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Uu, Uu, Ce, Uu, Uu, Xu, Uu, Uu, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Uu^Vud, Uu, Cud, Rr, Rr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Rr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu, Uu, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Rr, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Rr, Cud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Uu, Uu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Kud, Xu, Kud, Xu, Kud, Xu, Kud, Xu, Kud, Xu, Kud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Uu, Rr, Rr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu^Uf, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Rr, Xu, Rr, Uu, Uu, Rr, Uu, Xu, Rr, Xu, Rr, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Xu, Qxu, Qxu, Uh, Uu^Vud, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Vud, Rr, Rr, Rr, Cud, Rr, Rr, Rr, Cud, Rr, Rr, Rr, Uu^Vud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Uu, Uu, Uh, Chr, Chr, Uh, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rr, Uu, Rr, Cud, Rr, Cud, Cud, Rr, Cud, Cud, Rr, Cud, Rr, Uu, Rr, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Uu^Uf, Uh, Uu, Chr, Chr, Chr, Uu^Uf, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Qxu, Xu, Xu, Xu, Cud, Cud, Rr, Uu^Vud, Rr, Cud, Rr, Cud, Cud, 5 Kud, Cud, Cud, Rr, Cud, Rr, Uu^Vud, Rr, Cud, Cud, Xu, Xu, Xu, Xu, Qxu, Qxu, Uu^Uf, Uu, 6 Khr, Chr, Uu, Uu^Uf, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Xu, Uu, Xu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Qxu, Xu, Xu, Xu, Cud, Xu, Rr, Rr, Rr, Cud, Rr, Cud, Cud, Cud, Cud, Cud, Rr, Cud, Rr, Rr, Rr, Xu, Cud, Xu, Xu, Xu, Uu, Xu, Uu, Uu, Uu, Chr, Uu, Uu, Uu^Uf, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Uu, Rd, Rd, Rd, Uh, Uh, Uu^Uf, Uu^Uf, Qxu, Qxu, Uu^Vud, Uu, Uu^Uf, Uh, Xu, Xu, Xu, Xu, Cud, Rr, Uu^Vud, Rr, Cud, Rr, Uu, Uu, Cud, Uu, Uu, Rr, Cud, Rr, Uu^Vud, Rr, Cud, Xu, Xu, Uu, Uu, Xu, Uu, Uu^Vud, Uu, Uu, Uu, Qxu, Uu^Vud, Uh, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Uu, Rd, Xu, Rd, Xu, Xu, Rd, Rd, Rd, Rd, Uu^Vud, Rd, Uu, Cud, Uu^Uf, Uh, Uh, Xu, Xu, Xu, Xu, Uu, Uu, Rr, Rr, Rr, Uu^Vud, Rr, Rr, Rr, Uu^Vud, Uu, Rr, Rr, Uu, Rr, Xu, Xu, Qxu, Uu^Uf, Xu, Xu, Xu, Xu, Uh, Uu, Uu^Vud, Xu, Qxu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu^Uf, Rd, Rd, Xu, Rd, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Rd, Cud, Rd, Rd, Uu, Cud, Uu^Vud, Uu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu^Uf, Xu, Xu, Xu, Uu^Uf, Uh, Uu^Uf, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu^Uf, Uh, Uh, Rd, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Cud, Uu, Uu^Uf, Rd, Cud, Rd, Uh, Uu, Cud, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rd, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Uu, Uu^Uf, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Uu^Uf, Qxu, Uu, Uu, Uu, Rd, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Uh, Uh, Cud, Uh, Uu^Uf, Cud, 2 Kud, Cud, Uh, Uu, Cud, Uh, Qxu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Rd, Uu, Xu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Uu^Uf, Uu, Uh, Uu, Uu, Rd, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uh, Uu, Uu^Vud, Cud, Uu, Rd, Cud, Cud, Cud, Uu, Uu^Uf, Cud, Uu, Qxu, Xu, Xu, Xu, Xu, Qxu, Uh, Xu, Rd, Rd, Uu^Uf, Xu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Qxu, Xu, Uu, Uu, Uh, Qxu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Rd, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Cud, Rd, Rd, Rd, Cud, Uu, Uu^Uf, Uu^Vud, Xu, Xu, Uh, Uh, Uh, Uh, Rd, Rd, Xu, Uu^Uf, Uu, Uu, Uu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Xu, Xu, Xu, Xu, Uu, Uu^Uf, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rd, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Qxu, Xu, Uu^Uf, Uh, Uh, Uu^Vud, Uu, Rd, Cud, Uu, Uu, Uu^Uf, Xu, Uu^Uf, Xu, Xu, Xu, Qxu, Qxu, Uu^Uf, Uu, Rd, Uu, Xu, Uu, Uu, Uu, Xu, Qxu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Uu, Uh, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu^Uf, Uu, Rd, Rd, Uh, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Xu, Uh, Uh, Uu, Uu, Uu, Uu, Uu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Rd, Rd, Uu, Uu, Uu, Qxu, Qxu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Uu, Xu, Xu, Uu, Uu, Uu^Uf, Xu, Xu -Xu, Xu, Xu, Uh, Uh, Uh, Uh, Uh, Uu^Uf, Uu^Uf, Rd, Uu, Uu^Uf, Uu^Uf, Uh, Xu, Qxu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu^Vud, Uu^Uf, Uu, Uu, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rd, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Xu, Xu, Uu, Uh, Uu, Qxu, Xu, Xu, Xu -Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uu, Ch, Ch, Rd, Rd, Uh, Uh, Uh, Qxu, Qxu, Uh, Xu, Xu, Xu, Xu, Qxu, Uu^Uf, Uu^Uf, Uu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Uu, Xu, Uu, Xu, Rd, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Xu, Xu, Xu, Uh, Uu, Xu, Xu, Xu, Xu -Xu, Xu, Uu, Xu, Uu, Uu^Vud, Uu^Uf, Ch, Ch, Uu, Uu, Uu^Vud, Qxu, Rd, Rd, Uh, Uu^Uf, Uu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Uu, Uu, Uu, Xu, Uu, Xu, Xu, Rd, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Qxu, Qxu, Uu^Uf, Qxu, Qxu, Qxu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu -Xu, Xu, Uu^Uf, Uu, Uu, Qxu, Xu, Xu, Chr, Uu, Chr, Uu, Rd, Qxu, Rd, Uu^Uf, Uu, Uu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Qxu, Xu, Xu, Xu, Rd, Rd, Rd, Xu, Rd, Rd, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu^Uf, Uu^Uf, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Uu, Qxu, Xu, Xu, Xu -Xu, Xu, Xu, Uu^Uf, Uu^Vud, Qxu, Qxu, Chr, 7 Khr, Chr, Rd, Rd, Chr, Rd, Uu^Vud, Rd, Rd, Uu, Rd, Uu, Uu, Uu^Uf, Xu, Xu, Xu, Uh, Uu^Uf, Uu^Uf, Rd, Xu, Rd, Rd, Uu, Uu, Uu, Rd, Uu, Uu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Uh, Uu, Xu, Uu, Uu, Qxu, Uh, Xu -Xu, Xu, Xu, Uu^Uf, Uu^Uf, Uu, Ch, Chr, Chr, Chr, Uu, Uu, Uu, Uu, Uu, Uu, Uu, Rd, Uu, Rd, Rd, Xu, Rd, Xu, Rd, Rd, Rd, Rd, Uu, Rd, Uu^Uf, Uu, Uh, Uh, Xu, Qxu, Xu, Uu, Uh, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Uf, Xu, Xu, Qxu, Xu, Uu, Xu, Xu, Xu, Uu, Uu, Uu^Uf, Xu -Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Ch, Ch, Uu, Uu, Uu^Vud, Uu^Uf, Qxu, Qxu, Uu^Uf, Uu^Uf, Uu^Uf, Xu, Xu, Rd, Rd, Uu, Uu, Uu, Uu, Uu^Uf, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Qxu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Uf, Xu, Qxu, Uu, Uu, Uu, Uu, Uu, Xu, Uu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Uu, Uu, Ch, Uu, Uu, Ch, Uu, Uu, Uu, Uu^Uf, Xu, Qxu, Xu, Qxu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Uh, Uu, Qxu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Qxu, Uu, Uu, Qxu, Xu, Xu, Uu, Xu, Qxu, Uu, Uu^Uf, Uu, Uh, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Uu, Ch, Ch, Xu, Qxu, Uu, Uu, Uu, Uu^Uf, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Qxu, Xu, Qxu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uu, Uu^Uf, Uu^Uf, Qxu, Uu, Uh, Uu, Xu, Xu -Xu, Xu, Xu, Xu, Uu, Xu, Uu, Uu, Qxu, Uu^Vud, Qxu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Uu^Uf, Uu, Xu, Uh, Uh, Xu, Xu, Qxu, Uu, Uu, Xu, Xu -Xu, Xu, Xu, Uu, Uu^Uf, Uu^Uf, Uu^Uf, Uu^Uf, Uh, Uh, Uh, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu -Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Vu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Wwg^Es, Ur^Es, Ur^Ebn, Xu, Wwg^Es, Xu, Ss^Emf, Ss^Vhs, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Rb^Em, Wwg^Es, Wwg, Uue, Uu^Es, Ur^Es, Ur, Wwg^Em, Sm^Em, Ss^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Ur^Edb, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Sm^Emf, Rb^Em, Uue^Es, Uu, Cud, Cud, Cud, Rb, Rb^Es, Rb^Es, Ur^Es, Xu, Xu, Xu, Ur, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Ur^Pr\o, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Sm^Emf, Uue^Em, Uue, Rb^Es, Cud, 4 Kud, Cud, Rb^Es, Rb^Em, Uu^Ebn, Xu, Ur^Pr/, Ur, Ur, Urb^Ii, Ur, Xu, Xu, Xu, Xu, Xu^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Pr/o, Uu^Em, Uu^Es, Uh^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uue^Em, Rb^Es, Rb, Rb, Cud, Sm^Bw\r, Sm, Sm^Em, Xu, Xu, Xu, Xu, Ur, Ur, Ur, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Pr\o, Uu, Uh^Em, Uh^Emf, Uh^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Em, Rb, Ur, Rb, Rb, Sm^Es, Wwg, Sm^Bw\r, Uh^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Uh^Emf, Uh^Em, Uh^Emf, Xu, Xu, Xu, Xu, Xu, Uue^Emf, Ur^Es, Ur, Sm, Sm, Rb^Em, Wwg^Em, Wwg^Em, Uue^Emf, Xu, Uh^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Vu, Ur^Edb, Ur^Edb, Xu, Xu, Xu, Xu, Uu^Em, Xu, Xu, Xu, Xu, Xu, Uu, Uue^Em, Rb^Es, Ur, Uue, Uu^Ebn, Sm^Em, Uh^Emf, Uh^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Em, Ur^Edb, Xu, Xu, Xu, Uh^Vud, Xu, Uu^Es, Xu, Uh^Emf, Xu, Xu, Xu, Cud, Uu, Rb, Uue, Xu, Xu, Xu, Uh^Vud, Uue^Em, Ur^Br\, Ur^Br\, Xu, Xu, Xu, Xu, Xom, Xom, Xu, Wwg^Em, Wwg^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Emf, Uh^Uf, Uu^Em, Uu^Em, Uu^Es, Uu^Eb, Xu, Xu, Rb^Es, Rb, Uue^Es, Cud, Xu, Xu, Xu, Xu, Sm^Em, Sm^Em, Wwg^Es, Ur^Br\, Ur^Br\, Xom, Xom, Xom, Ur^Br/, Ur^Br/, Xom, Sm^Uf, Uh^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Eb, Uh^Vu, Xu, Xu, Uu^Es, Xom, Uu, Uu, Uu^Pw/o, Xu, Ur, Ur, Uue^Es, Xu, Xu, Xu, Xu, Xu, Ss^Em, Sm^Emf, Xom, Wwg^Ewl, Wwg^Em, Ur^Br\, Ur^Br/, Ur^Br/, Wwg, Ur^Br\, Wwg, Xom, Sm^Uf, Uh^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Emf, Uh^Uf, Uu^Emf, Uu^Em, Xom, Xom, Uu^Pw\o, Xom, Xom, Rb, Ur^Es, Uu, Wwg, Sm^Em, Xu, Xu, Xu, Ss^Ebn, Uue^Ebn, Xom, Xu, Xom, Wwg^Emf, Ur^Br|, Xom, Xom, Xom, Wwg, Sm^Dr, Wwg, Uue^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xol, Xos, Xol, Xu, Xos, Xu, Xu, Xu, Xu, Xu, Xos, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Vud, Xu, Uu^Em, Xom, Ur^Es, Ur^Es, Xom, Uu, Rb, Ur^Es, Wwg, Wwg, Sm^Em, Ss^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Ss^Uf, Ss^Emf, Sm^Em, Xom, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xos, Xu, Xol, Xos, Uh, Xos, Uh^Uf, Xol, Xol, Xos, Xol, Xos, Xol, Xos, Xos, Xol, Xol, Xos, Xos, Xu, Xu, Xu, Xos, Uu, Uu^Es, Ur^Es, Ur^Es, Ur^Es, Ur, Ur, Uu, Uue, Wwg^Em, Xu, Ss^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Uf, Wwg^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Ur, Xol, Uu^Vud, Uh, Uu^Uf, Uh^Emf, Uh^Em, Uu^Emf, Uu^Vud, Uu, Ur^Es, Ur^Ebn, Uu, Uu^Vu, Uu^Emf, Uu, Uu^Es, Xol, Xos, Xos, Xos, Xos, Uu^Es, Uu^Pw\o, Xom, Xom, Ur, Uu, Uu^Es, Ur, Uue^Em, Wwg, Uue^Ebn, Ss^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Ur, Uu, Uu, Uu, Ce, Ce, Ce, Uu^Em, Uu, Uu, Uu, Ur, Ur^Es, Uu^Em, Uu, Ur^Es, Ur, Ur, Ur^Pr/, Xos, Uu, Uu^Ebn, Uu^Es, Uu^Es, Uu^Es, Xom, Ur^Es, Uu, Uu^Es, Uu^Vud, Uu^Emf, Uue, Uh^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Urb^Ebn, Urb, Urb^Vud, Cud, Xu, Xu, Xu, Xu, Xu +Ur, Ur^Es, Ur^Es, Ur, Ce, 1 Ke, Ce, Ur^Es, Ur^Es, Uu^Emf, Ur, Ur, Ur^Vu, Uu^Emf, Ur, Ur, Xos, Ur^Pr/, Ur^Es, Ur, Ur^Es, Ur, Ur^Es, Ur, Cud, Ur^Es, Uu, Uu^Em, Uu^Emf, Uu^Em, Uu^Em, Uu, Uu^Vud, Uh^Uf, Uh^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Emf, Cud, Uu^Emf, Ur^Es, Ur^Es, Urb, Cud, Xu, Xu, Xu, Xu, Xu +Uu^Es, Ur, Uu^Es, Uu^Em, Uu^Emf, Ce, Uu, Uu, Ur, Ur, Xos, Xos, Xos, Xos, Xos, Xos, Xos, Xos, Xos, Ur, Ur^Es, Ur^Es, Ur, Cud, Cud, Ur^Es, Ur, Uu^Vud, Uu^Emf, Uu^Es, Uu, Ur^Es, Uu^Es, Uu^Emf, Xu, Uh^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Es, Xu, Uu^Uf, Uu^Ebn, Cud, Ur^Vud, Ur^Es, Uu^Em, Uu^Em, Cud, Urb, Urb, Urb, Cud, Xu, Xu, Xu, Xu +Xos, Uu^Es, Uu^Vu, Uh, Uh^Uf, Uh, Uu^Vud, Ur^Es, Xos, Xos, Xu, Xu, Xu, Xu, Xu, Xos, Xu, Xu, Xu, Xos, Xos, Ur^Es, Ur^Es, Ur^Es, Ur, Ur^Es, Ur^Es, Uu, Cud, Cud, Cud, Ur^Es, Uu, Uu^Em, Uu, Uh^Em, Uh^Emf, Xu, Urb^Ii, Xu, Xu, Xu, Uu^Em, Uu, Ur^Es, Uu^Emf, Uu^Em, Ur^Es, Uu, Uu, Ur, Uu^Es, Ur^Es, Ur, Cud, Urb, Urb, Urb^Vud, Cud, Xu, Xu, Xu +Xu, Xos, Xos, Xos, Xos, Uh^Emf, Xos, Xos, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xos, Xos, Uue^Ebn, Uu, Uu, Ur^Es, Ur^Es, Ur, Cud, 3 Kud, Cud, Ur^Es, Ur, Uu, Ur^Es, Uu^Em, Uu, Uu, Ur, Xu, Xu, Xu, Uu, Uu, Uu, Ur^Edb, Ur^Edb, Ur^Es, Ur, Ur^Edb, Ur, Ur^Edb, Ur, Urb, Urb, Urb, Urb, Cud, 2 Kud, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xos, Sm, Sm^Em, Uue^Vu, Ur, Uu^Es, Ur, Ur, Cud, Ur^Es, Ur, Uu, Ur, Uu^Ebn, Ur^Es, Ur, Ur, Urb^Ii, Xu, Xu, Xu, Uu^Uf, Uu^Em, Uu^Em, Ur^Es, Uu, Ur, Ur^Es, Ur^Edb, Ur, Ur^Es, Ur, Urb, Cud, Urb, Urb, Cud, Cud, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ss^Em, Sm^Emf, Sm^Em, Uue, Uu, Ur, Ur^Es, Ur, Ur, Uu^Em, Xu, Uu^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Em, Uu^Emf, Uu, Cud, Uu^Em, Ur^Es, Ur^Edb, Uu, Ur^Es, Urb, Urb, Urb, Urb^Vud, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Uu^Edb, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Ss^Em, Ss^Emf, Uh^Em, Sm^Es, Uue^Es, Ur, Ur^Vu, Cud, Ur^Es, Uue^Em, Uu^Vud, Sm, Sm, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Ebn, Xu, Ur^Vud, Uu^Emf, Uu^Em, Uu^Emf, Cud, Ur^Es, Urb, Cud, Cud, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xuc, Ur^Edb, Ur^Pr/, Xu, Xuc, Xu, Xu, Xu, Uh^Uf, Sm^Vhs, Sm^Em, Xuc, Xuc, Rb^Es, Ur, Cud, Cud, Uu, Uue^Es, Uue^Emf, Xuc, Uh^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Cud, Cud, Ur^Es, Urb, Urb, Cud, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Pr/, Uh^Emf, Xuc, Ur^Br|, Uh^Emf, Xuc, Xu, Uh^Em, Xu, Uue, Sm^Uf, Uue^Em, Xuc, Uu^Es, Rb^Es, Ur, Ur^Es, Rb^Es, Uu, Uue^Es, Xuc, Xuc, Sm^Emf, Uh^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Urb^Ebn, Xu, Urb^Vud, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Emf, Ur^Br|, Ur^Br\, Uh^Em, Ur^Br/, Uu^Emf, Uu^Em, Xu, Uh, Uue^Em, Ur^Br/, Uh^Emf, Uu^Vu, Uue^Es, Uu^Em, Uu^Vud, Rb, Ur^Es, Rb^Es, Rb, Uu^Es, Uue^Es, Sm^Es, Uue^Es, Uh^Em, Uu^Vud, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Vu, Xuc, Uu^Em, Ur^Br\, Ur^Br|, Xuc, Xuc, Ur^Br/, Ur^Br\, Ur^Br/, Ur^Br/, Uue^Em, Uh, Xu, Xu, Uu^Uf, Xu, Xu, Ur^Es, Ur, Ur, Uue^Es, Xu, Sm^Es, Ss^Emf, Ss^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Uf, Ur^Br/, Ur^Br/, Uu, Ur^Br\, Ur^Br/, Ur^Br/, Ur^Br|, Xuc, Ur^Br|, Uu, Uh^Em, Uh^Emf, Uh^Uf, Xu, Xu, Uu^Emf, Ur^Es, Ur, Rb^Es, Uue, Uue^Em, Sm^Em, Ss^Emf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Pr/, Uh^Vud, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur, Ur^Pr\, Xu, Uu^Em, Xuc, Uu^Es, Uu^Es, Uu^Es, Ur^Br|, Uu^Es, Ur^Br\, Uu, Xu, Xu, Xu, Xu, Xu, Rb^Edb, Rb^Es, Ur^Es, Rb^Edb, Cud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Sm^Es, Uu^Es, Sm^Em, Uh^Emf, Uu^Em, Uu^Pr\, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Emf, Xu, Xu, Uh^Emf, Uh^Uf, Xuc, Uh^Em, Uh^Vud, Ur^Br/, Uu^Em, Uu^Emf, Ur^Br\, Ur^Pr/, Xu, Xu, Xu, Xu, Cud, Sm^Edb, Ur, Ur^Es, Rb^Edb, Xu, Xu, Xu, Xu, Ur^Vu, Xu, Xu, Xu, Uh^Vud, Xu, Ss^Es, Ss, Xu, Sm^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Vu, Uh^Uf, Uu^Em, Ur^Br|, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Ss^Em, Sm^Es, Rb, Rb^Edb, Uue^Em, Xu, Uue^Eb, Xu, Rb, Rb^Es, Sm, Sm^Emf, Uh^Emf, Uh^Uf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Pr/, Ur, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Ss^Emf, Sm^Es, Sm, Rb^Edb, Ur, Uue^Emf, Ur^Es, Uu, Ur^Es, Sm^Es, Uu^Es, Sm^Bw/r, Ss, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ur^Edb, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Sm^Em, Uh^Em, Uue, Rb, Ur^Edb, Rb, Ur, Cud, Cud, Cud, Sm^Edb, Ss^Edb, Xu, Xu, Xu, Xu, Xu, Ur, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Vud, Uh^Uf, Uue^Em, Uue, Rb, Sm, Rb^Es, Cud, 5 Kud, Cud, Rb^Em, Rb, Uu^Eb, Xu, Xu, Ur, Ur, Urb^Ii, Ur, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh^Emf, Sm, Rb, Sm, Sm^Bw/r, Rb^Es, Cud, Uh^Em, Rb^Emf, Sm^Em, Rb, Ur, Ur^Pr\, Xu, Ur, Ur, Ur, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Sm^Eb, Sm^Emf, Ss^Em, Ss^Em, Ss, Uue^Emf, Uh^Uf, Ss^Em, Uue^Emf, Rb^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu +Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Ss^Vhs, Xu, Xu, Xu, Uue^Emf, Xu, Uh^Uf, Xu, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu diff --git a/data/campaigns/The_Hammer_of_Thursagan/scenarios/12_The_Underlevels.cfg b/data/campaigns/The_Hammer_of_Thursagan/scenarios/12_The_Underlevels.cfg index 6d5524576b5d..de5d6720d5b3 100644 --- a/data/campaigns/The_Hammer_of_Thursagan/scenarios/12_The_Underlevels.cfg +++ b/data/campaigns/The_Hammer_of_Thursagan/scenarios/12_The_Underlevels.cfg @@ -1,30 +1,27 @@ #textdomain wesnoth-thot -# This is the part of THoT that was designed by Taurus. ESR did some -# tuning and debugging afterwards, redid the flavor dialogue, and -# added the war drums, but it's still basically Taurus's architecture. - [scenario] id=12_The_Underlevels name= _ "The Underlevels" map_data="{campaigns/The_Hammer_of_Thursagan/maps/12_The_Underlevels.map}" - turns=unlimited + turns=65 next_scenario=13_Epilogue victory_when_enemies_defeated=yes {UNDERGROUND} - {SCENARIO_MUSIC silence.ogg} # No scenario music yet; we don't want it drowning out the wardrums. + {SCENARIO_MUSIC silence.ogg} # wmllint: validate-off [side] side=1 controller=human recruit="Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman, Dwarvish Scout" - {GOLD 220 200 180} + {GOLD 350 300 250} team_name=good user_team_name= _ "Alliance" {FLAG_VARIANT knalgan} + village_support=2 # wmllint: recognize Aiglondur {CHARACTER_STATS_AIGLONDUR} @@ -33,25 +30,7 @@ facing=se [/side] - # =========================================================================== - # Defines common recruit lists for the various sides - # Since they seem to share recruit lists deliberately, they're macroized here - # in order to facilitate quick changing - # - # Sides 2, 6, and 7 recruit undead - # Sides 3 and 8 recruit masked dwarves, list A - # Sides 4 and 5 recruit masked dwarves, list B - # =========================================================================== - -#define RECRUITS_UNDEAD - recruit="Blood Bat,Ghost,Wraith,Shadow,Skeleton,Skeleton Archer,Ghoul,Necrophage,Revenant,Deathblade,Bone Shooter" -#enddef - -#define RECRUITS_MASKED_DWARVES_A - recruit="Dwarvish Masked Fighter, Dwarvish Masked Thunderer, Dwarvish Ulfserker, Dwarvish Masked Guardsman" -#enddef - -#define RECRUITS_MASKED_DWARVES_B +#define RECRUITS_MASKED_DWARVES recruit="Dwarvish Masked Fighter, Dwarvish Masked Steelclad, Dwarvish Masked Thunderer, Dwarvish Masked Thunderguard, Dwarvish Ulfserker, Dwarvish Berserker, Dwarvish Masked Guardsman, Dwarvish Masked Stalwart" #enddef @@ -60,6 +39,9 @@ type={TYPE} x={X} y={Y} + [modifications] + {TRAIT_LOYAL} + [/modifications] ai_special=guardian random_traits=yes name= _ "Masked Dwarf" @@ -69,10 +51,9 @@ [side] side=2 controller=ai - - {RECRUITS_UNDEAD} - + recruit="Necrophage,Draug,Deathblade,Banebow" gold=0 # Will change when the side is activated + income=-2 team_name=evil user_team_name= _ "Masked Dwarves" {FLAG_VARIANT knalgan} @@ -83,35 +64,23 @@ color=black facing=nw - # Initial hallway - north - {MASKED_DWARF (Dwarvish Masked Steelclad) 10 25} - {MASKED_DWARF (Dwarvish Masked Steelclad) 14 25} - {MASKED_DWARF (Dwarvish Masked Steelclad) 18 25} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 12 25} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 16 25} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 20 25} - - # Intital hallway - south - {MASKED_DWARF (Dwarvish Masked Steelclad) 10 34} - {MASKED_DWARF (Dwarvish Masked Steelclad) 14 34} - {MASKED_DWARF (Dwarvish Masked Steelclad) 18 34} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 12 34} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 16 34} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 20 34} - - # South fork, group 3 - final boss - {NOTRAIT_UNIT 2 "Draug" 20 43} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 20 44} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 20 45} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 28 43} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 28 44} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 28 45} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 22 42} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 24 41} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 26 42} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 26 46} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 24 47} {GUARDIAN} {NO_UPKEEP} - {NOTRAIT_UNIT 2 "Draug" 22 46} {GUARDIAN} {NO_UPKEEP} + {MASKED_DWARF (Dwarvish Masked Sentinel) 48 20} + {MASKED_DWARF (Dwarvish Masked Sentinel) 48 24} + {MASKED_DWARF (Dwarvish Masked Steelclad) 51 19} + {MASKED_DWARF (Dwarvish Masked Steelclad) 51 26} + {MASKED_DWARF (Dwarvish Masked Steelclad) 52 18} + {MASKED_DWARF (Dwarvish Masked Steelclad) 52 26} + {MASKED_DWARF (Dwarvish Masked Stalwart) 53 20} + {MASKED_DWARF (Dwarvish Masked Stalwart) 53 25} + {MASKED_DWARF (Dwarvish Masked Dragonguard) 54 21} + {MASKED_DWARF (Dwarvish Masked Dragonguard) 54 23} + + {NOTRAIT_UNIT () "Draug" 56 18} {GUARDIAN} {NO_UPKEEP} + {NOTRAIT_UNIT () "Banebow" 56 19} {GUARDIAN} {NO_UPKEEP} + {NOTRAIT_UNIT () "Draug" 57 20} {GUARDIAN} {NO_UPKEEP} + {NOTRAIT_UNIT () "Draug" 57 25} {GUARDIAN} {NO_UPKEEP} + {NOTRAIT_UNIT () "Banebow" 56 25} {GUARDIAN} {NO_UPKEEP} + {NOTRAIT_UNIT () "Draug" 56 26} {GUARDIAN} {NO_UPKEEP} [ai] passive_leader=yes @@ -125,34 +94,28 @@ side=3 controller=ai - {RECRUITS_MASKED_DWARVES_A} + {RECRUITS_MASKED_DWARVES} gold=0 # Will change when the side is activated + {INCOME 5 9 13} team_name=evil user_team_name= _ "Masked Dwarves" {FLAG_VARIANT knalgan} - type=Dwarvish Masked Steelclad + type=Dwarvish Masked Lord id=Dufon name= _ "Masked Dwarf" profile=portraits/maskeddwarf4.png~RIGHT() canrecruit=yes - facing=s - - # North fork, group 1 - {MASKED_DWARF (Dwarvish Masked Stalwart) 38 24} - {MASKED_DWARF (Dwarvish Masked Stalwart) 36 23} - {MASKED_DWARF (Dwarvish Masked Stalwart) 38 19} - {MASKED_DWARF (Dwarvish Masked Stalwart) 36 19} - {MASKED_DWARF (Dwarvish Masked Stalwart) 33 16} - {MASKED_DWARF (Dwarvish Masked Stalwart) 33 18} - {MASKED_DWARF (Dwarvish Masked Stalwart) 23 16} - {MASKED_DWARF (Dwarvish Masked Stalwart) 23 18} - {MASKED_DWARF (Dwarvish Masked Steelclad) 24 19} - {MASKED_DWARF (Dwarvish Masked Steelclad) 24 14} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 22 19} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 22 14} + facing=nw + + {MASKED_DWARF (Dwarvish Masked Steelclad) 23 20} + {MASKED_DWARF (Dwarvish Masked Steelclad) 28 26} + {MASKED_DWARF (Dwarvish Masked Thunderer) 24 19} + {MASKED_DWARF (Dwarvish Masked Thunderer) 24 20} + {MASKED_DWARF (Dwarvish Masked Thunderer) 27 26} + {MASKED_DWARF (Dwarvish Masked Thunderer) 28 25} [ai] {NO_SCOUTS} @@ -164,9 +127,10 @@ side=4 controller=ai - {RECRUITS_MASKED_DWARVES_B} + {RECRUITS_MASKED_DWARVES} gold=0 # Will change when the side is activated + {INCOME 8 12 16} team_name=evil user_team_name= _ "Masked Dwarves" {FLAG_VARIANT knalgan} @@ -177,18 +141,10 @@ profile=portraits/maskeddwarf2.png~RIGHT() canrecruit=yes - facing=s + facing=sw - # North fork, group 2 - {MASKED_DWARF (Dwarvish Masked Stalwart) 18 15} - {MASKED_DWARF (Dwarvish Masked Stalwart) 18 17} - {MASKED_DWARF (Dwarvish Masked Stalwart) 12 16} - {MASKED_DWARF (Dwarvish Masked Stalwart) 15 12} - {MASKED_DWARF (Dwarvish Masked Stalwart) 11 12} - {MASKED_DWARF (Dwarvish Masked Steelclad) 10 11} - {MASKED_DWARF (Dwarvish Masked Steelclad) 16 11} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 17 11} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 9 11} + {MASKED_DWARF (Dwarvish Masked Sentinel) 30 11} + {MASKED_DWARF (Dwarvish Masked Sentinel) 33 12} [ai] {NO_SCOUTS} @@ -200,9 +156,10 @@ side=5 controller=ai - {RECRUITS_MASKED_DWARVES_B} + {RECRUITS_MASKED_DWARVES} gold=0 # Will change when the side is activated + {INCOME 8 12 16} team_name=evil user_team_name= _ "Masked Dwarves" {FLAG_VARIANT knalgan} @@ -215,92 +172,8 @@ facing=nw - # South fork, group 1 - {MASKED_DWARF (Dwarvish Masked Stalwart) 37 33} - {MASKED_DWARF (Dwarvish Masked Stalwart) 35 34} - {MASKED_DWARF (Dwarvish Masked Steelclad) 35 37} - {MASKED_DWARF (Dwarvish Masked Steelclad) 35 39} - {MASKED_DWARF (Dwarvish Masked Steelclad) 43 37} - {MASKED_DWARF (Dwarvish Masked Steelclad) 43 39} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 43 40} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 35 38} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 43 38} - {MASKED_DWARF (Dwarvish Masked Thunderguard) 35 40} - - [ai] - {NO_SCOUTS} - recruitment_pattern=fighter,fighter,mixed fighter - [/ai] - [/side] - - [side] - side=6 - controller=ai - - {RECRUITS_UNDEAD} - - gold=0 # Will change when the side is activated - team_name=evil - user_team_name= _ "Undead" - {FLAG_VARIANT undead} - - type=Lich - id=Fleleen - name= _ "Fleleen" - canrecruit=yes - - facing=sw - [/side] - - [side] - side=7 - controller=ai - - {RECRUITS_UNDEAD} - - gold=0 # Will change when the side is activated - team_name=evil - user_team_name= _ "Undead" - {FLAG_VARIANT undead} - - type=Lich - id=Lannex - name= _ "Lannex" - canrecruit=yes - - facing=ne - - [ai] - {NO_SCOUTS} - [/ai] - [/side] - - [side] - side=8 - controller=ai - - {RECRUITS_MASKED_DWARVES_A} - - {GOLD 150 175 200} - team_name=evil - user_team_name= _ "Masked Dwarves" - {FLAG_VARIANT knalgan} - - type=Dwarvish Masked Steelclad - id=Sashaon - name= _ "Masked Dwarf" - profile=portraits/maskeddwarf.png~RIGHT() - canrecruit=yes - - facing=sw - - # Passage fork - {MASKED_DWARF (Dwarvish Masked Stalwart) 26 27} - {MASKED_DWARF (Dwarvish Masked Stalwart) 26 30} - {MASKED_DWARF (Dwarvish Masked Stalwart) 30 26} - {MASKED_DWARF (Dwarvish Masked Stalwart) 32 27} - {MASKED_DWARF (Dwarvish Masked Stalwart) 32 30} - {MASKED_DWARF (Dwarvish Masked Stalwart) 30 31} + {MASKED_DWARF (Dwarvish Masked Sentinel) 25 32} + {MASKED_DWARF (Dwarvish Masked Sentinel) 29 31} [ai] {NO_SCOUTS} @@ -308,65 +181,35 @@ [/ai] [/side] - # Stub side for the spiders - [side] - side=9 - controller=ai - no_leader=yes - team_name=evil - hidden=yes - color=black - - # North fork, group 3 (cave room) - {NOTRAIT_UNIT 9 "Giant Spider" 45 3} {GUARDIAN} - {NOTRAIT_UNIT 9 "Giant Spider" 39 12} {GUARDIAN} - {NOTRAIT_UNIT 9 "Giant Spider" 44 7} {GUARDIAN} - {NOTRAIT_UNIT 9 "Giant Spider" 39 7} {GUARDIAN} - {NOTRAIT_UNIT 9 "Giant Spider" 49 5} {GUARDIAN} - {NOTRAIT_UNIT 9 "Giant Spider" 38 2} {GUARDIAN} - [/side] - - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 38 42} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 39 42} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 40 42} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 21 55} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 21 54} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 55 34} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 23 4} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 39 13} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 26 5} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 25 8} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 18 1} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 10 2} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 15 24} - {PLACE_IMAGE "scenery/dwarven-doors-closed.png" 15 36} - - {PLACE_IMAGE "scenery/rune4.png" 12 1} - {PLACE_IMAGE "scenery/rune4.png" 20 1} - {PLACE_IMAGE "scenery/rune4.png" 41 43} - {PLACE_IMAGE "scenery/rune4.png" 37 43} - - {PLACE_IMAGE "items/book2.png" 41 6} - {PLACE_IMAGE "items/chest.png" 15 22} - {PLACE_IMAGE "items/chest.png" 15 38} - - {STARTING_VILLAGES 8 4} + # Scenery + {PLACE_IMAGE "scenery/rune2.png" 38 21} + {PLACE_IMAGE "scenery/rune4.png" 38 23} + {PLACE_IMAGE "scenery/rune2.png" 46 6} + {PLACE_IMAGE "scenery/rune4.png" 44 36} + + {PLACE_IMAGE "items/bones.png" 19 5} + {PLACE_IMAGE "items/bones.png" 25 5} + + {PLACE_IMAGE "items/chest.png" 48 13} + {PLACE_IMAGE "items/chest.png" 14 29} + + # Starting villages + {STARTING_VILLAGES 1 4} + {STARTING_VILLAGES 2 9} + {STARTING_VILLAGES 3 5} + {STARTING_VILLAGES_AREA 3 23 27 4} + {STARTING_VILLAGES_AREA 3 35 28 1} + {STARTING_VILLAGES_AREA 3 23 13 4} + {STARTING_VILLAGES 4 6} {STARTING_VILLAGES 5 6} - {STARTING_VILLAGES 3 3} - {STARTING_VILLAGES 4 9} [event] name=prestart - {VARIABLE key_read no} - - {VARIABLE rune_dst_12 37} - {VARIABLE rune_dst_20 41} - [objectives] side=1 [objective] - description= _ "Defeat Karrag" + description= _ "Find and defeat Karrag" condition=win [/objective] [objective] @@ -382,7 +225,7 @@ condition=lose [/objective] - {HAS_NO_TURN_LIMIT} + {TURNS_RUN_OUT} {IS_LAST_SCENARIO} [/objectives] @@ -399,6 +242,32 @@ [/recall] {MODIFY_UNIT (side=1) facing se} + + {VARIABLE runes_activated 0} + {VARIABLE rune_one 0} + {VARIABLE rune_two 0} + [/event] + + [event] + name=unit placed + first_time_only=no + [filter] + side=1 + [/filter] + + [object] + silent=yes + [filter] + x,y=$x1,$y1 + [/filter] + [effect] + apply_to=vision_costs + replace=yes + [vision_costs] + impassable=3 + [/vision_costs] + [/effect] + [/object] [/event] {CONDITIONAL_MAGE_RECRUITING} @@ -408,18 +277,18 @@ [message] speaker=Angarthing - message= _ "This place smells of death." + message= _ "This place reeks of death." [/message] [message] speaker=Dulcatulos - message= _ "It’s been... it’s been years since I’ve been down here. Only Karrag and his personal followers used this level. Why did I never wonder about that before?" + message= _ "It has been... so many years since I’ve been down here. Only Karrag and his personal followers used this level. I can't believe I never wondered about that before." [/message] [message] speaker=Angarthing # wmllint: local spelling glamours - message= _ "Karrag’s will, and his dark magic. I think he has been casting glamours on all of you ever since he passed over." + message= _ "It is Karrag's doing—his will, and his dark magic. I think he has been casting glamours on all of you ever since he passed over." [/message] [message] @@ -428,13 +297,8 @@ [/message] [message] - speaker=Dulcatulos - message= _ "This is the Grand Gallery. There are rows of small chambers along its sides; he could have slipped into any of them." - [/message] - - [message] - speaker=Aiglondur - message= _ "More likely he has cloaked himself, thinking to run ahead to gather his followers. He could be within a spear-cast of us now and we wouldn’t know it in this gloom." + speaker=Angarthing + message= _ "Mostly likely he has cloaked himself, thinking to run ahead to gather his followers. He could be within a spear-cast of us now and we wouldn’t know it in this gloom." [/message] [sound] @@ -451,582 +315,800 @@ message= _ "Aye. Karrag, calling his troops to battle. Only the Dark Gods know what hellspawn the lich will summon. AXES UP!" [/message] - # Now pile on the music - {REPLACE_SCENARIO_MUSIC vengeful.ogg} - {APPEND_MUSIC underground.ogg} - {APPEND_MUSIC breaking_the_chains.ogg} + + {REPLACE_SCENARIO_MUSIC knalgan_theme.ogg} {APPEND_MUSIC siege_of_laurelmor.ogg} - {APPEND_MUSIC battle.ogg} - {APPEND_MUSIC the_deep_path.ogg} + {APPEND_MUSIC underground.ogg} {APPEND_MUSIC the_dangerous_symphony.ogg} - {APPEND_MUSIC knalgan_theme.ogg} - {APPEND_MUSIC legends_of_the_north.ogg} - {APPEND_MUSIC suspense.ogg} - {APPEND_MUSIC revelation.ogg} + {APPEND_MUSIC the_deep_path.ogg} [/event] -#define FIRE_JAIL_SAGA_EVENT ID_STRING - [fire_event] - name=jail_saga - [primary_unit] - id={ID_STRING} - [/primary_unit] - [/fire_event] -#enddef - -#define FIRE_LICH_ACTIVATION_EVENT - [fire_event] - name=activate_liches - [/fire_event] -#enddef + ##################################### Hidden events ##################################### - # We've arrived at the door to the sealed cave section, - # The door guardian gets more gold to recruit another troop wave. + # Small unit hitpoint bonuses [event] - name=sighted + name=moveto + first_time_only=yes [filter] - id=Dranath - [/filter] - [filter_second] side=1 - [/filter_second] - - [message] - speaker=Dranath - message= _ "You cannot pass, fools. The doors I guard are sealed by the power of the Hammer itself." - [/message] - - [message] - speaker=second_unit - message= _ "We’ll see about that!" - [/message] - - [gold] - side=5 - amount=300 - [/gold] - [/event] - - # This event handles the actual lich activation - [event] - name=activate_liches - - [message] - speaker=Angarthing - message= _ "I sense wrongness. Some greater evil awakens before us." - [/message] - - [gold] - side=6,7 - amount={ON_DIFFICULTY 200 250 300} - [/gold] - [/event] - - # We're at the door to the sealed cave section. - [event] - name=stage_two_locked_door_dialog - [filter_condition] - [variable] - name=key_read - boolean_equals=no - [/variable] - [/filter_condition] - - [message] - speaker=unit - message= _ "It seems that guard spoke truth. These doors cannot be forced open by any means we have!" - [/message] - - [message] - speaker=Angarthing - message= _ "I sense these bindings to be the work of common sorcery, not the power of the Hammer. Usually to each such locking spell there is some sort of key. If we can but find the key, we will be able to open these doors." - [/message] - [/event] - - [event] - name=stage_two_locked_door_open - [filter_condition] - [variable] - name=key_read - boolean_equals=yes - [/variable] - [/filter_condition] + x,y=19,5 + [/filter] [message] speaker=unit - message= _ "The key has been uttered, these doors should open..." + message= _ "Someone died here." [/message] - [delay] - time=1000 - [/delay] - - [sound] - name=rumble.ogg - [/sound] - - [terrain] - x=38,39,40 - y=42,42,42 - terrain=Uu - [/terrain] - - [message] - speaker=unit - message= _ "There we go... faugh, what is that smell!" - [/message] + # Secret easter egg bonus + # Give a unit 3 extra hp - # We defer activating the two subordinate liches in the sealed cave section - # until this point because we don't want the whole cave section to be already - # flooded with monsters when the player’s troops enter it. Ideally, we'd like - # the player to collide with an expanding wave of monsters from the lich to the - # west, and then possibly get hit from behind by monsters percolating through - # the narrow passage from the lich to the east. The tunnel lengths have been - # tuned for this result. - {FIRE_LICH_ACTIVATION_EVENT} + [object] + [filter] + x,y=$x1,$y1 + [/filter] + duration=forever + silent=yes + [effect] + apply_to=hitpoints + increase_total=3 + increase=3 + [/effect] + [/object] [/event] - [event] name=moveto - first_time_only=no + first_time_only=yes [filter] side=1 - x=38,39,40 - y=41,41,41 + x,y=25,5 [/filter] - [fire_event] - name=stage_two_locked_door_dialog - [primary_unit] - x,y=$x1,$y1 - [/primary_unit] - [/fire_event] + [message] + speaker=unit + message= _ "Poor guy didn't make it." + [/message] - [fire_event] - name=stage_two_locked_door_open - [primary_unit] + # Secret easter egg bonus + # Give a unit 3 extra hp + + [object] + [filter] x,y=$x1,$y1 - [/primary_unit] - [/fire_event] + [/filter] + duration=forever + silent=yes + [effect] + apply_to=hitpoints + increase_total=3 + increase=3 + [/effect] + [/object] [/event] - # This event is in case the player gets a unit through the sneak tunnel - # between the spider room and the eastern lich chamber before opening - # the sealed doors. + # Gold [event] name=moveto + first_time_only=yes [filter] side=1 - x=51-54 - y=20-33 + x,y=48,13 [/filter] [message] speaker=unit - message= _ "I think I hear noises, ahead of us..." + message= _ "There's some gold in here!" [/message] - {FIRE_LICH_ACTIVATION_EVENT} - [/event] - - # Don't activate Karrag too early or all his units will run to - # the adjacent chamber and the final fight will just be bashing - # on the guardian Draugs. - [event] - name=sighted - [filter] - id=Karrag - [/filter] - [filter_second] + [gold] side=1 - [/filter_second] - - [message] - speaker=Karrag - message= _ "Fresh blood! Exactly what I need to complete the rite." - [/message] - - [modify_side] - side=2 - gold=300 # Perhaps drop this to 200/250 on lower difficulties? - [/modify_side] + amount={ON_DIFFICULTY 50 40 30} + [/gold] + {PLACE_IMAGE "items/chest-open.png" 48 13} [/event] - # The door to the room of spiders [event] name=moveto + first_time_only=yes [filter] side=1 - x=25,25 - y=5,6 + x,y=14,29 [/filter] [message] speaker=unit - message= _ "It’s locked, but nothing that our hammers can’t manage." + message= _ "I found some gold!" [/message] - [terrain] - x,y=26,5 - terrain=Uu - [/terrain] + [gold] + side=1 + amount={ON_DIFFICULTY 50 40 30} + [/gold] + {PLACE_IMAGE "items/chest-open.png" 14 29} [/event] - - # The book is in the room of spiders + ######################################################################################### + ################################## Gate opening events ################################## [event] name=moveto + first_time_only=yes [filter] side=1 - x,y=41,6 + x=16,17 + y=18,18 [/filter] - [message] - speaker=unit - message= _ "A scroll with some strange writing on it..." - [/message] - - [message] - speaker=Angarthing - message= _ "I believe that will be the key-spell for that sealed door." - [/message] - - [message] - speaker=Angarthing - message= _ "(Reads) Kannin a’kana du’masi a’forigln de’amp." # wmllint: no spellcheck - [/message] + [if] + [variable] + name=unit.id + equals=Aiglondur + [/variable] + [or] + [variable] + name=unit.id + equals=Angarthing + [/variable] + [/or] + [then] + [message] + speaker=unit + message= _ "The gates are locked. I will have to break them open by force!" + [/message] + [/then] + [else] + [message] + speaker=unit + message= _ "The gates are locked!" + [/message] + + [message] + speaker=Aiglondur + message= _ "Force them open!" + [/message] + + [message] + speaker=unit + message= _ "Yes, sir!" + [/message] + [/else] + [/if] [delay] - time=500 + time=1000 [/delay] [sound] - name=unlock.ogg + name=mace.ogg [/sound] - [remove_item] - image=scenery/rune4.png - [/remove_item] + [delay] + time=100 + [/delay] - {PLACE_IMAGE "scenery/rune4-glow.png" 12 1} - {PLACE_IMAGE "scenery/rune4-glow.png" 20 1} - {PLACE_IMAGE "scenery/rune4-glow.png" 41 43} - {PLACE_IMAGE "scenery/rune4-glow.png" 37 43} + [terrain] + x=18,17 + y=18,19 + terrain=Ur^Pr/o + [/terrain] + [redraw][/redraw] [delay] - time=500 + time=1000 [/delay] [message] speaker=Angarthing - message= _ "Now try the door again. It should open." + message= _ "Let us proceed onward." [/message] - - {VARIABLE key_read yes} [/event] [event] name=moveto + first_time_only=yes [filter] side=1 - x,y=15,25 + x,y=42,5 [/filter] - [message] - speaker=unit - message= _ "A door. Perhaps Karrag is hiding in here..." - [/message] + [if] + [variable] + name=unit.id + equals=Aiglondur + [/variable] + [or] + [variable] + name=unit.id + equals=Angarthing + [/variable] + [/or] + [then] + [message] + speaker=unit + message= _ "There's something behind this door. I shall break it down!" + [/message] + [/then] + [else] + [message] + speaker=unit + message= _ "There's something behind this door." + [/message] + + [message] + speaker=Aiglondur + message= _ "Break it down!" + [/message] + [/else] + [/if] + + [delay] + time=1000 + [/delay] + + [sound] + name=mace.ogg + [/sound] + + [delay] + time=100 + [/delay] [terrain] - x,y=15,24 - terrain=Uu + x,y=43,6 + terrain=Ur^Pr/o [/terrain] + [redraw][/redraw] [/event] [event] name=moveto + first_time_only=yes [filter] side=1 - x,y=15,35 + x,y=40,37 [/filter] [message] speaker=unit - message= _ "A door. Perhaps Karrag is hiding in here..." + message= _ "It looks like there is a rune behind this gate!" [/message] + [delay] + time=1000 + [/delay] + + [sound] + name=mace.ogg + [/sound] + + [delay] + time=100 + [/delay] + [terrain] - x,y=15,36 - terrain=Uu + x,y=41,37 + terrain=Ur^Pr\o [/terrain] + [redraw][/redraw] [/event] + ######################################################################################### + ########################## Catching sight of enemy leaders ############################## [event] - name=moveto + name=sighted [filter] - side=1 - x,y=15,22 + side=3 [/filter] + [filter_second] + side=1 + [/filter_second] [message] speaker=unit - message= _ "150 gold pieces. This should help." + message= _ "The dirtgrubber-friends have come! Slay them all!" [/message] + [message] + speaker=second_unit + message= _ "You could not stop us before and you won't be stopping us now!" + [/message] + + # Activate side 3 [gold] - side=1 - amount=150 + side=3 + amount={ON_DIFFICULTY 30 50 70} [/gold] - - [remove_item] - x,y=15,22 - [/remove_item] [/event] [event] - name=moveto + name=sighted [filter] - side=1 - x,y=15,38 + id=Dufon [/filter] + [filter_second] + side=1 + [/filter_second] [message] - speaker=unit - message= _ "150 gold pieces. I wonder why Karrag would choose to store his gold here." + speaker=Dufon + message= _ "You shall never pass through here! The doors I guard are sealed by the power of the Hammer itself." [/message] + [message] + speaker=second_unit + message= _ "You won't stop us!" + [/message] + + [message] + speaker=Dufon + message= _ "Fools! Even should you defeat me, the master's ritual will soon be complete and you shall all become his slaves!" + [/message] + [gold] - side=1 - amount=150 + side=3 + amount={ON_DIFFICULTY 40 60 80} [/gold] - - [remove_item] - x,y=15,38 - [/remove_item] [/event] [event] - name=moveto + name=sighted [filter] - side=1 - x,y=39,12 + id=Aragoth [/filter] + [filter_second] + side=1 + [/filter_second] [message] - speaker=unit - message= _ "An old caved-in passageway. Perhaps if we clear away some of this rubble we may be able to get through..." + speaker=Aragoth + message= _ "Your path forward ends here! Once the lord's spell is complete, your souls will soon be chained to his will!" [/message] - [terrain] - x=39,39 - y=13,14 - terrain=Uu - [/terrain] + # Give side 4 some gold + [gold] + side=4 + amount={ON_DIFFICULTY 75 100 125} + [/gold] [/event] [event] - name=moveto + name=sighted [filter] - side=1 - x,y=55,33 + id=Dranath [/filter] + [filter_second] + side=1 + [/filter_second] [message] - speaker=unit - message= _ "Another old caved-in passageway..." + speaker=Dranath + message= _ "The dirtgrubbers have come! Stop their advance!" [/message] - [terrain] - x=55,55 - y=34,35 - terrain=Uu - [/terrain] + # Give side 5 some gold + [gold] + side=5 + amount={ON_DIFFICULTY 75 100 125} + [/gold] [/event] - - # This event deals with the dialog for freeing someone + ######################################################################################### + #################################### Rune events ######################################## [event] - name=jail_saga + name=moveto + first_time_only=yes + [filter] + side=1 + x,y=46,6 + [/filter] + [filter_condition] + [variable] + name=rune_one + numerical_equals=0 + [/variable] + [/filter_condition] [message] speaker=unit - message= _ "Finally! I see someone managed to see through the web of deception thrown up by that vile Karrag!" + message= _ "This must be one of the runic keys!" [/message] - [message] - speaker=Aiglondur - message= _ "I thought Karrag’s fight was against the so called ‘dirtgrubbers’. Why would he keep you, a dwarf captive?" - [/message] + [delay] + time=1000 + [/delay] - [message] - speaker=unit - message= _ "I guess Karrag thought I knew too much. When his masked henchmen started raiding, plundering and taking all sorts of prisoners — which were sent to these underlevels and never seen again — I began to inquire. I discovered many unsettling things indeed, but before I could act on them I was arrested and thrown down here." - [/message] + [sound] + name=petrified.ogg + [/sound] - [message] - speaker=unit - message= _ "I gather that he is involved in some sick ritual which requires the blood of living creatures. These cells seem to be the holding place where he keeps his victims. The ‘dirtgrubbers’ he seems to prefer sacrificing have long since been taken away. Now it is just us few dwarves that remain..." - [/message] + [delay] + time=100 + [/delay] - [message] - speaker=Angarthing - message= _ "Freeing these prisoners is more of a blow to Karrag than we thought, for now he is unable to continue his foul sorcery." - [/message] + {PLACE_IMAGE "scenery/rune2-glow.png" 38 21} + {PLACE_IMAGE "scenery/rune2-glow.png" 46 6} + + [delay] + time=1000 + [/delay] + + # Activate the rune + {VARIABLE_OP runes_activated add 1} + {VARIABLE_OP rune_one add 1} + + # Check if both runes are activated or not + [if] + [variable] + name=runes_activated + equals=2 + [/variable] + [then] + [fire_event] + name=runes_found + [/fire_event] + [/then] + [else] + [message] + speaker=Aiglondur + message= _ "We still need to find the other one!" + [/message] + + [objectives] + side=1 + [objective] + description= _ "Find and activate the runic keys (one remaining)" + condition=win + [/objective] + [objective] + description= _ "Death of Aiglondur" + condition=lose + [/objective] + [objective] + description= _ "Death of Angarthing" + condition=lose + [/objective] + [objective] + description= _ "Death of Dulcatulos" + condition=lose + [/objective] + [note] + description= _ "You may teleport units between matching runes (the destination must be clear)" + [/note] + {TURNS_RUN_OUT} + {IS_LAST_SCENARIO} + [/objectives] + [/else] + [/if] [/event] + # Rune 1 teleportation [event] name=moveto + first_time_only=no [filter] side=1 - x,y=11,2 + x,y=46,6 [/filter] + [filter_condition] + [variable] + name=rune_one + numerical_equals=1 + [/variable] + [and] + [not] + [have_unit] + x,y=38,21 + [/have_unit] + [/not] + [/and] + [/filter_condition] - [terrain] - x,y=10,2 - terrain=Uu - [/terrain] + [sound] + name=magic-missile-1.ogg + [/sound] - [remove_shroud] - side=1 - x=7-10 - y=1-3 - [/remove_shroud] + [unstore_unit] + variable=unit + x,y=38,21 + find_vacant=yes + [/unstore_unit] - [unit] - side=1 - type=Dwarvish Steelclad - x,y=8,2 - random_traits=yes - id=Trisi - name= _ "Trisi" - [/unit] - - [unit] + [kill] + x,y=$x1,$y1 + [/kill] + [/event] + + [event] + name=moveto + first_time_only=no + [filter] side=1 - type=Dwarvish Thunderer - x,y=8,1 - random_traits=yes - generate_name=yes - [/unit] + x,y=38,21 + [/filter] + [filter_condition] + [variable] + name=rune_one + numerical_equals=1 + [/variable] + [and] + [not] + [have_unit] + x,y=46,6 + [/have_unit] + [/not] + [/and] + [/filter_condition] + + [sound] + name=magic-missile-1.ogg + [/sound] + + [unstore_unit] + variable=unit + x,y=46,6 + find_vacant=yes + [/unstore_unit] - {FIRE_JAIL_SAGA_EVENT (Trisi)} + [kill] + x,y=$x1,$y1 + [/kill] [/event] + # Rune 2 activation [event] name=moveto + first_time_only=yes [filter] side=1 - x,y=19,2 + x,y=44,36 [/filter] + [filter_condition] + [variable] + name=rune_two + numerical_equals=0 + [/variable] + [/filter_condition] - [terrain] - x,y=18,1 - terrain=Uu - [/terrain] + [message] + speaker=unit + message= _ "We've found a runic key!" + [/message] - [remove_shroud] - side=1 - x=15-18 - y=1-3 - [/remove_shroud] + [delay] + time=1000 + [/delay] - [unit] - side=1 - type=Dwarvish Steelclad - x,y=16,1 - random_traits=yes - id=Malifen - name= _ "Malifen" - [/unit] - - [unit] - side=1 - type=Dwarvish Fighter - x,y=15,2 - random_traits=yes - generate_name=yes - [/unit] + [sound] + name=petrified.ogg + [/sound] - {FIRE_JAIL_SAGA_EVENT (Malifen)} + [delay] + time=100 + [/delay] + + {PLACE_IMAGE "scenery/rune4-glow.png" 38 23} + {PLACE_IMAGE "scenery/rune4-glow.png" 44 36} + + [delay] + time=1000 + [/delay] + + # Activate the second rune + {VARIABLE_OP runes_activated add 1} + {VARIABLE_OP rune_two add 1} + + # Check if both runes are activated + [if] + [variable] + name=runes_activated + equals=2 + [/variable] + [then] + [fire_event] + name=runes_found + [/fire_event] + [/then] + [else] + [message] + speaker=Aiglondur + message= _ "We still need to find the other one!" + [/message] + + [objectives] + side=1 + [objective] + description= _ "Find and activate the runic keys (one remaining)" + condition=win + [/objective] + [objective] + description= _ "Death of Aiglondur" + condition=lose + [/objective] + [objective] + description= _ "Death of Angarthing" + condition=lose + [/objective] + [objective] + description= _ "Death of Dulcatulos" + condition=lose + [/objective] + [note] + description= _ "You may teleport units between matching runes (the destination must be clear)" + [/note] + {TURNS_RUN_OUT} + {IS_LAST_SCENARIO} + [/objectives] + [/else] + [/if] [/event] + # Rune 2 teleportation [event] name=moveto + first_time_only=no [filter] side=1 - x,y=23,5 + x,y=44,36 [/filter] + [filter_condition] + [variable] + name=rune_two + numerical_equals=1 + [/variable] + [and] + [not] + [have_unit] + x,y=38,23 + [/have_unit] + [/not] + [/and] + [/filter_condition] - [terrain] - x,y=23,4 - terrain=Uu - [/terrain] + [sound] + name=magic-missile-1.ogg + [/sound] - [remove_shroud] - side=1 - x=22-25 - y=1-3 - [/remove_shroud] + [unstore_unit] + variable=unit + x,y=38,23 + find_vacant=yes + [/unstore_unit] - [unit] - side=1 - type=Dwarvish Thunderguard - x,y=23,3 - random_traits=yes - id=Borras - name= _ "Borras" - [/unit] - - [unit] - side=1 - type=Dwarvish Fighter - x,y=24,2 - random_traits=yes - generate_name=yes - [/unit] - - {FIRE_JAIL_SAGA_EVENT (Borras)} + [kill] + x,y=$x1,$y1 + [/kill] [/event] [event] name=moveto + first_time_only=no [filter] side=1 - x,y=25,7 + x,y=38,23 [/filter] + [filter_condition] + [variable] + name=rune_two + numerical_equals=1 + [/variable] + [and] + [not] + [have_unit] + x,y=44,36 + [/have_unit] + [/not] + [/and] + [/filter_condition] + + [sound] + name=magic-missile-1.ogg + [/sound] + + [unstore_unit] + variable=unit + x,y=44,36 + find_vacant=yes + [/unstore_unit] + + [kill] + x,y=$x1,$y1 + [/kill] + [/event] + + # When both runes are activated, open the area to the final chamber + [event] + name=runes_found + first_time_only=yes + + [message] + speaker=Angarthing + message= _ "The keys have been found. The door should open..." + [/message] + + {SCROLL_TO 38 22} + + [delay] + time=1000 + [/delay] + + [sound] + name=rumble.ogg + [/sound] + + [delay] + time=500 + [/delay] + + [sound] + name=dragonstick.ogg + [/sound] + + [delay] + time=500 + [/delay] [terrain] - x,y=25,8 + x=39,40 + y=23,23 terrain=Uu [/terrain] + [terrain] + x=40,41 + y=22,23 + terrain=Ur + [/terrain] + [terrain] + x=39,40 + y=22,21 + terrain=Ur^Es + [/terrain] + [terrain] + x,y=41,22 + terrain=Uu^Emf + [/terrain] + [redraw][/redraw] - [remove_shroud] - side=1 - x=22-25 - y=8-10 - [/remove_shroud] + [delay] + time=500 + [/delay] - [unit] - side=1 - type=Dwarvish Steelclad - x,y=24,8 - random_traits=yes - id=Zamak - name= _ "Zamak" - [/unit] - - [unit] - side=1 - type=Dwarvish Thunderguard - x,y=24,9 - random_traits=yes - generate_name=yes - [/unit] + [message] + speaker=Aiglondur + message= _ "The lich surely awaits us within. We must be on guard." + [/message] - {FIRE_JAIL_SAGA_EVENT (Zamak)} + [objectives] + side=1 + [objective] + description= _ "Defeat Karrag" + condition=win + [/objective] + [objective] + description= _ "Death of Aiglondur" + condition=lose + [/objective] + [objective] + description= _ "Death of Angarthing" + condition=lose + [/objective] + [objective] + description= _ "Death of Dulcatulos" + condition=lose + [/objective] + [note] + description= _ "You may teleport units between matching runes (the destination must be clear)" + [/note] + {TURNS_RUN_OUT} + {IS_LAST_SCENARIO} + [/objectives] [/event] - # Teleport rune handlers + # If you get close to the final area, it tells you you need to activate the runes [event] - name=teleport_runes_disabled_dialog + name=moveto + first_time_only=yes + [filter] + side=1 + x=36-38 + y=21-23 + [/filter] + [filter_condition] [variable] name=key_read @@ -1036,141 +1118,263 @@ [message] speaker=unit - message= _ "When I step on this rune, I feel strange indeed. I feel like I am being pulled somewhere else, but at the same time being held back by an equally powerful force." + message= _ "It seems that the guard spoke the truth. These doors will not open to us!" [/message] [message] speaker=Angarthing - message= _ "It seems to be some sort of a teleportation device. What’s more, the bindings that are preventing it from working seem to be the same ones that bar those sealed gates." + message= _ "They are sealed by the ancient runelore of the Hammer. No amount of force can open these doors - we will need to find the keys to the seals here." [/message] - [/event] - - [event] - name=teleport_runes_use - first_time_only=no - [filter_condition] - [variable] - name=key_read - boolean_equals=yes - [/variable] - [/filter_condition] - {THUNDER ( - [teleport] - [filter] - x,y=$x1,$y1 - [/filter] - x=$rune_dst_$x1| - y=43 - [/teleport] - )} - - # In case user never puts anyone through the sealed door - {FIRE_LICH_ACTIVATION_EVENT} + [objectives] + side=1 + [objective] + description= _ "Find and activate the runic keys to the sealed door" + condition=win + [/objective] + [objective] + description= _ "Death of Aiglondur" + condition=lose + [/objective] + [objective] + description= _ "Death of Angarthing" + condition=lose + [/objective] + [objective] + description= _ "Death of Dulcatulos" + condition=lose + [/objective] + {TURNS_RUN_OUT} + {IS_LAST_SCENARIO} + [/objectives] [/event] - + ######################################################################################### + ################################ Karrag's speeches ###################################### [event] - name=moveto - first_time_only=no + name=sighted [filter] - side=1 - x=12,20 - y=1 ,1 + side=2 [/filter] + [filter_second] + side=1 + [/filter_second] - [fire_event] - name=teleport_runes_disabled_dialog - [primary_unit] - x,y=$x1,$y1 - [/primary_unit] - [/fire_event] + [message] + speaker=unit + message= _ "My lord, the dirtgrubbers have entered our sanctuary!" + [/message] - [fire_event] - name=teleport_runes_use - [primary_unit] - x,y=$x1,$y1 - [/primary_unit] - [/fire_event] + [message] + speaker=Karrag + message= _ "Excellent! Their blood will provide plenty of fuel for my ritual!" + [/message] + + # Karrag's initial wave + [gold] + side=2 + amount={ON_DIFFICULTY 130 150 170} + [/gold] [/event] [event] name=sighted [filter] - id=Aragoth + id=Karrag [/filter] [filter_second] side=1 [/filter_second] - [gold] - side=4 - amount=300 - [/gold] + [message] + speaker=Karrag + message= _ "So, the usurpers have arrived at last." + [/message] [message] - speaker=Aragoth - message= _ "Our master’s ritual must not be interrupted. Stop them!" + speaker=Aiglondur + message= _ "We are not the usurpers but the liberators of Kal Kartha! We are here to free our kin from your dark sorcery!" + [/message] + + [message] + speaker=Karrag + message= _ "You insolent fool! It is I who have led Kal Kartha to glory and I who have cleansed the lands of the true people from all unworthy scum! Kal Kartha owes me everything!" + [/message] + + [message] + speaker=Angarthing + message= _ "No! You are the one who owes our brethren their freedom! You have ensnared their minds with your foul magic and now we are here to put an end to your tyrannical rule!" [/message] + + [message] + speaker=Karrag + message= _ "Any enemy of my rule is no better than the filthiest of dirtgrubbers. You no longer belong to the true people. You will become my slaves!" + [/message] + + [message] + speaker=Aiglondur + message= _ "Not if we stop you here. AXES UP!" + [/message] + + # Give Karrag more gold + [gold] + side=2 + amount={ON_DIFFICULTY 120 160 200} + [/gold] [/event] [event] - name=moveto + name=last breath [filter] - side=1 - x=22,22 - y=54,55 + id=Karrag [/filter] [message] - speaker=unit - message= _ "Yon doors are big, tightly locked — and, I would imagine, well barricaded. This may take a while." + speaker=Karrag + message= _ "No! No! No! Dirtgrubbers must die! The true people must rule all!" [/message] [message] speaker=Aiglondur - message= _ "Go through that rubble yonder; see if you can dig up some sort of battering ram." + message= _ "The ‘true people’ speak through our axes. Die, foul lich." [/message] [message] - speaker=narrator - image=none - message= _ "One hour later" + speaker=Karrag + message= _ "Nooo! My power... it wanes..." + [/message] + + [kill] + id=Karrag + animate=yes + [/kill] + + [message] + speaker=Dulcatulos + message= _ "And your rule is at an end, Karrag, once the brave lord of Kal Kartha." [/message] [message] speaker=Aiglondur - message= _ "The door is about to give. Brace yourselves, everyone." + message= _ "Do not mourn his passing, Dulcatulos. The Karrag you knew died many years ago when his lust for power consumed him. It is now time to put the past behind and right the wrongs that have been wrought here." [/message] - [terrain] - x=21,21 - y=54,55 - terrain=Uu - [/terrain] + [message] + speaker=Angarthing + message= _ "Aiglondur speaks the truth. The deed is done. Though the heart of the darkness is gone, there is still much to do. Much will have to be done to amend the desecration of the Hammer and the evil that has been done here." + [/message] + + [message] + speaker=Aiglondur + message= _ "But first, we must bring this news to the rest of Kal Kartha. A new Lord must be chosen." + [/message] + + [message] + speaker=Angarthing + message= _ "Aye, let us go." + [/message] + + {CLEAR_VARIABLE runes_activated} + {CLEAR_VARIABLE rune_one} + {CLEAR_VARIABLE rune_two} + + [endlevel] + result=victory + carryover_report=no + [/endlevel] + [/event] + ######################################################################################### + ######################################## Deaths ######################################### + [event] + name=last breath + [filter] + id=Dufon + [/filter] + + [message] + speaker=Dufon + message= _ "The master's ritual... must not be... interrupted..." + [/message] [/event] [event] name=last breath [filter] - id=Karrag + id=Dranath [/filter] [message] - speaker=Karrag - message= _ "No! No! No! Dirtgrubbers must die! The true people must rule all!" + speaker=Dranath + message= _ "Imbeciles! Once the master's dark rite is complete, I will return to slay you myself!" + [/message] + [/event] + + [event] + name=last breath + [filter] + id=Aragoth + [/filter] + + [message] + speaker=Aragoth + message= _ "The heathens... have slain me-" + [/message] + [/event] + ######################################################################################### + ################################## Running out of time ################################## + + [event] + name=turn 57 + + [message] + speaker=Aiglondur + message= _ "The air is cold with the stench of death." + [/message] + + [message] + speaker=Angarthing + message= _ "No doubt it is this ritual that the masked ones spoke of. We must hurry and stop Karrag!" [/message] + [/event] + + [event] + name=turn 61 + + [harm_unit] + [filter] + id=Aiglondur + [/filter] + animate=yes + amount=3 + kill=no + slowed=yes + [/harm_unit] [message] speaker=Aiglondur - message= _ "The ‘true people’ speak through our axes. Die, foul lich." + message= _ "I feel as if the life is being sapped out of my body!" + [/message] + + [message] + speaker=Angarthing + message= _ "Karrag's spell grows more powerful with every passing moment. If we do not defeat him now, we will all turn into his thralls!" + [/message] + [/event] + + [event] + name=time over + + [message] + speaker=Karrag + message= _ "HAHAHAHA! Yes, yes, YES! The rite of death is complete at last! Die, you filthy dirtgrubbers, die so that I may raise you again as my mindless slaves!" [/message] [endlevel] - result=victory + result=defeat [/endlevel] [/event] + ######################################################################################### - {RENAME_MASKED_DWARVES 3,4,5,8} + {RENAME_MASKED_DWARVES 3,4,5} {HERODEATH_AIGLONDUR} {HERODEATH_ANGARTHING} @@ -1178,9 +1382,5 @@ {HERODEATH_DULCATULOS} [/scenario] -#undef RECRUITS_UNDEAD -#undef RECRUITS_MASKED_DWARVES_A -#undef RECRUITS_MASKED_DWARVES_B +#undef RECRUITS_MASKED_DWARVES #undef MASKED_DWARF -#undef FIRE_JAIL_SAGA_EVENT -#undef FIRE_LICH_ACTIVATION_EVENT