diff --git a/data/campaigns/World_Conquest/_main.cfg b/data/campaigns/World_Conquest/_main.cfg index 33ead7a7af91..893949e4e1c7 100644 --- a/data/campaigns/World_Conquest/_main.cfg +++ b/data/campaigns/World_Conquest/_main.cfg @@ -11,7 +11,7 @@ #ifdef LOAD_WC2 [binary_path] - path=data/campaigns/World_Conquest + path=data/campaigns/World_Conquest [/binary_path] {./era} diff --git a/data/campaigns/World_Conquest/era/campaign/heroes.cfg b/data/campaigns/World_Conquest/era/campaign/heroes.cfg index 240f9fc9f7ea..bd1b1c5bcb22 100644 --- a/data/campaigns/World_Conquest/era/campaign/heroes.cfg +++ b/data/campaigns/World_Conquest/era/campaign/heroes.cfg @@ -1,316 +1,316 @@ ############################################################## #define WORLD_CONQUEST_II_ERA_HEROES_TRAITS - [trait_extra] - types=Walking Corpse - {WORLD_CONQUEST_II_TRAIT_LEGENDARY_ZOMBIE} - [/trait_extra] - [trait_extra] - types=Goblin Spearman - {WORLD_CONQUEST_II_TRAIT_LEGENDARY_GOBLIN} - [/trait_extra] - [trait_extra] - types=Orcish Assassin,Young Ogre,Ruffian,Woodsman - {WORLD_CONQUEST_II_TRAIT_EPIC} - [/trait_extra] - [trait_extra] - types=Ghoul,Poacher,Thief,Footpad,Saurian Skirmisher,Vampire Bat,Peasant,Dune Herbalist - {WORLD_CONQUEST_II_TRAIT_EXPERT} - [/trait_extra] - [trait_extra] - types=Elvish Archer,Elvish Shaman,Elvish Scout,Elvish Fighter - {TRAIT_DEXTROUS} - [/trait_extra] - [trait_extra] - types=Dwarvish Guardsman,Dwarvish Ulfserker,Dwarvish Thunderer,Dwarvish Scout - {TRAIT_HEALTHY} - [/trait_extra] - [trait_extra] - types=Naga Fighter,Wolf Rider,Orcish Grunt,Drake Glider,Dune Rover,Dune Rider - {TRAIT_STRONG} - [/trait_extra] - [trait_extra] - types=Spearman,Fencer,Cavalryman,Merman Fighter,Merman Hunter,Mermaid Initiate,Dune Burner,Thug - {TRAIT_RESILIENT} - [/trait_extra] - [trait_extra] - types=Heavy Infantryman,Bowman,Skeleton,Skeleton Archer,Saurian Augur,Troll Whelp,Orcish Archer - {TRAIT_FEARLESS} - [/trait_extra] - [hero_spawn_filter] - types=Naga Fighter,Merman Fighter,Merman Hunter,Mermaid Initiate, - [filter_location] - [filter_radius] - [not] - terrain="M*,X*" - [/not] - [/filter_radius] - terrain="W*,S*" - radius=2 - [/filter_location] - [/hero_spawn_filter] + [trait_extra] + types=Walking Corpse + {WORLD_CONQUEST_II_TRAIT_LEGENDARY_ZOMBIE} + [/trait_extra] + [trait_extra] + types=Goblin Spearman + {WORLD_CONQUEST_II_TRAIT_LEGENDARY_GOBLIN} + [/trait_extra] + [trait_extra] + types=Orcish Assassin,Young Ogre,Ruffian,Woodsman + {WORLD_CONQUEST_II_TRAIT_EPIC} + [/trait_extra] + [trait_extra] + types=Ghoul,Poacher,Thief,Footpad,Saurian Skirmisher,Vampire Bat,Peasant,Dune Herbalist + {WORLD_CONQUEST_II_TRAIT_EXPERT} + [/trait_extra] + [trait_extra] + types=Elvish Archer,Elvish Shaman,Elvish Scout,Elvish Fighter + {TRAIT_DEXTROUS} + [/trait_extra] + [trait_extra] + types=Dwarvish Guardsman,Dwarvish Ulfserker,Dwarvish Thunderer,Dwarvish Scout + {TRAIT_HEALTHY} + [/trait_extra] + [trait_extra] + types=Naga Fighter,Wolf Rider,Orcish Grunt,Drake Glider,Dune Rover,Dune Rider + {TRAIT_STRONG} + [/trait_extra] + [trait_extra] + types=Spearman,Fencer,Cavalryman,Merman Fighter,Merman Hunter,Mermaid Initiate,Dune Burner,Thug + {TRAIT_RESILIENT} + [/trait_extra] + [trait_extra] + types=Heavy Infantryman,Bowman,Skeleton,Skeleton Archer,Saurian Augur,Troll Whelp,Orcish Archer + {TRAIT_FEARLESS} + [/trait_extra] + [hero_spawn_filter] + types=Naga Fighter,Merman Fighter,Merman Hunter,Mermaid Initiate, + [filter_location] + [filter_radius] + [not] + terrain="M*,X*" + [/not] + [/filter_radius] + terrain="W*,S*" + radius=2 + [/filter_location] + [/hero_spawn_filter] #enddef #define WORLD_CONQUEST_II_TRAIT_HEROIC - [trait] - id=heroic - male_name= {STR_HEROIC} - female_name= {STR_HEROIC_FEMALE} - [effect] - apply_to=loyal - [/effect] - [effect] - apply_to=attack - range=melee - increase_damage=1 - [/effect] - [effect] - apply_to=attack - range=ranged - increase_damage=1 - [/effect] - [effect] - apply_to=hitpoints - increase_total=5 - [/effect] - [effect] - apply_to=hitpoints - times=per level - increase_total=1 - [/effect] - [effect] - apply_to=movement - increase=1 - [/effect] - [effect] - apply_to=max_experience - increase=-20% - [/effect] - [/trait] + [trait] + id=heroic + male_name= {STR_HEROIC} + female_name= {STR_HEROIC_FEMALE} + [effect] + apply_to=loyal + [/effect] + [effect] + apply_to=attack + range=melee + increase_damage=1 + [/effect] + [effect] + apply_to=attack + range=ranged + increase_damage=1 + [/effect] + [effect] + apply_to=hitpoints + increase_total=5 + [/effect] + [effect] + apply_to=hitpoints + times=per level + increase_total=1 + [/effect] + [effect] + apply_to=movement + increase=1 + [/effect] + [effect] + apply_to=max_experience + increase=-20% + [/effect] + [/trait] #enddef #define WORLD_CONQUEST_II_TRAIT_EXPERT - [trait] - id=expert - male_name= {STR_EXPERT} - female_name= {STR_EXPERT_FEMALE} - [effect] - apply_to=attack - range=melee - increase_attacks=1 - [/effect] - [effect] - apply_to=hitpoints - increase_total=3 - [/effect] - [/trait] + [trait] + id=expert + male_name= {STR_EXPERT} + female_name= {STR_EXPERT_FEMALE} + [effect] + apply_to=attack + range=melee + increase_attacks=1 + [/effect] + [effect] + apply_to=hitpoints + increase_total=3 + [/effect] + [/trait] #enddef #define WORLD_CONQUEST_II_TRAIT_EPIC - [trait] - id=epic - male_name= {STR_EPIC} - female_name= {STR_EPIC_FEMALE} - description= {STR_EPIC_DESCRIPTION} - [effect] - apply_to=hitpoints - increase_total=6 - [/effect] - [effect] - apply_to=attack - increase_attacks=1 - [/effect] - [effect] - apply_to=remove_advancement - amlas=amla_default - [/effect] - [effect] - apply_to=max_experience - lua_filter="wc2_utils.has_no_advances" + [trait] + id=epic + male_name= {STR_EPIC} + female_name= {STR_EPIC_FEMALE} + description= {STR_EPIC_DESCRIPTION} + [effect] + apply_to=hitpoints + increase_total=6 + [/effect] + [effect] + apply_to=attack + increase_attacks=1 + [/effect] + [effect] + apply_to=remove_advancement + amlas=amla_default + [/effect] + [effect] + apply_to=max_experience + lua_filter="wc2_utils.has_no_advances" - set=60 - [/effect] - [effect] - apply_to=new_advancement - lua_filter="wc2_utils.has_no_advances" + set=60 + [/effect] + [effect] + apply_to=new_advancement + lua_filter="wc2_utils.has_no_advances" - amlas=amla_default - [advancement] - strict_amla=yes - max_times=100 - id=amla_default - description= _ "Max HP bonus +6%" - image="icons/amla-default.png" - [effect] - apply_to=hitpoints - increase_total=6 - heal_full=yes - [/effect] - [effect] - apply_to=status - remove=poisoned - [/effect] - [effect] - apply_to=status - remove=slowed - [/effect] - [/advancement] - [/effect] - [/trait] + amlas=amla_default + [advancement] + strict_amla=yes + max_times=100 + id=amla_default + description= _ "Max HP bonus +6%" + image="icons/amla-default.png" + [effect] + apply_to=hitpoints + increase_total=6 + heal_full=yes + [/effect] + [effect] + apply_to=status + remove=poisoned + [/effect] + [effect] + apply_to=status + remove=slowed + [/effect] + [/advancement] + [/effect] + [/trait] #enddef #define WORLD_CONQUEST_II_TRAIT_LEGENDARY_ZOMBIE - [trait] - id=legendary_zombie - male_name= {STR_LEGENDARY} - female_name= {STR_LEGENDARY_FEMALE} - description= {STR_LEGENDARY_ZOMBIE_DESCRIPTION} - [effect] - apply_to=hitpoints - increase_total=5 - [/effect] - [effect] - apply_to=hitpoints - times=per level - increase_total=1 - [/effect] - [effect] - apply_to=attack - increase_attacks=1 - [/effect] - [effect] - apply_to=attack - type=pierce - [set_specials] - mode=append - {WEAPON_SPECIAL_PLAGUE} - [/set_specials] - [/effect] - [effect] - [filter] - type="Soulless" - [/filter] - apply_to=remove_advancement - amlas=amla_default - [/effect] - [effect] - [filter] - type="Soulless" - [/filter] - apply_to=new_advancement - types=Chocobone - [/effect] - [/trait] + [trait] + id=legendary_zombie + male_name= {STR_LEGENDARY} + female_name= {STR_LEGENDARY_FEMALE} + description= {STR_LEGENDARY_ZOMBIE_DESCRIPTION} + [effect] + apply_to=hitpoints + increase_total=5 + [/effect] + [effect] + apply_to=hitpoints + times=per level + increase_total=1 + [/effect] + [effect] + apply_to=attack + increase_attacks=1 + [/effect] + [effect] + apply_to=attack + type=pierce + [set_specials] + mode=append + {WEAPON_SPECIAL_PLAGUE} + [/set_specials] + [/effect] + [effect] + [filter] + type="Soulless" + [/filter] + apply_to=remove_advancement + amlas=amla_default + [/effect] + [effect] + [filter] + type="Soulless" + [/filter] + apply_to=new_advancement + types=Chocobone + [/effect] + [/trait] #enddef #define WORLD_CONQUEST_II_TRAIT_LEGENDARY_GOBLIN - [trait] - id=legendary_goblin - male_name= {STR_LEGENDARY} - female_name= {STR_LEGENDARY_FEMALE} - description= {STR_LEGENDARY_GOBLIN_DESCRIPTION} - [effect] - apply_to=hitpoints - increase_total=5 - [/effect] - [effect] - apply_to=hitpoints - times=per level - increase_total=1 - [/effect] - [effect] - apply_to=attack - increase_attacks=1 - [/effect] - [effect] - apply_to=attack - type=blade - [set_specials] - mode=append - {WEAPON_SPECIAL_POISON} - [/set_specials] - [/effect] - [effect] - apply_to=attack - type=fire,blade - increase_damage=1 - [/effect] - {WCT_LEADERSHIP} - [effect] - [filter] - level=1 - [/filter] - apply_to=remove_advancement - amlas=amla_default - [/effect] - [effect] - [filter] - level=1 - [/filter] - apply_to=new_advancement - types=Goblin Pillager - [/effect] - [/trait] + [trait] + id=legendary_goblin + male_name= {STR_LEGENDARY} + female_name= {STR_LEGENDARY_FEMALE} + description= {STR_LEGENDARY_GOBLIN_DESCRIPTION} + [effect] + apply_to=hitpoints + increase_total=5 + [/effect] + [effect] + apply_to=hitpoints + times=per level + increase_total=1 + [/effect] + [effect] + apply_to=attack + increase_attacks=1 + [/effect] + [effect] + apply_to=attack + type=blade + [set_specials] + mode=append + {WEAPON_SPECIAL_POISON} + [/set_specials] + [/effect] + [effect] + apply_to=attack + type=fire,blade + increase_damage=1 + [/effect] + {WCT_LEADERSHIP} + [effect] + [filter] + level=1 + [/filter] + apply_to=remove_advancement + amlas=amla_default + [/effect] + [effect] + [filter] + level=1 + [/filter] + apply_to=new_advancement + types=Goblin Pillager + [/effect] + [/trait] #enddef #textdomain wesnoth-multiplayer #define WORLD_CONQUEST_II_ERA_HEROES_TYPES - [Northerners] - name=_"Northerners" - types="Orcish Grunt,Troll Whelp,Orcish Archer,Orcish Assassin,Orcish Leader" - [/Northerners] - [Northerners_All] - types="Northerners,Naga Fighter" - [/Northerners_All] - [Rebels] - name=_"Rebels" - types="Mage,Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout,Wose" - [/Rebels] - [Rebels_All] - types="Rebels,Merman Hunter,Mermaid Initiate" - [/Rebels_All] - [Loyalists] - name=_"Loyalists" - types="Cavalryman,Horseman,Spearman,Fencer,Heavy Infantryman,Bowman,Sergeant,Mage" - [/Loyalists] - [Loyalists_All] - types="Loyalists,Merman Fighter" - [/Loyalists_All] - [Knalgans] - name=_"Knalgan Alliance" - types="Dwarvish Fighter,Thief,Dwarvish Thunderer,Poacher,Dwarvish Guardsman,Footpad,Dwarvish Ulfserker,Gryphon Rider" - [/Knalgans] - [Knalgans_All] - types="Knalgans,Dwarvish Scout" - [/Knalgans_All] - [Drakes] - name=_"Drakes" - types="Drake Fighter,Drake Clasher,Drake Burner,Saurian Augur,Drake Glider,Saurian Skirmisher" - [/Drakes] - [Undead] - name=_"Undead" - types="Skeleton,Skeleton Archer,Ghoul,Dark Adept,Ghost" - [/Undead] - [Undead_All] - types="Undead,Vampire Bat" - [/Undead_All] - [Bonus] - types="Goblin Spearman,Walking Corpse,Ruffian,Peasant,Woodsman" - [/Bonus] - [Khalifate] - #TODO: this contained 'Dune Piercer' in 1.14 - types="Dune Rover,Dune Rider,Dune Burner,Dune Herbalist,Dune Soldier" - [/Khalifate] - [Empire_commanders] - types="Elvish Fighter,Dwarvish Fighter,Orcish Archer,Spearman,Drake Burner" - [/Empire_commanders] - [Empire_heroes] - types="Mage,Bowman,Saurian Skirmisher,Drake Clasher,Elvish Archer,Wose,Gryphon Rider,Poacher,Orcish Leader,Wolf Rider,Ghost,Dark Adept" - [/Empire_heroes] - [Empire_deserters] - types="Heavy Infantryman,Sergeant,Drake Glider,Saurian Augur,Elvish Shaman,Elvish Scout,Thug,Dwarvish Scout,Troll Whelp,Orcish Assassin,Ghoul,Skeleton Archer" - [/Empire_deserters] - [Bonus_All] - types="Northerners_All,Rebels_All,Loyalists_All,Knalgans_All,Drakes,Undead_All,Young Ogre,Thug,Bonus,Khalifate" - [/Bonus_All] + [Northerners] + name=_"Northerners" + types="Orcish Grunt,Troll Whelp,Orcish Archer,Orcish Assassin,Orcish Leader" + [/Northerners] + [Northerners_All] + types="Northerners,Naga Fighter" + [/Northerners_All] + [Rebels] + name=_"Rebels" + types="Mage,Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout,Wose" + [/Rebels] + [Rebels_All] + types="Rebels,Merman Hunter,Mermaid Initiate" + [/Rebels_All] + [Loyalists] + name=_"Loyalists" + types="Cavalryman,Horseman,Spearman,Fencer,Heavy Infantryman,Bowman,Sergeant,Mage" + [/Loyalists] + [Loyalists_All] + types="Loyalists,Merman Fighter" + [/Loyalists_All] + [Knalgans] + name=_"Knalgan Alliance" + types="Dwarvish Fighter,Thief,Dwarvish Thunderer,Poacher,Dwarvish Guardsman,Footpad,Dwarvish Ulfserker,Gryphon Rider" + [/Knalgans] + [Knalgans_All] + types="Knalgans,Dwarvish Scout" + [/Knalgans_All] + [Drakes] + name=_"Drakes" + types="Drake Fighter,Drake Clasher,Drake Burner,Saurian Augur,Drake Glider,Saurian Skirmisher" + [/Drakes] + [Undead] + name=_"Undead" + types="Skeleton,Skeleton Archer,Ghoul,Dark Adept,Ghost" + [/Undead] + [Undead_All] + types="Undead,Vampire Bat" + [/Undead_All] + [Bonus] + types="Goblin Spearman,Walking Corpse,Ruffian,Peasant,Woodsman" + [/Bonus] + [Khalifate] + #TODO: this contained 'Dune Piercer' in 1.14 + types="Dune Rover,Dune Rider,Dune Burner,Dune Herbalist,Dune Soldier" + [/Khalifate] + [Empire_commanders] + types="Elvish Fighter,Dwarvish Fighter,Orcish Archer,Spearman,Drake Burner" + [/Empire_commanders] + [Empire_heroes] + types="Mage,Bowman,Saurian Skirmisher,Drake Clasher,Elvish Archer,Wose,Gryphon Rider,Poacher,Orcish Leader,Wolf Rider,Ghost,Dark Adept" + [/Empire_heroes] + [Empire_deserters] + types="Heavy Infantryman,Sergeant,Drake Glider,Saurian Augur,Elvish Shaman,Elvish Scout,Thug,Dwarvish Scout,Troll Whelp,Orcish Assassin,Ghoul,Skeleton Archer" + [/Empire_deserters] + [Bonus_All] + types="Northerners_All,Rebels_All,Loyalists_All,Knalgans_All,Drakes,Undead_All,Young Ogre,Thug,Bonus,Khalifate" + [/Bonus_All] #enddef diff --git a/data/campaigns/World_Conquest/era/era.cfg b/data/campaigns/World_Conquest/era/era.cfg index 2dc41b75b37e..905ff8b75f71 100644 --- a/data/campaigns/World_Conquest/era/era.cfg +++ b/data/campaigns/World_Conquest/era/era.cfg @@ -3,58 +3,57 @@ {./campaign} #define WORLD_CONQUEST_II_ERA - [era] - id= "{STR_ERA_ID_WC_II}{ID_SUFFIX}" - name= {STR_ERA_NAME_WC_II}{ID_SUFFIX} - description= {STR_ERA_DESCRIPTION_WC_II} - require_era=no - # addon_min_version="8.2" + [era] + id= "{STR_ERA_ID_WC_II}{ID_SUFFIX}" + name= {STR_ERA_NAME_WC_II}{ID_SUFFIX} + description= {STR_ERA_DESCRIPTION_WC_II} + require_era=no + # addon_min_version="8.2" - {MULTIPLAYER_SIDE_RANDOM_WC_II} - {MULTIPLAYER_SIDE_THE_TRUST} - {MULTIPLAYER_SIDE_THE_GUILD} - {MULTIPLAYER_SIDE_THE_HAND} - {MULTIPLAYER_SIDE_THE_MILITIA} - {MULTIPLAYER_SIDE_THE_HORDE} - {MULTIPLAYER_SIDE_THE_CULT} - {MULTIPLAYER_SIDE_THE_GANG} - {MULTIPLAYER_SIDE_THE_SCOURGE} - {MULTIPLAYER_SIDE_THE_ALLIANCE} - #TODO: disabled since it contains 'Dune Piercer' - # {MULTIPLAYER_SIDE_THE_EMPIRE} - [load_resource] - id = "wc2_era_res{ID_SUFFIX}" - [/load_resource] - [/era] + {MULTIPLAYER_SIDE_RANDOM_WC_II} + {MULTIPLAYER_SIDE_THE_TRUST} + {MULTIPLAYER_SIDE_THE_GUILD} + {MULTIPLAYER_SIDE_THE_HAND} + {MULTIPLAYER_SIDE_THE_MILITIA} + {MULTIPLAYER_SIDE_THE_HORDE} + {MULTIPLAYER_SIDE_THE_CULT} + {MULTIPLAYER_SIDE_THE_GANG} + {MULTIPLAYER_SIDE_THE_SCOURGE} + {MULTIPLAYER_SIDE_THE_ALLIANCE} + #TODO: disabled since it contains 'Dune Piercer' + # {MULTIPLAYER_SIDE_THE_EMPIRE} + [load_resource] + id = "wc2_era_res{ID_SUFFIX}" + [/load_resource] + [/era] #enddef - #define WORLD_CONQUEST_II_ERA_RESOURCE - ## this is needed in both the era and the campaign, in particular in the campaign this data is used to generate the deserters and the ai sides. - [resource] - id = "wc2_era_res{ID_SUFFIX}" - [lua] - code = " wesnoth.dofile('{WC2_DIR}/lua/era_main.lua') " - [/lua] - [load_resource] - id = "wc2_mainline_heroes{ID_SUFFIX}" - [/load_resource] - [/resource] + ## this is needed in both the era and the campaign, in particular in the campaign this data is used to generate the deserters and the ai sides. + [resource] + id = "wc2_era_res{ID_SUFFIX}" + [lua] + code = " wesnoth.dofile('{WC2_DIR}/lua/era_main.lua') " + [/lua] + [load_resource] + id = "wc2_mainline_heroes{ID_SUFFIX}" + [/load_resource] + [/resource] - [resource] - id = "wc2_mainline_heroes{ID_SUFFIX}" - [world_conquest_data] - [hero_types] - {WORLD_CONQUEST_II_ERA_HEROES_TYPES} - [/hero_types] - ## array of [trait_extra] - {WORLD_CONQUEST_II_ERA_HEROES_TRAITS} - [/world_conquest_data] - [/resource] + [resource] + id = "wc2_mainline_heroes{ID_SUFFIX}" + [world_conquest_data] + [hero_types] + {WORLD_CONQUEST_II_ERA_HEROES_TYPES} + [/hero_types] + ## array of [trait_extra] + {WORLD_CONQUEST_II_ERA_HEROES_TRAITS} + [/world_conquest_data] + [/resource] #enddef #define WC_II_PAIR UNIT1 UNIT2 - [pair] - types = {UNIT1} + "," + {UNIT2} - [/pair] + [pair] + types = {UNIT1} + "," + {UNIT2} + [/pair] #enddef diff --git a/data/campaigns/World_Conquest/era/factions/Random.cfg b/data/campaigns/World_Conquest/era/factions/Random.cfg index d9a2183084c2..d7c480b66fe6 100644 --- a/data/campaigns/World_Conquest/era/factions/Random.cfg +++ b/data/campaigns/World_Conquest/era/factions/Random.cfg @@ -1,12 +1,12 @@ #textdomain wesnoth-multiplayer #define MULTIPLAYER_SIDE_RANDOM_WC_II - [multiplayer_side] - id=Random - name= _ "Random" - image= units/random-dice.png - random_faction=yes - ## The empire is not complteley blaanced to exclude it for now from random. - except=The Empire - [/multiplayer_side] + [multiplayer_side] + id=Random + name= _ "Random" + image= units/random-dice.png + random_faction=yes + ## The empire is not complteley blaanced to exclude it for now from random. + except=The Empire + [/multiplayer_side] #enddef diff --git a/data/campaigns/World_Conquest/era/factions/The_Alliance.cfg b/data/campaigns/World_Conquest/era/factions/The_Alliance.cfg index 022fc84302db..42e4809f000b 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Alliance.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Alliance.cfg @@ -1,29 +1,29 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_ALLIANCE - [multiplayer_side] - id=The Alliance - name={STR_ALLIANCE} - recruit=Spearman, Dwarvish Fighter,Bowman,Poacher,Horseman, Dwarvish Thunderer,Fencer,Thief,Mage,Dwarvish Ulfserker,Heavy Infantryman,Dwarvish Guardsman,Cavalryman,Footpad,Merman Fighter,Gryphon Rider - image={IMG_ALLIANCE} - type=random - leader= Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage - random_leader= {RANDOM_LEADERS_ALLIANCE} - [world_conquest_data] - commanders=Loyalists,Knalgans - heroes=Rebels_All,Drakes - deserters=Undead,Northerners,Young Ogre - deserters_names={STR_YOUNG_OGRE}+", "+{STR_THE_UNDEAD}+{STR_AND}+{STR_NORTHERENS} - {WC_II_PAIR "Spearman" "Dwarvish Fighter"} - {WC_II_PAIR "Bowman" "Poacher"} - {WC_II_PAIR "Horseman" "Dwarvish Thunderer"} - {WC_II_PAIR "Fencer" "Thief"} - {WC_II_PAIR "Mage" "Dwarvish Ulfserker"} - {WC_II_PAIR "Heavy Infantryman" "Dwarvish Guardsman"} - {WC_II_PAIR "Cavalryman" "Footpad"} - {WC_II_PAIR "Merman Fighter" "Gryphon Rider"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Alliance + name={STR_ALLIANCE} + recruit=Spearman, Dwarvish Fighter,Bowman,Poacher,Horseman, Dwarvish Thunderer,Fencer,Thief,Mage,Dwarvish Ulfserker,Heavy Infantryman,Dwarvish Guardsman,Cavalryman,Footpad,Merman Fighter,Gryphon Rider + image={IMG_ALLIANCE} + type=random + leader= Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage + random_leader= {RANDOM_LEADERS_ALLIANCE} + [world_conquest_data] + commanders=Loyalists,Knalgans + heroes=Rebels_All,Drakes + deserters=Undead,Northerners,Young Ogre + deserters_names={STR_YOUNG_OGRE}+", "+{STR_THE_UNDEAD}+{STR_AND}+{STR_NORTHERENS} + {WC_II_PAIR "Spearman" "Dwarvish Fighter"} + {WC_II_PAIR "Bowman" "Poacher"} + {WC_II_PAIR "Horseman" "Dwarvish Thunderer"} + {WC_II_PAIR "Fencer" "Thief"} + {WC_II_PAIR "Mage" "Dwarvish Ulfserker"} + {WC_II_PAIR "Heavy Infantryman" "Dwarvish Guardsman"} + {WC_II_PAIR "Cavalryman" "Footpad"} + {WC_II_PAIR "Merman Fighter" "Gryphon Rider"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_ALLIANCE diff --git a/data/campaigns/World_Conquest/era/factions/The_Cult.cfg b/data/campaigns/World_Conquest/era/factions/The_Cult.cfg index 91ec6df4c745..e90b77a5bc54 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Cult.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Cult.cfg @@ -1,35 +1,35 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_CULT - [multiplayer_side] - id=The Cult - name={STR_CULT} - recruit=Spearman,Spearman,Skeleton,Skeleton,Bowman,Bowman,Skeleton Archer,Skeleton Archer,Mage,Mage,Dark Adept,Dark Adept,Horseman,Horseman,Ghoul,Ghoul,Fencer,Fencer,Dune Herbalist,Walking Corpse,Heavy Infantryman,Ghost,Cavalryman,Cavalryman,Vampire Bat,Vampire Bat,Merman Fighter,Merman Fighter - image={IMG_CULT} - type=random - leader= Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage,Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage - random_leader= {RANDOM_LEADERS_CULT} - [world_conquest_data] - commanders=Loyalists,Undead,Dune Herbalist - heroes=Rebels_All,Knalgans_All - deserters=Drakes,Northerners,Young Ogre - deserters_names={STR_YOUNG_OGRE}+", "+{STR_DRAKES}+{STR_AND}+{STR_NORTHERENS} - {WC_II_PAIR "Spearman" "Spearman"} - {WC_II_PAIR "Skeleton" "Skeleton"} - {WC_II_PAIR "Bowman" "Bowman"} - {WC_II_PAIR "Skeleton Archer" "Skeleton Archer"} - {WC_II_PAIR "Mage" "Mage"} - {WC_II_PAIR "Dark Adept" "Dark Adept"} - {WC_II_PAIR "Horseman" "Horseman"} - {WC_II_PAIR "Ghoul" "Ghoul"} - {WC_II_PAIR "Fencer" "Fencer"} - {WC_II_PAIR "Dune Herbalist" "Walking Corpse"} - {WC_II_PAIR "Heavy Infantryman" "Ghost"} - {WC_II_PAIR "Cavalryman" "Cavalryman"} - {WC_II_PAIR "Vampire Bat" "Vampire Bat"} - {WC_II_PAIR "Merman Fighter" "Merman Fighter"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Cult + name={STR_CULT} + recruit=Spearman,Spearman,Skeleton,Skeleton,Bowman,Bowman,Skeleton Archer,Skeleton Archer,Mage,Mage,Dark Adept,Dark Adept,Horseman,Horseman,Ghoul,Ghoul,Fencer,Fencer,Dune Herbalist,Walking Corpse,Heavy Infantryman,Ghost,Cavalryman,Cavalryman,Vampire Bat,Vampire Bat,Merman Fighter,Merman Fighter + image={IMG_CULT} + type=random + leader= Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage,Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage + random_leader= {RANDOM_LEADERS_CULT} + [world_conquest_data] + commanders=Loyalists,Undead,Dune Herbalist + heroes=Rebels_All,Knalgans_All + deserters=Drakes,Northerners,Young Ogre + deserters_names={STR_YOUNG_OGRE}+", "+{STR_DRAKES}+{STR_AND}+{STR_NORTHERENS} + {WC_II_PAIR "Spearman" "Spearman"} + {WC_II_PAIR "Skeleton" "Skeleton"} + {WC_II_PAIR "Bowman" "Bowman"} + {WC_II_PAIR "Skeleton Archer" "Skeleton Archer"} + {WC_II_PAIR "Mage" "Mage"} + {WC_II_PAIR "Dark Adept" "Dark Adept"} + {WC_II_PAIR "Horseman" "Horseman"} + {WC_II_PAIR "Ghoul" "Ghoul"} + {WC_II_PAIR "Fencer" "Fencer"} + {WC_II_PAIR "Dune Herbalist" "Walking Corpse"} + {WC_II_PAIR "Heavy Infantryman" "Ghost"} + {WC_II_PAIR "Cavalryman" "Cavalryman"} + {WC_II_PAIR "Vampire Bat" "Vampire Bat"} + {WC_II_PAIR "Merman Fighter" "Merman Fighter"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_CULT diff --git a/data/campaigns/World_Conquest/era/factions/The_Empire.cfg b/data/campaigns/World_Conquest/era/factions/The_Empire.cfg index d0ada5de0c65..3f5bd4419861 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Empire.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Empire.cfg @@ -1,27 +1,27 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_EMPIRE - [multiplayer_side] - id=The Empire - name={STR_EMPIRE} - recruit=Dune Rover,Elvish Fighter,Dune Burner,Drake Burner,Dune Soldier,Spearman,Dune Piercer,Dwarvish Fighter,Dune Herbalist,Dune Herbalist,Dune Rider,Orcish Archer,Falcon,Vampire Bat - image={IMG_EMPIRE} - type=random - leader= Dune Explorer,Dune Swordsman,Dune Spearguard,Dune Skirmisher,Dune Apothecary,Dune Scorcher - random_leader= {RANDOM_LEADERS_EMPIRE} - [world_conquest_data] - commanders=Khalifate,Empire_commanders - heroes=Empire_heroes - deserters=Empire_deserters,Young Ogre - {WC_II_PAIR "Dune Rover" "Elvish Fighter"} - {WC_II_PAIR "Dune Burner" "Drake Burner"} - {WC_II_PAIR "Dune Soldier" "Spearman"} - {WC_II_PAIR "Dune Piercer" "Dwarvish Fighter"} - {WC_II_PAIR "Dune Herbalist" "Dune Herbalist"} - {WC_II_PAIR "Dune Rider" "Orcish Archer"} - {WC_II_PAIR "Falcon" "Vampire Bat"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Empire + name={STR_EMPIRE} + recruit=Dune Rover,Elvish Fighter,Dune Burner,Drake Burner,Dune Soldier,Spearman,Dune Piercer,Dwarvish Fighter,Dune Herbalist,Dune Herbalist,Dune Rider,Orcish Archer,Falcon,Vampire Bat + image={IMG_EMPIRE} + type=random + leader= Dune Explorer,Dune Swordsman,Dune Spearguard,Dune Skirmisher,Dune Apothecary,Dune Scorcher + random_leader= {RANDOM_LEADERS_EMPIRE} + [world_conquest_data] + commanders=Khalifate,Empire_commanders + heroes=Empire_heroes + deserters=Empire_deserters,Young Ogre + {WC_II_PAIR "Dune Rover" "Elvish Fighter"} + {WC_II_PAIR "Dune Burner" "Drake Burner"} + {WC_II_PAIR "Dune Soldier" "Spearman"} + {WC_II_PAIR "Dune Piercer" "Dwarvish Fighter"} + {WC_II_PAIR "Dune Herbalist" "Dune Herbalist"} + {WC_II_PAIR "Dune Rider" "Orcish Archer"} + {WC_II_PAIR "Falcon" "Vampire Bat"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_EMPIRE diff --git a/data/campaigns/World_Conquest/era/factions/The_Gang.cfg b/data/campaigns/World_Conquest/era/factions/The_Gang.cfg index b1903192142c..4e00e79be152 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Gang.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Gang.cfg @@ -1,31 +1,31 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_GANG - [multiplayer_side] - id=The Gang - name={STR_GANG} - recruit=Troll Whelp,Elvish Fighter,Orcish Grunt,Orcish Grunt,Elvish Archer,Elvish Archer,Orcish Archer,Orcish Archer,Elvish Shaman,Elvish Shaman,Orcish Assassin,Orcish Assassin,Wose,Wose,Goblin Spearman,Mage,Wolf Rider,Elvish Scout,Naga Fighter,Merman Hunter - image={IMG_GANG} - type=random - leader= Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Red Mage,Elder Wose,Orcish Ruler,Orcish Warrior,Troll Hero,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer - random_leader= {RANDOM_LEADERS_GANG} - [world_conquest_data] - commanders=Rebels,Northerners - heroes=Drakes,Undead_All - deserters=Loyalists,Knalgans,Dune Herbalist - deserters_names={STR_HAKIM}+", "+{STR_LOYALISTS}+{STR_AND}+{STR_KNALGAN} - {WC_II_PAIR "Troll Whelp" "Elvish Fighter"} - {WC_II_PAIR "Orcish Grunt" "Orcish Grunt"} - {WC_II_PAIR "Elvish Archer" "Elvish Archer"} - {WC_II_PAIR "Orcish Archer" "Orcish Archer"} - {WC_II_PAIR "Elvish Shaman" "Elvish Shaman"} - {WC_II_PAIR "Orcish Assassin" "Orcish Assassin"} - {WC_II_PAIR "Wose" "Wose"} - {WC_II_PAIR "Goblin Spearman" "Mage"} - {WC_II_PAIR "Wolf Rider" "Elvish Scout"} - {WC_II_PAIR "Naga Fighter" "Merman Hunter"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Gang + name={STR_GANG} + recruit=Troll Whelp,Elvish Fighter,Orcish Grunt,Orcish Grunt,Elvish Archer,Elvish Archer,Orcish Archer,Orcish Archer,Elvish Shaman,Elvish Shaman,Orcish Assassin,Orcish Assassin,Wose,Wose,Goblin Spearman,Mage,Wolf Rider,Elvish Scout,Naga Fighter,Merman Hunter + image={IMG_GANG} + type=random + leader= Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Red Mage,Elder Wose,Orcish Ruler,Orcish Warrior,Troll Hero,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer + random_leader= {RANDOM_LEADERS_GANG} + [world_conquest_data] + commanders=Rebels,Northerners + heroes=Drakes,Undead_All + deserters=Loyalists,Knalgans,Dune Herbalist + deserters_names={STR_HAKIM}+", "+{STR_LOYALISTS}+{STR_AND}+{STR_KNALGAN} + {WC_II_PAIR "Troll Whelp" "Elvish Fighter"} + {WC_II_PAIR "Orcish Grunt" "Orcish Grunt"} + {WC_II_PAIR "Elvish Archer" "Elvish Archer"} + {WC_II_PAIR "Orcish Archer" "Orcish Archer"} + {WC_II_PAIR "Elvish Shaman" "Elvish Shaman"} + {WC_II_PAIR "Orcish Assassin" "Orcish Assassin"} + {WC_II_PAIR "Wose" "Wose"} + {WC_II_PAIR "Goblin Spearman" "Mage"} + {WC_II_PAIR "Wolf Rider" "Elvish Scout"} + {WC_II_PAIR "Naga Fighter" "Merman Hunter"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_GANG diff --git a/data/campaigns/World_Conquest/era/factions/The_Guild.cfg b/data/campaigns/World_Conquest/era/factions/The_Guild.cfg index 23c972f0d183..79ff4939df8a 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Guild.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Guild.cfg @@ -1,31 +1,31 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_GUILD - [multiplayer_side] - id=The Guild - name={STR_GUILD} - recruit=Elvish Fighter,Elvish Fighter,Dark Adept,Dark Adept,Elvish Archer,Skeleton Archer,Mage,Walking Corpse,Elvish Shaman,Ghoul,Wose,Skeleton,Elvish Scout,Vampire Bat,Ghost,Ghost,Merman Hunter,Merman Hunter,Mermaid Initiate,Mermaid Initiate - image={IMG_GUILD} - type=random - leader=Elvish Lord,Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,White Mage,Red Mage,Elder Wose,Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage - random_leader= {RANDOM_LEADERS_GUILD} - [world_conquest_data] - commanders=Rebels,Undead - heroes=Knalgans_All,Northerners_All,Young Ogre - deserters=Loyalists,Drakes,Dune Soldier - deserters_names={STR_ARIF}+", "+{STR_LOYALISTS}+{STR_AND}+{STR_DRAKES} - {WC_II_PAIR "Elvish Fighter" "Elvish Fighter"} - {WC_II_PAIR "Dark Adept" "Dark Adept"} - {WC_II_PAIR "Elvish Archer" "Skeleton Archer"} - {WC_II_PAIR "Mage" "Walking Corpse"} - {WC_II_PAIR "Elvish Shaman" "Ghoul"} - {WC_II_PAIR "Wose" "Skeleton"} - {WC_II_PAIR "Elvish Scout" "Vampire Bat"} - {WC_II_PAIR "Ghost" "Ghost"} - {WC_II_PAIR "Merman Hunter" "Merman Hunter"} - {WC_II_PAIR "Mermaid Initiate" "Mermaid Initiate"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Guild + name={STR_GUILD} + recruit=Elvish Fighter,Elvish Fighter,Dark Adept,Dark Adept,Elvish Archer,Skeleton Archer,Mage,Walking Corpse,Elvish Shaman,Ghoul,Wose,Skeleton,Elvish Scout,Vampire Bat,Ghost,Ghost,Merman Hunter,Merman Hunter,Mermaid Initiate,Mermaid Initiate + image={IMG_GUILD} + type=random + leader=Elvish Lord,Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,White Mage,Red Mage,Elder Wose,Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage + random_leader= {RANDOM_LEADERS_GUILD} + [world_conquest_data] + commanders=Rebels,Undead + heroes=Knalgans_All,Northerners_All,Young Ogre + deserters=Loyalists,Drakes,Dune Soldier + deserters_names={STR_ARIF}+", "+{STR_LOYALISTS}+{STR_AND}+{STR_DRAKES} + {WC_II_PAIR "Elvish Fighter" "Elvish Fighter"} + {WC_II_PAIR "Dark Adept" "Dark Adept"} + {WC_II_PAIR "Elvish Archer" "Skeleton Archer"} + {WC_II_PAIR "Mage" "Walking Corpse"} + {WC_II_PAIR "Elvish Shaman" "Ghoul"} + {WC_II_PAIR "Wose" "Skeleton"} + {WC_II_PAIR "Elvish Scout" "Vampire Bat"} + {WC_II_PAIR "Ghost" "Ghost"} + {WC_II_PAIR "Merman Hunter" "Merman Hunter"} + {WC_II_PAIR "Mermaid Initiate" "Mermaid Initiate"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_GUILD diff --git a/data/campaigns/World_Conquest/era/factions/The_Hand.cfg b/data/campaigns/World_Conquest/era/factions/The_Hand.cfg index ace0a2997789..8705e875787a 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Hand.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Hand.cfg @@ -1,32 +1,32 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_HAND - [multiplayer_side] - id=The Hand - name={STR_HAND} - recruit=Spearman,Orcish Grunt,Bowman,Orcish Assassin,Mage,Orcish Archer,Troll Whelp,Troll Whelp,Heavy Infantryman,Heavy Infantryman,Young Ogre,Young Ogre,Cavalryman,Wolf Rider,Horseman,Orcish Leader,Fencer,Goblin Spearman,Merman Fighter,Naga Fighter - image={IMG_HAND} - type=random - leader=Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage,Orcish Warrior,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer,Orcish Ruler,Troll Hero - random_leader= {RANDOM_LEADERS_HAND} - [world_conquest_data] - commanders=Loyalists,Northerners,Young Ogre - heroes=Undead_All,Rebels_All - # TODO: this contained 'Dune Piercer' in 1.14 - deserters=Knalgans,Drakes - deserters_names={STR_KHAIYAL}+", "+{STR_KNALGAN}+{STR_AND}+{STR_DRAKES} - {WC_II_PAIR "Spearman" "Orcish Grunt"} - {WC_II_PAIR "Bowman" "Orcish Assassin"} - {WC_II_PAIR "Mage" "Orcish Archer"} - {WC_II_PAIR "Troll Whelp" "Troll Whelp"} - {WC_II_PAIR "Heavy Infantryman" "Heavy Infantryman"} - {WC_II_PAIR "Young Ogre" "Young Ogre"} - {WC_II_PAIR "Cavalryman" "Wolf Rider"} - {WC_II_PAIR "Horseman" "Orcish Leader"} - {WC_II_PAIR "Fencer" "Goblin Spearman"} - {WC_II_PAIR "Merman Fighter" "Naga Fighter"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Hand + name={STR_HAND} + recruit=Spearman,Orcish Grunt,Bowman,Orcish Assassin,Mage,Orcish Archer,Troll Whelp,Troll Whelp,Heavy Infantryman,Heavy Infantryman,Young Ogre,Young Ogre,Cavalryman,Wolf Rider,Horseman,Orcish Leader,Fencer,Goblin Spearman,Merman Fighter,Naga Fighter + image={IMG_HAND} + type=random + leader=Lieutenant,Swordsman,Pikeman,Javelineer,Shock Trooper,Longbowman,White Mage,Red Mage,Orcish Warrior,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer,Orcish Ruler,Troll Hero + random_leader= {RANDOM_LEADERS_HAND} + [world_conquest_data] + commanders=Loyalists,Northerners,Young Ogre + heroes=Undead_All,Rebels_All + # TODO: this contained 'Dune Piercer' in 1.14 + deserters=Knalgans,Drakes + deserters_names={STR_KHAIYAL}+", "+{STR_KNALGAN}+{STR_AND}+{STR_DRAKES} + {WC_II_PAIR "Spearman" "Orcish Grunt"} + {WC_II_PAIR "Bowman" "Orcish Assassin"} + {WC_II_PAIR "Mage" "Orcish Archer"} + {WC_II_PAIR "Troll Whelp" "Troll Whelp"} + {WC_II_PAIR "Heavy Infantryman" "Heavy Infantryman"} + {WC_II_PAIR "Young Ogre" "Young Ogre"} + {WC_II_PAIR "Cavalryman" "Wolf Rider"} + {WC_II_PAIR "Horseman" "Orcish Leader"} + {WC_II_PAIR "Fencer" "Goblin Spearman"} + {WC_II_PAIR "Merman Fighter" "Naga Fighter"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_HAND diff --git a/data/campaigns/World_Conquest/era/factions/The_Horde.cfg b/data/campaigns/World_Conquest/era/factions/The_Horde.cfg index 125d5247efe8..3d594d1827be 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Horde.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Horde.cfg @@ -1,29 +1,29 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_HORDE - [multiplayer_side] - id=The Horde - name={STR_HORDE} - recruit=Orcish Grunt,Drake Fighter,Orcish Archer,Drake Burner,Orcish Assassin,Saurian Augur,Troll Whelp,Drake Clasher,Wolf Rider,Drake Glider,Goblin Spearman,Goblin Spearman,Saurian Skirmisher,Saurian Skirmisher,Naga Fighter,Naga Fighter - image={IMG_HORDE} - type=random - leader= Orcish Ruler,Orcish Warrior,Troll Hero,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer - random_leader= {RANDOM_LEADERS_HORDE} - [world_conquest_data] - commanders=Drakes,Northerners - heroes=Undead_All,Loyalists_All - deserters=Knalgans,Rebels,Dune Rider - deserters_names={STR_RAMI}+", "+{STR_KNALGAN}+{STR_AND}+{STR_REBELS} - {WC_II_PAIR "Orcish Grunt" "Drake Fighter"} - {WC_II_PAIR "Orcish Archer" "Drake Burner"} - {WC_II_PAIR "Orcish Assassin" "Saurian Augur"} - {WC_II_PAIR "Troll Whelp" "Drake Clasher"} - {WC_II_PAIR "Wolf Rider" "Drake Glider"} - {WC_II_PAIR "Goblin Spearman" "Goblin Spearman"} - {WC_II_PAIR "Saurian Skirmisher" "Saurian Skirmisher"} - {WC_II_PAIR "Naga Fighter" "Naga Fighter"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Horde + name={STR_HORDE} + recruit=Orcish Grunt,Drake Fighter,Orcish Archer,Drake Burner,Orcish Assassin,Saurian Augur,Troll Whelp,Drake Clasher,Wolf Rider,Drake Glider,Goblin Spearman,Goblin Spearman,Saurian Skirmisher,Saurian Skirmisher,Naga Fighter,Naga Fighter + image={IMG_HORDE} + type=random + leader= Orcish Ruler,Orcish Warrior,Troll Hero,Troll,Troll Rocklobber,Orcish Crossbowman,Orcish Slayer,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer + random_leader= {RANDOM_LEADERS_HORDE} + [world_conquest_data] + commanders=Drakes,Northerners + heroes=Undead_All,Loyalists_All + deserters=Knalgans,Rebels,Dune Rider + deserters_names={STR_RAMI}+", "+{STR_KNALGAN}+{STR_AND}+{STR_REBELS} + {WC_II_PAIR "Orcish Grunt" "Drake Fighter"} + {WC_II_PAIR "Orcish Archer" "Drake Burner"} + {WC_II_PAIR "Orcish Assassin" "Saurian Augur"} + {WC_II_PAIR "Troll Whelp" "Drake Clasher"} + {WC_II_PAIR "Wolf Rider" "Drake Glider"} + {WC_II_PAIR "Goblin Spearman" "Goblin Spearman"} + {WC_II_PAIR "Saurian Skirmisher" "Saurian Skirmisher"} + {WC_II_PAIR "Naga Fighter" "Naga Fighter"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_HORDE diff --git a/data/campaigns/World_Conquest/era/factions/The_Militia.cfg b/data/campaigns/World_Conquest/era/factions/The_Militia.cfg index fdc5ba4f41b4..3896b4aa2942 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Militia.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Militia.cfg @@ -1,29 +1,29 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_MILITIA - [multiplayer_side] - id=The Militia - name={STR_MILITIA} - recruit=Dwarvish Fighter,Elvish Scout,Thug,Elvish Fighter,Dwarvish Thunderer,Elvish Archer,Poacher,Elvish Shaman,Dwarvish Guardsman,Wose,Footpad,Mage,Dwarvish Ulfserker,Thief,Gryphon Rider,Merman Hunter - image={IMG_MILITIA} - type=random - leader= Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Elder Wose,Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Bandit - random_leader= {RANDOM_LEADERS_MILITIA} - [world_conquest_data] - commanders=Rebels,Knalgans,Thug - heroes=Northerners_All,Young Ogre,Drakes - deserters=Undead,Loyalists,Dune Rover - deserters_names={STR_JUNDI}+", "+{STR_THE_UNDEAD}+{STR_AND}+{STR_LOYALISTS} - {WC_II_PAIR "Dwarvish Fighter" "Elvish Scout"} - {WC_II_PAIR "Thug" "Elvish Fighter"} - {WC_II_PAIR "Dwarvish Thunderer" "Elvish Archer"} - {WC_II_PAIR "Poacher" "Elvish Shaman"} - {WC_II_PAIR "Dwarvish Guardsman" "Wose"} - {WC_II_PAIR "Footpad" "Mage"} - {WC_II_PAIR "Dwarvish Ulfserker" "Thief"} - {WC_II_PAIR "Gryphon Rider" "Merman Hunter"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Militia + name={STR_MILITIA} + recruit=Dwarvish Fighter,Elvish Scout,Thug,Elvish Fighter,Dwarvish Thunderer,Elvish Archer,Poacher,Elvish Shaman,Dwarvish Guardsman,Wose,Footpad,Mage,Dwarvish Ulfserker,Thief,Gryphon Rider,Merman Hunter + image={IMG_MILITIA} + type=random + leader= Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Elder Wose,Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Bandit + random_leader= {RANDOM_LEADERS_MILITIA} + [world_conquest_data] + commanders=Rebels,Knalgans,Thug + heroes=Northerners_All,Young Ogre,Drakes + deserters=Undead,Loyalists,Dune Rover + deserters_names={STR_JUNDI}+", "+{STR_THE_UNDEAD}+{STR_AND}+{STR_LOYALISTS} + {WC_II_PAIR "Dwarvish Fighter" "Elvish Scout"} + {WC_II_PAIR "Thug" "Elvish Fighter"} + {WC_II_PAIR "Dwarvish Thunderer" "Elvish Archer"} + {WC_II_PAIR "Poacher" "Elvish Shaman"} + {WC_II_PAIR "Dwarvish Guardsman" "Wose"} + {WC_II_PAIR "Footpad" "Mage"} + {WC_II_PAIR "Dwarvish Ulfserker" "Thief"} + {WC_II_PAIR "Gryphon Rider" "Merman Hunter"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_MILITIA diff --git a/data/campaigns/World_Conquest/era/factions/The_Scourge.cfg b/data/campaigns/World_Conquest/era/factions/The_Scourge.cfg index 7b91f97cf3aa..9ac00926d149 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Scourge.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Scourge.cfg @@ -1,28 +1,28 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_SCOURGE - [multiplayer_side] - id=The Scourge - name={STR_SCOURGE} - recruit=Skeleton,Drake Fighter,Skeleton Archer,Drake Burner,Dark Adept,Saurian Augur,Ghoul,Drake Clasher,Ghost,Saurian Skirmisher,Vampire Bat,Drake Glider,Walking Corpse,Walking Corpse - image={IMG_SCOURGE} - type=random - leader=Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer - random_leader= {RANDOM_LEADERS_SCOURGE} - [world_conquest_data] - commanders=Drakes,Undead - heroes=Loyalists_All,Knalgans_All - deserters=Rebels,Northerners,Young Ogre - deserters_names={STR_YOUNG_OGRE}+", "+{STR_REBELS}+{STR_AND}+{STR_NORTHERENS} - {WC_II_PAIR "Skeleton" "Drake Fighter"} - {WC_II_PAIR "Skeleton Archer" "Drake Burner"} - {WC_II_PAIR "Dark Adept" "Saurian Augur"} - {WC_II_PAIR "Ghoul" "Drake Clasher"} - {WC_II_PAIR "Ghost" "Saurian Skirmisher"} - {WC_II_PAIR "Vampire Bat" "Drake Glider"} - {WC_II_PAIR "Walking Corpse" "Walking Corpse"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Scourge + name={STR_SCOURGE} + recruit=Skeleton,Drake Fighter,Skeleton Archer,Drake Burner,Dark Adept,Saurian Augur,Ghoul,Drake Clasher,Ghost,Saurian Skirmisher,Vampire Bat,Drake Glider,Walking Corpse,Walking Corpse + image={IMG_SCOURGE} + type=random + leader=Dark Sorcerer,Revenant,Deathblade,Bone Shooter,Necrophage,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer + random_leader= {RANDOM_LEADERS_SCOURGE} + [world_conquest_data] + commanders=Drakes,Undead + heroes=Loyalists_All,Knalgans_All + deserters=Rebels,Northerners,Young Ogre + deserters_names={STR_YOUNG_OGRE}+", "+{STR_REBELS}+{STR_AND}+{STR_NORTHERENS} + {WC_II_PAIR "Skeleton" "Drake Fighter"} + {WC_II_PAIR "Skeleton Archer" "Drake Burner"} + {WC_II_PAIR "Dark Adept" "Saurian Augur"} + {WC_II_PAIR "Ghoul" "Drake Clasher"} + {WC_II_PAIR "Ghost" "Saurian Skirmisher"} + {WC_II_PAIR "Vampire Bat" "Drake Glider"} + {WC_II_PAIR "Walking Corpse" "Walking Corpse"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_SCOURGE diff --git a/data/campaigns/World_Conquest/era/factions/The_Trust.cfg b/data/campaigns/World_Conquest/era/factions/The_Trust.cfg index 52016c15c592..62ae9e3e0034 100644 --- a/data/campaigns/World_Conquest/era/factions/The_Trust.cfg +++ b/data/campaigns/World_Conquest/era/factions/The_Trust.cfg @@ -1,28 +1,28 @@ #textdomain wesnoth-units #define MULTIPLAYER_SIDE_THE_TRUST - [multiplayer_side] - id=The Trust - name={STR_TRUST} - recruit=Drake Fighter,Dwarvish Fighter,Drake Burner,Dwarvish Thunderer,Saurian Augur,Dwarvish Ulfserker,Drake Clasher,Dwarvish Guardsman,Saurian Skirmisher,Poacher,Drake Glider,Footpad,Thief,Thief - image={IMG_TRUST} - type=random - leader= Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer - random_leader= {RANDOM_LEADERS_TRUST} - [world_conquest_data] - commanders=Drakes,Knalgans - heroes=Loyalists_All,Northerners_All,Young Ogre - deserters=Rebels,Undead,Dune Burner - deserters_names={STR_NAFFAT}+", "+{STR_REBELS}+{STR_AND}+{STR_THE_UNDEAD} - {WC_II_PAIR "Drake Fighter" "Dwarvish Fighter"} - {WC_II_PAIR "Drake Burner" "Dwarvish Thunderer"} - {WC_II_PAIR "Saurian Augur" "Dwarvish Ulfserker"} - {WC_II_PAIR "Drake Clasher" "Dwarvish Guardsman"} - {WC_II_PAIR "Saurian Skirmisher" "Poacher"} - {WC_II_PAIR "Drake Glider" "Footpad"} - {WC_II_PAIR "Thief" "Thief"} - [/world_conquest_data] - [/multiplayer_side] + [multiplayer_side] + id=The Trust + name={STR_TRUST} + recruit=Drake Fighter,Dwarvish Fighter,Drake Burner,Dwarvish Thunderer,Saurian Augur,Dwarvish Ulfserker,Drake Clasher,Dwarvish Guardsman,Saurian Skirmisher,Poacher,Drake Glider,Footpad,Thief,Thief + image={IMG_TRUST} + type=random + leader= Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Stalwart,Rogue,Trapper,Drake Flare,Fire Drake,Drake Arbiter,Drake Thrasher,Drake Warrior,Saurian Oracle,Saurian Soothsayer + random_leader= {RANDOM_LEADERS_TRUST} + [world_conquest_data] + commanders=Drakes,Knalgans + heroes=Loyalists_All,Northerners_All,Young Ogre + deserters=Rebels,Undead,Dune Burner + deserters_names={STR_NAFFAT}+", "+{STR_REBELS}+{STR_AND}+{STR_THE_UNDEAD} + {WC_II_PAIR "Drake Fighter" "Dwarvish Fighter"} + {WC_II_PAIR "Drake Burner" "Dwarvish Thunderer"} + {WC_II_PAIR "Saurian Augur" "Dwarvish Ulfserker"} + {WC_II_PAIR "Drake Clasher" "Dwarvish Guardsman"} + {WC_II_PAIR "Saurian Skirmisher" "Poacher"} + {WC_II_PAIR "Drake Glider" "Footpad"} + {WC_II_PAIR "Thief" "Thief"} + [/world_conquest_data] + [/multiplayer_side] #enddef #define RANDOM_LEADERS_TRUST diff --git a/data/campaigns/World_Conquest/era/factions/strings.cfg b/data/campaigns/World_Conquest/era/factions/strings.cfg index cacd5941462f..9f63b202edc0 100644 --- a/data/campaigns/World_Conquest/era/factions/strings.cfg +++ b/data/campaigns/World_Conquest/era/factions/strings.cfg @@ -7,7 +7,7 @@ world_conquest_era#enddef _"World Conquest" #enddef #define STR_ERA_DESCRIPTION_WC_II - _"Units are defined as pairs in recruit list: Every time a unit is recruited, it is replaced by its pair. This era is designed to be balanced playing World Conquest II. + _"Units are defined as pairs in recruit list: Every time a unit is recruited, it is replaced by its pair. This era is designed to be balanced playing World Conquest II. Includes an in-game help to know pairs status, with a right-click on an empty hex." #enddef #define STR_HORDE diff --git a/data/campaigns/World_Conquest/resources/data/artifacts.cfg b/data/campaigns/World_Conquest/resources/data/artifacts.cfg index a9cc0ef83145..1406bd3daa50 100644 --- a/data/campaigns/World_Conquest/resources/data/artifacts.cfg +++ b/data/campaigns/World_Conquest/resources/data/artifacts.cfg @@ -1,856 +1,856 @@ #define WORLD_CONQUEST_TEK_ARTIFACT_DEFINITIONS - ## in alphabetic order by name - ## uses some macros from training - [artifact] - name= {STR_ITEM_STEADFAST_NAME} - icon=items/armor.png - description={STR_BLADE}+"/"+{STR_IMPACT}+"/"+{STR_PIERCE}+": "+{STR_UP_TO 10}+{STR_RESISTANCES}+", "+{STR_STEADFAST} - info= {STR_ITEM_STEADFAST_INFO} - sound=dagger-swish.wav - [effect] - apply_to=new_ability - [abilities] - {ABILITY_STEADFAST} - [/abilities] - [/effect] - [effect] - apply_to = wc2_min_resistance - [resistance] - blade = 90 - pierce = 90 - impact = 90 - [/resistance] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_BACKSTAB_NAME} - icon=items/ring-brown.png - description={STR_MELEE}+": "+{STR_BACKSTAB} - info= {STR_ITEM_BACKSTAB_INFO} - {WCT_ANIMATION_RING assassin "60,55,60"} - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=backstab - [set_specials] - mode=append - {WEAPON_SPECIAL_BACKSTAB} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_SUBMERGE_NAME} - icon=items/ball-blue.png - description={STR_SWIM}+", "+{STR_SUBMERGE} - info= {STR_ITEM_SUBMERGE_INFO} - sound=dagger-swish.wav - [effect] - apply_to=new_ability - [abilities] - {ABILITY_SUBMERGE} - [/abilities] - [/effect] - [effect] - apply_to=movement_costs - replace=true - [movement_costs] - shallow_water=1 - deep_water=1 - swamp_water=1 - reef=1 - [/movement_costs] - [/effect] - [effect] - apply_to=defense - replace=true - [defense] - deep_water=40 - shallow_water=40 - swamp_water=40 - reef=30 - [/defense] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_TENACITY_NAME} - icon=items/ball-green.png - description={STR_FEARLESS}+", "+{STR_UNDEAD}+", "+{STR_HEALTHY}+", "+{STR_TENACITY} - info= {STR_ITEM_TENACITY_INFO} - sound=heal.wav - {TRAIT_UNDEAD} - {TRAIT_FEARLESS} - {TRAIT_HEALTHY} - [effect] - apply_to=new_ability - [abilities] - {WCT_ABILITY_TENACITY} - [/abilities] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_DRAIN_M_NAME} - icon=items/ring-red.png - description={STR_MELEE}+": "+{STR_DRAIN} - info= {STR_ITEM_DRAIN_M_INFO} - {WCT_ANIMATION_RING blood "255,60,60"} - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=drains - [set_specials] - mode=append - {WEAPON_SPECIAL_DRAIN} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_CHARGE_NAME} - icon=items/spear-fancy.png - description={STR_MELEE}+": "+{STR_CHARGE} - info= {STR_ITEM_CHARGE_INFO} - sound=dagger-swish.wav - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=charge - [set_specials] - mode=append - {WEAPON_SPECIAL_CHARGE} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_DRAIN_R_NAME} - icon=items/ankh-necklace.png - description={STR_RANGED}+": "+{STR_DRAIN} - info= {STR_ITEM_DRAIN_R_INFO} - {WCT_ANIMATION_RING blood "255,60,60"} - [filter] - formula = "size(filter(attacks, range = 'ranged')) > 0" - [/filter] - [effect] - apply_to=attack - range=ranged - remove_specials=drains - [set_specials] - mode=append - {WEAPON_SPECIAL_DRAIN} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_MARKSMAN_R_NAME} - icon=items/bow.png - description={STR_RANGED}+": "+{STR_MARKSMAN}+{STR_AND}+"+25% "+{STR_DAMAGE} - info= {STR_ITEM_MARKSMAN_R_INFO} - sound=dagger-swish.wav - [filter] - formula = "size(filter(attacks, range = 'ranged')) > 0" - [/filter] - [effect] - apply_to=attack - range=ranged - remove_specials=marksman - [set_specials] - mode=append - {WEAPON_SPECIAL_MARKSMAN} - [/set_specials] - [/effect] - [effect] - apply_to=attack - range=ranged - increase_damage=25% - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_PLAGUE_NAME} - icon=items/book5.png - description={STR_MELEE}+": "{STR_PLAGUE} - info= {STR_ITEM_PLAGUE_INFO} - {WCT_ANIMATION idling} - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=plague - [set_specials] - mode=append - {WEAPON_SPECIAL_PLAGUE} - [/set_specials] - [/effect] - [/artifact] - [artifact] - ## credit to ezysquire for this item idea - name= {STR_ITEM_FORCEFIELD_NAME} - icon=items/buckler.png - description= {STR_ITEM_FORCEFIELD_DESC} - info= {STR_ITEM_FORCEFIELD_INFO} - sound=magic-missile-3.ogg - [effect] - apply_to=new_ability - [abilities] - [leadership] - id=forcefield - value=-13 - cumulative=no - name= {STR_FORCEFIELD} - female_name= {STR_FORCEFIELD} - description= {STR_FORCEFIELD_DESCRIPTION} - affect_self=no - affect_allies=no - affect_enemies=yes - [affect_adjacent] - adjacent=n,ne,se,s,sw,nw - [/affect_adjacent] - [/leadership] - [/abilities] - [/effect] - [effect] - apply_to=wc2_update_aura - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_FEEDING_NAME} - icon=items/potion-red.png - description={STR_FEEDING}+", +3 "+{STR_HITPOINTS} - info= {STR_ITEM_FEEDING_INFO} - sound=potion.ogg - {WCT_FEEDING} - [effect] - apply_to=hitpoints - increase=3 - increase_total=3 - [/effect] - ## buff enemy based in xp as kills - [effect] - [filter] - [filter_side] - lua_function="wc2_artifact_needs_compensation" - [/filter_side] - [/filter] - apply_to=hitpoints - increase="$($wc2_scenario*3)" - increase_total="$($wc2_scenario*3)" - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_FIRE_NAME} - icon=items/ball-magenta.png - description={STR_MELEE}+": "+{STR_FIRE}+{STR_AND}+"+25% "+{STR_DAMAGE}+", +30 "+{STR_RESISTANCE}+{STR_FIRE} - info= {STR_ITEM_FIRE_INFO} - sound=torch.ogg - [effect] - apply_to=attack - range=melee - set_type=fire - increase_damage=25% - [/effect] - [effect] - apply_to=resistance - replace=false - [resistance] - fire=-30 - [/resistance] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_ILLUMINATES_NAME} - icon=items/armor-golden.png - description={STR_ILLUMINATES}+", "+{STR_LAWFUL}+", "+{STR_HEALS}+", "+{STR_FIRSTSTRIKE} - info= {STR_ITEM_ILLUMINATES_INFO} - sound_male=horn-signals/horn-1.ogg - sound_female=horn-signals/horn-2.ogg - [effect] - apply_to=remove_ability - [abilities] - [illuminates] - id=darkness - [/illuminates] - [/abilities] - [/effect] - [effect] - apply_to=new_ability - [abilities] - {ABILITY_ILLUMINATES} - {ABILITY_HEALS} - [/abilities] - [/effect] - [effect] - apply_to=attack - remove_specials=firststrike - [set_specials] - mode=append - {WEAPON_SPECIAL_FIRSTSTRIKE} - [/set_specials] - [/effect] - [effect] - apply_to="alignment" - set="lawful" - [/effect] - [effect] - apply_to=wc2_update_aura - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_ARCANE_NAME} - icon=items/holy-water.png - description={STR_MELEE}+": "+{STR_ARCANE}+{STR_AND}+"+25% "+{STR_DAMAGE}+", +30 "+{STR_RESISTANCE}+{STR_ARCANE} - info= {STR_ITEM_ARCANE_INFO} - sound_male=magic-holy-1.ogg - sound_female=magic-holy-miss-4.ogg - [effect] - apply_to=attack - range=melee - set_type=arcane - increase_damage=25% - [/effect] - [effect] - apply_to=resistance - replace=false - [resistance] - arcane=-30 - [/resistance] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_SLOW_R_NAME} - icon=items/bow-crystal.png - description="19-1 "+{STR_RANGED}+"-"+{STR_COLD}+" "+{STR_SLOW} - info= {STR_ITEM_SLOW_R_INFO} - sound=dagger-swish.wav - [effect] - apply_to=new_attack - name="ice bow" - description= {STR_ART_SLOW_R} - icon=attacks/lightning.png - type=cold - range=ranged - [specials] - {WEAPON_SPECIAL_SLOW} - [/specials] - damage=19 - number=1 - [/effect] - [effect] - apply_to=new_animation - name=ice bow - [attack_anim] - [filter_attack] - name=ice bow - [/filter_attack] - {MISSILE_FRAME_ICE} - [if] - hits=yes - [frame] - begin=-75 - end=0 - sound=crossbow.ogg - [/frame] - [/if] - [else] - hits=no - [frame] - begin=-75 - end=0 - sound=crossbow-miss.ogg - [/frame] - [/else] - [/attack_anim] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_CURES_NAME} - icon=items/flower1.png - description={STR_CURES} - info= {STR_ITEM_CURES_INFO} - sound=heal.wav - [effect] - apply_to=remove_ability - [abilities] - [heals] - id=healing - [/heals] - [/abilities] - [/effect] - [effect] - apply_to=new_ability - [abilities] - {ABILITY_CURES} - [/abilities] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_DRUG_NAME} - icon=items/potion-yellow.png - description={STR_LIVING}+" +1 "+{STR_DAMAGE}+{STR_AND}+"+1 "+{STR_MOVES}+{STR_AND}+"-20% "+{STR_EXPERIENCE} - info= {STR_ITEM_DRUG_INFO} - sound=potion.ogg - [filter] - [not] - [filter_wml] - [modifications] - [trait] - id=undead - [/trait] - [/modifications] - [/filter_wml] - [/not] - [/filter] - [effect] - apply_to=max_experience - increase=-20% - [/effect] - [effect] - apply_to=attack - increase_damage=1 - [/effect] - [effect] - apply_to=movement - increase=1 - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_POISON_NAME} - icon=items/potion-poison.png - description={STR_BLADE}+"/"+{STR_PIERCE}+": "+{STR_POISON}+{STR_AND}+"+20% "+{STR_DAMAGE} - info= {STR_ITEM_POISON_INFO} - sound=poison.ogg - [filter] - formula = "size(filter(attacks, type = 'blade' or type = 'pierce')) > 0" - [/filter] - [effect] - apply_to=attack - type=blade,pierce - remove_specials=poison - increase_damage=20% - [set_specials] - mode=append - {WEAPON_SPECIAL_POISON} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_SLOW_M_NAME} - icon=items/ring-white.png - description={STR_MELEE}+": "+{STR_COLD}+{STR_AND}+{STR_SLOW} - info= {STR_ITEM_SLOW_M_INFO} - {WCT_ANIMATION_RING cold "180,180,255"} - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=slow - set_type=cold - [set_specials] - mode=append - {WEAPON_SPECIAL_SLOW} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_ELEMENTALS_NAME} - icon=items/ring-gold.png - description={STR_ARCANE}+"/"+{STR_COLD}+"/"+{STR_FIRE}+": "+{STR_DISENGAGE}+{STR_AND}+"+20% "+{STR_DAMAGE} - info= {STR_ITEM_ELEMENTALS_INFO} - {WCT_ANIMATION_RING power "210,210,57"} - not_available=enemy - [filter] - formula = "size(filter(attacks, type = 'fire' or type = 'cold' or type = 'arcane' )) > 0" - [/filter] - [effect] - apply_to=attack - type=fire,arcane,cold - increase_damage=20% - {WCT_WEAPON_SPECIAL_DISENGAGE} - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_IMPACT_NAME} - icon=items/hammer-runic.png - description={STR_IMPACT}+": +1 "+{STR_STRIKE}+{STR_AND}+"+2 "+{STR_DAMAGE} - info= {STR_ITEM_IMPACT_INFO} - sound=dagger-swish.wav - not_available=enemy,player - [filter] - formula = "size(filter(attacks, type = 'impact')) > 0" - [/filter] - [effect] - apply_to=attack - type=impact - increase_attacks=1 - increase_damage=2 - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_MAGICAL_NAME} - icon=items/sword.png - description={STR_MELEE}+": "+{STR_MAGICAL} - info= {STR_ITEM_MAGICAL_INFO} - sound=dagger-swish.wav - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - remove_specials=magical,marksman - [set_specials] - mode=append - {WEAPON_SPECIAL_MAGICAL} - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_ATTACK_ARCANE_NAME} - icon=items/staff-magic.png - description="11-3 "+{STR_RANGED}+"-"+{STR_ARCANE}+" "+{STR_MAGICAL} - info= {STR_ITEM_ATTACK_ARCANE_INFO} - sound=dagger-swish.wav - [effect] - apply_to=new_attack - name=staff of radiance - description= {STR_ART_ARCANE} - icon=attacks/lightbeam.png - type=arcane - range=ranged - [specials] - {WEAPON_SPECIAL_MAGICAL} - [/specials] - damage=11 - number=3 - [/effect] - [effect] - apply_to=new_animation - name=staff of radiance - [attack_anim] - [filter_attack] - name=staff of radiance - [/filter_attack] - {MISSILE_FRAME_LIGHT_BEAM} - [if] - hits=yes - [frame] - begin=-75 - end=0 - sound={SOUND_LIST:HOLY} - [/frame] - [/if] - [else] - hits=no - [frame] - begin=-75 - end=0 - sound={SOUND_LIST:HOLY_MISS} - [/frame] - [/else] - [/attack_anim] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_BERSEK_NAME} - icon=items/flame-sword.png - description={STR_MELEE}+": "+ {STR_FURY} - info= {STR_ITEM_BERSEK_INFO} - sound=dagger-swish.wav - not_available=player - [filter] - formula = "size(filter(attacks, range = 'melee')) > 0" - [/filter] - [effect] - apply_to=attack - range=melee - [set_specials] - mode=append - [berserk] - id=wct_fury - name= {STR_FURY} - female_name= {STR_FURY} - description= {STR_FURY_DESCRIPTION} - value=3 - [/berserk] - [/set_specials] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_STRIKES_R_NAME} - icon=items/bow-elven.png - description={STR_RANGED}+"-"+{STR_BLADE}+"/"+{STR_IMPACT}+"/"+{STR_PIERCE}+": +60% "+{STR_STRIKES}+{STR_AND}+"+1 "+{STR_DAMAGE} - info= {STR_ITEM_STRIKES_R_INFO} - sound=dagger-swish.wav - not_available=enemy,player - [filter] - formula = "size(filter(attacks, range = 'ranged' and (type = 'pierce' or type = 'blade' or type = 'impact'))) > 0" - [/filter] - [effect] - apply_to=attack - range=ranged - type=pierce,blade,impact - increase_attacks=60% - increase_damage=1 - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_DARKNESS_NAME} - icon=items/scarecrow.png - description= {STR_DARKNESS}+", "+{STR_CHAOTIC}+", "+{STR_CORRUPTION}+", "+{STR_DISTRACT} - info= {STR_ITEM_DARKNESS_INFO} - sound_male=dwarf-laugh.wav - sound_female=witches-laugh.wav - [effect] - apply_to=remove_ability - [abilities] - [illuminates] - id=illumination - [/illuminates] - [/abilities] - [/effect] - [effect] - apply_to=new_ability - [abilities] - {WCT_ABILITY_DISTRACT} - [illuminates] - id=darkness - value=-25 - min_value=-25 - cumulative=no - name= {STR_DARKNESS} - female_name= {STR_DARKNESS} - description= {STR_DARKNESS_DESCRIPTION} - affect_self=yes - [/illuminates] - [dummy] - id=wc2_corruption - name= {STR_CORRUPTION} - female_name= {STR_CORRUPTION} - description= {STR_CORRUPTION_DESCRIPTION} - [/dummy] - [/abilities] - [/effect] - [effect] - apply_to="alignment" - set="chaotic" - [/effect] - [effect] - apply_to=wc2_update_aura - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_TELEPORT_NAME} - icon=items/key.png - description={STR_TELEPORT} - info= {STR_ITEM_TELEPORT_INFO} - sound=dagger-swish.wav - not_available=enemy - [effect] - apply_to=new_animation - [animation] - apply_to=pre_teleport - {TELEPORT_OUT_ANIMATION} - [/animation] - [animation] - apply_to=post_teleport - {TELEPORT_IN_ANIMATION} - [/animation] - [/effect] - [effect] - apply_to=new_ability - [abilities] - {ABILITY_TELEPORT} - [/abilities] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_XP_NAME} - icon=items/book1.png - description="-50% "+{STR_EXPERIENCE} - info= {STR_ITEM_XP_INFO} - {WCT_ANIMATION idling} - [effect] - apply_to=max_experience - increase=-50% - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_ATTACK_FIRE_NAME} - icon=items/storm-trident.png - description="17-2 "+{STR_RANGED}+"-"+{STR_FIRE}+" "+{STR_MAGICAL} - info= {STR_ITEM_ATTACK_FIRE_INFO} - sound=dagger-swish.wav - [effect] - apply_to=new_attack - name=storm trident - description= {STR_ART_FIRE} - icon=attacks/lightning.png - type=fire - range=ranged - [specials] - {WEAPON_SPECIAL_MAGICAL} - [/specials] - damage=17 - number=2 - [/effect] - {LIGHTNING_ANIMATION "storm trident" 1} - {LIGHTNING_ANIMATION "storm trident" 2} - {LIGHTNING_ANIMATION "storm trident" 3} - [/artifact] - [artifact] - name= {STR_ITEM_REGENERATES_NAME} - icon=items/potion-grey.png - description={STR_REGENERATES} - info= {STR_ITEM_REGENERATES_INFO} - sound=potion.ogg - [effect] - apply_to=new_ability - [abilities] - {ABILITY_REGENERATES} - [/abilities] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_LEADERSHIP_NAME} - icon=items/orcish-flag.png - description= {STR_ITEM_LEADERSHIP_DESC} - info= {STR_ITEM_LEADERSHIP_INFO} - {WCT_ANIMATION leading} - {WCT_ANIMATION leading} - [effect] - apply_to=new_ability - [abilities] - [leadership] - id=banner - value=20 - cumulative=yes - name= {STR_BANNER} - female_name= {STR_BANNER} - description= {STR_BANNER_DESCRIPTION} - affect_self=no - affect_allies=yes - [affect_adjacent] - adjacent=n,ne,se,s,sw,nw - [/affect_adjacent] - [/leadership] - [/abilities] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_FLYING_NAME} - icon=items/staff.png - description= {STR_FLIGHT} - info= {STR_ITEM_FLYING_INFO} - sound=dagger-swish.wav - [effect] - apply_to=movement_costs - replace=true - [movement_costs] - deep_water=1 - shallow_water=1 - swamp_water=1 - flat=1 - sand=1 - forest=1 - hills=1 - mountains=1 - village=1 - castle=1 - frozen=1 - unwalkable=1 - reef=1 - [/movement_costs] - [/effect] - [effect] - apply_to = wc2_min_defense - [defense] - deep_water=50 - shallow_water=50 - swamp_water=50 - flat=50 - sand=50 - forest=50 - hills=50 - mountains=50 - castle=50 - frozen=50 - unwalkable=50 - reef=50 - [/defense] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_SNOW_NAME} - icon=items/flower3.png - description="+15 "+{STR_HITPOINTS}+", "+{STR_UP_TO 20}+{STR_RESISTANCE}+{STR_COLD} - info= {STR_ITEM_SNOW_INFO} - sound=heal.wav - [effect] - apply_to=hitpoints - increase=15 - increase_total=15 - [/effect] - [effect] - apply_to = wc2_min_resistance - [resistance] - cold = 80 - [/resistance] - [/effect] - [/artifact] - [artifact] - name= {STR_ITEM_SKIRMISHER_NAME} - icon=items/cloak-green.png - description={STR_SKIRMISHER}+", "+{STR_AMBUSH}+", "+{STR_NIGHTSTALK}+", +2 "+{STR_MOVES} - info= {STR_ITEM_SKIRMISHER_INFO} - sound=bat-flapping.wav - [effect] - apply_to=new_ability - [abilities] - {ABILITY_SKIRMISHER} - {ABILITY_AMBUSH} - {ABILITY_NIGHTSTALK} - [/abilities] - [/effect] - [effect] - apply_to=movement - increase=2 - [/effect] - [/artifact] + ## in alphabetic order by name + ## uses some macros from training + [artifact] + name= {STR_ITEM_STEADFAST_NAME} + icon=items/armor.png + description={STR_BLADE}+"/"+{STR_IMPACT}+"/"+{STR_PIERCE}+": "+{STR_UP_TO 10}+{STR_RESISTANCES}+", "+{STR_STEADFAST} + info= {STR_ITEM_STEADFAST_INFO} + sound=dagger-swish.wav + [effect] + apply_to=new_ability + [abilities] + {ABILITY_STEADFAST} + [/abilities] + [/effect] + [effect] + apply_to = wc2_min_resistance + [resistance] + blade = 90 + pierce = 90 + impact = 90 + [/resistance] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_BACKSTAB_NAME} + icon=items/ring-brown.png + description={STR_MELEE}+": "+{STR_BACKSTAB} + info= {STR_ITEM_BACKSTAB_INFO} + {WCT_ANIMATION_RING assassin "60,55,60"} + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=backstab + [set_specials] + mode=append + {WEAPON_SPECIAL_BACKSTAB} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_SUBMERGE_NAME} + icon=items/ball-blue.png + description={STR_SWIM}+", "+{STR_SUBMERGE} + info= {STR_ITEM_SUBMERGE_INFO} + sound=dagger-swish.wav + [effect] + apply_to=new_ability + [abilities] + {ABILITY_SUBMERGE} + [/abilities] + [/effect] + [effect] + apply_to=movement_costs + replace=true + [movement_costs] + shallow_water=1 + deep_water=1 + swamp_water=1 + reef=1 + [/movement_costs] + [/effect] + [effect] + apply_to=defense + replace=true + [defense] + deep_water=40 + shallow_water=40 + swamp_water=40 + reef=30 + [/defense] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_TENACITY_NAME} + icon=items/ball-green.png + description={STR_FEARLESS}+", "+{STR_UNDEAD}+", "+{STR_HEALTHY}+", "+{STR_TENACITY} + info= {STR_ITEM_TENACITY_INFO} + sound=heal.wav + {TRAIT_UNDEAD} + {TRAIT_FEARLESS} + {TRAIT_HEALTHY} + [effect] + apply_to=new_ability + [abilities] + {WCT_ABILITY_TENACITY} + [/abilities] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_DRAIN_M_NAME} + icon=items/ring-red.png + description={STR_MELEE}+": "+{STR_DRAIN} + info= {STR_ITEM_DRAIN_M_INFO} + {WCT_ANIMATION_RING blood "255,60,60"} + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=drains + [set_specials] + mode=append + {WEAPON_SPECIAL_DRAIN} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_CHARGE_NAME} + icon=items/spear-fancy.png + description={STR_MELEE}+": "+{STR_CHARGE} + info= {STR_ITEM_CHARGE_INFO} + sound=dagger-swish.wav + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=charge + [set_specials] + mode=append + {WEAPON_SPECIAL_CHARGE} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_DRAIN_R_NAME} + icon=items/ankh-necklace.png + description={STR_RANGED}+": "+{STR_DRAIN} + info= {STR_ITEM_DRAIN_R_INFO} + {WCT_ANIMATION_RING blood "255,60,60"} + [filter] + formula = "size(filter(attacks, range = 'ranged')) > 0" + [/filter] + [effect] + apply_to=attack + range=ranged + remove_specials=drains + [set_specials] + mode=append + {WEAPON_SPECIAL_DRAIN} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_MARKSMAN_R_NAME} + icon=items/bow.png + description={STR_RANGED}+": "+{STR_MARKSMAN}+{STR_AND}+"+25% "+{STR_DAMAGE} + info= {STR_ITEM_MARKSMAN_R_INFO} + sound=dagger-swish.wav + [filter] + formula = "size(filter(attacks, range = 'ranged')) > 0" + [/filter] + [effect] + apply_to=attack + range=ranged + remove_specials=marksman + [set_specials] + mode=append + {WEAPON_SPECIAL_MARKSMAN} + [/set_specials] + [/effect] + [effect] + apply_to=attack + range=ranged + increase_damage=25% + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_PLAGUE_NAME} + icon=items/book5.png + description={STR_MELEE}+": "{STR_PLAGUE} + info= {STR_ITEM_PLAGUE_INFO} + {WCT_ANIMATION idling} + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=plague + [set_specials] + mode=append + {WEAPON_SPECIAL_PLAGUE} + [/set_specials] + [/effect] + [/artifact] + [artifact] + ## credit to ezysquire for this item idea + name= {STR_ITEM_FORCEFIELD_NAME} + icon=items/buckler.png + description= {STR_ITEM_FORCEFIELD_DESC} + info= {STR_ITEM_FORCEFIELD_INFO} + sound=magic-missile-3.ogg + [effect] + apply_to=new_ability + [abilities] + [leadership] + id=forcefield + value=-13 + cumulative=no + name= {STR_FORCEFIELD} + female_name= {STR_FORCEFIELD} + description= {STR_FORCEFIELD_DESCRIPTION} + affect_self=no + affect_allies=no + affect_enemies=yes + [affect_adjacent] + adjacent=n,ne,se,s,sw,nw + [/affect_adjacent] + [/leadership] + [/abilities] + [/effect] + [effect] + apply_to=wc2_update_aura + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_FEEDING_NAME} + icon=items/potion-red.png + description={STR_FEEDING}+", +3 "+{STR_HITPOINTS} + info= {STR_ITEM_FEEDING_INFO} + sound=potion.ogg + {WCT_FEEDING} + [effect] + apply_to=hitpoints + increase=3 + increase_total=3 + [/effect] + ## buff enemy based in xp as kills + [effect] + [filter] + [filter_side] + lua_function="wc2_artifact_needs_compensation" + [/filter_side] + [/filter] + apply_to=hitpoints + increase="$($wc2_scenario*3)" + increase_total="$($wc2_scenario*3)" + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_FIRE_NAME} + icon=items/ball-magenta.png + description={STR_MELEE}+": "+{STR_FIRE}+{STR_AND}+"+25% "+{STR_DAMAGE}+", +30 "+{STR_RESISTANCE}+{STR_FIRE} + info= {STR_ITEM_FIRE_INFO} + sound=torch.ogg + [effect] + apply_to=attack + range=melee + set_type=fire + increase_damage=25% + [/effect] + [effect] + apply_to=resistance + replace=false + [resistance] + fire=-30 + [/resistance] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_ILLUMINATES_NAME} + icon=items/armor-golden.png + description={STR_ILLUMINATES}+", "+{STR_LAWFUL}+", "+{STR_HEALS}+", "+{STR_FIRSTSTRIKE} + info= {STR_ITEM_ILLUMINATES_INFO} + sound_male=horn-signals/horn-1.ogg + sound_female=horn-signals/horn-2.ogg + [effect] + apply_to=remove_ability + [abilities] + [illuminates] + id=darkness + [/illuminates] + [/abilities] + [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_ILLUMINATES} + {ABILITY_HEALS} + [/abilities] + [/effect] + [effect] + apply_to=attack + remove_specials=firststrike + [set_specials] + mode=append + {WEAPON_SPECIAL_FIRSTSTRIKE} + [/set_specials] + [/effect] + [effect] + apply_to="alignment" + set="lawful" + [/effect] + [effect] + apply_to=wc2_update_aura + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_ARCANE_NAME} + icon=items/holy-water.png + description={STR_MELEE}+": "+{STR_ARCANE}+{STR_AND}+"+25% "+{STR_DAMAGE}+", +30 "+{STR_RESISTANCE}+{STR_ARCANE} + info= {STR_ITEM_ARCANE_INFO} + sound_male=magic-holy-1.ogg + sound_female=magic-holy-miss-4.ogg + [effect] + apply_to=attack + range=melee + set_type=arcane + increase_damage=25% + [/effect] + [effect] + apply_to=resistance + replace=false + [resistance] + arcane=-30 + [/resistance] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_SLOW_R_NAME} + icon=items/bow-crystal.png + description="19-1 "+{STR_RANGED}+"-"+{STR_COLD}+" "+{STR_SLOW} + info= {STR_ITEM_SLOW_R_INFO} + sound=dagger-swish.wav + [effect] + apply_to=new_attack + name="ice bow" + description= {STR_ART_SLOW_R} + icon=attacks/lightning.png + type=cold + range=ranged + [specials] + {WEAPON_SPECIAL_SLOW} + [/specials] + damage=19 + number=1 + [/effect] + [effect] + apply_to=new_animation + name=ice bow + [attack_anim] + [filter_attack] + name=ice bow + [/filter_attack] + {MISSILE_FRAME_ICE} + [if] + hits=yes + [frame] + begin=-75 + end=0 + sound=crossbow.ogg + [/frame] + [/if] + [else] + hits=no + [frame] + begin=-75 + end=0 + sound=crossbow-miss.ogg + [/frame] + [/else] + [/attack_anim] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_CURES_NAME} + icon=items/flower1.png + description={STR_CURES} + info= {STR_ITEM_CURES_INFO} + sound=heal.wav + [effect] + apply_to=remove_ability + [abilities] + [heals] + id=healing + [/heals] + [/abilities] + [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_CURES} + [/abilities] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_DRUG_NAME} + icon=items/potion-yellow.png + description={STR_LIVING}+" +1 "+{STR_DAMAGE}+{STR_AND}+"+1 "+{STR_MOVES}+{STR_AND}+"-20% "+{STR_EXPERIENCE} + info= {STR_ITEM_DRUG_INFO} + sound=potion.ogg + [filter] + [not] + [filter_wml] + [modifications] + [trait] + id=undead + [/trait] + [/modifications] + [/filter_wml] + [/not] + [/filter] + [effect] + apply_to=max_experience + increase=-20% + [/effect] + [effect] + apply_to=attack + increase_damage=1 + [/effect] + [effect] + apply_to=movement + increase=1 + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_POISON_NAME} + icon=items/potion-poison.png + description={STR_BLADE}+"/"+{STR_PIERCE}+": "+{STR_POISON}+{STR_AND}+"+20% "+{STR_DAMAGE} + info= {STR_ITEM_POISON_INFO} + sound=poison.ogg + [filter] + formula = "size(filter(attacks, type = 'blade' or type = 'pierce')) > 0" + [/filter] + [effect] + apply_to=attack + type=blade,pierce + remove_specials=poison + increase_damage=20% + [set_specials] + mode=append + {WEAPON_SPECIAL_POISON} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_SLOW_M_NAME} + icon=items/ring-white.png + description={STR_MELEE}+": "+{STR_COLD}+{STR_AND}+{STR_SLOW} + info= {STR_ITEM_SLOW_M_INFO} + {WCT_ANIMATION_RING cold "180,180,255"} + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=slow + set_type=cold + [set_specials] + mode=append + {WEAPON_SPECIAL_SLOW} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_ELEMENTALS_NAME} + icon=items/ring-gold.png + description={STR_ARCANE}+"/"+{STR_COLD}+"/"+{STR_FIRE}+": "+{STR_DISENGAGE}+{STR_AND}+"+20% "+{STR_DAMAGE} + info= {STR_ITEM_ELEMENTALS_INFO} + {WCT_ANIMATION_RING power "210,210,57"} + not_available=enemy + [filter] + formula = "size(filter(attacks, type = 'fire' or type = 'cold' or type = 'arcane' )) > 0" + [/filter] + [effect] + apply_to=attack + type=fire,arcane,cold + increase_damage=20% + {WCT_WEAPON_SPECIAL_DISENGAGE} + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_IMPACT_NAME} + icon=items/hammer-runic.png + description={STR_IMPACT}+": +1 "+{STR_STRIKE}+{STR_AND}+"+2 "+{STR_DAMAGE} + info= {STR_ITEM_IMPACT_INFO} + sound=dagger-swish.wav + not_available=enemy,player + [filter] + formula = "size(filter(attacks, type = 'impact')) > 0" + [/filter] + [effect] + apply_to=attack + type=impact + increase_attacks=1 + increase_damage=2 + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_MAGICAL_NAME} + icon=items/sword.png + description={STR_MELEE}+": "+{STR_MAGICAL} + info= {STR_ITEM_MAGICAL_INFO} + sound=dagger-swish.wav + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + remove_specials=magical,marksman + [set_specials] + mode=append + {WEAPON_SPECIAL_MAGICAL} + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_ATTACK_ARCANE_NAME} + icon=items/staff-magic.png + description="11-3 "+{STR_RANGED}+"-"+{STR_ARCANE}+" "+{STR_MAGICAL} + info= {STR_ITEM_ATTACK_ARCANE_INFO} + sound=dagger-swish.wav + [effect] + apply_to=new_attack + name=staff of radiance + description= {STR_ART_ARCANE} + icon=attacks/lightbeam.png + type=arcane + range=ranged + [specials] + {WEAPON_SPECIAL_MAGICAL} + [/specials] + damage=11 + number=3 + [/effect] + [effect] + apply_to=new_animation + name=staff of radiance + [attack_anim] + [filter_attack] + name=staff of radiance + [/filter_attack] + {MISSILE_FRAME_LIGHT_BEAM} + [if] + hits=yes + [frame] + begin=-75 + end=0 + sound={SOUND_LIST:HOLY} + [/frame] + [/if] + [else] + hits=no + [frame] + begin=-75 + end=0 + sound={SOUND_LIST:HOLY_MISS} + [/frame] + [/else] + [/attack_anim] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_BERSEK_NAME} + icon=items/flame-sword.png + description={STR_MELEE}+": "+ {STR_FURY} + info= {STR_ITEM_BERSEK_INFO} + sound=dagger-swish.wav + not_available=player + [filter] + formula = "size(filter(attacks, range = 'melee')) > 0" + [/filter] + [effect] + apply_to=attack + range=melee + [set_specials] + mode=append + [berserk] + id=wct_fury + name= {STR_FURY} + female_name= {STR_FURY} + description= {STR_FURY_DESCRIPTION} + value=3 + [/berserk] + [/set_specials] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_STRIKES_R_NAME} + icon=items/bow-elven.png + description={STR_RANGED}+"-"+{STR_BLADE}+"/"+{STR_IMPACT}+"/"+{STR_PIERCE}+": +60% "+{STR_STRIKES}+{STR_AND}+"+1 "+{STR_DAMAGE} + info= {STR_ITEM_STRIKES_R_INFO} + sound=dagger-swish.wav + not_available=enemy,player + [filter] + formula = "size(filter(attacks, range = 'ranged' and (type = 'pierce' or type = 'blade' or type = 'impact'))) > 0" + [/filter] + [effect] + apply_to=attack + range=ranged + type=pierce,blade,impact + increase_attacks=60% + increase_damage=1 + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_DARKNESS_NAME} + icon=items/scarecrow.png + description= {STR_DARKNESS}+", "+{STR_CHAOTIC}+", "+{STR_CORRUPTION}+", "+{STR_DISTRACT} + info= {STR_ITEM_DARKNESS_INFO} + sound_male=dwarf-laugh.wav + sound_female=witches-laugh.wav + [effect] + apply_to=remove_ability + [abilities] + [illuminates] + id=illumination + [/illuminates] + [/abilities] + [/effect] + [effect] + apply_to=new_ability + [abilities] + {WCT_ABILITY_DISTRACT} + [illuminates] + id=darkness + value=-25 + min_value=-25 + cumulative=no + name= {STR_DARKNESS} + female_name= {STR_DARKNESS} + description= {STR_DARKNESS_DESCRIPTION} + affect_self=yes + [/illuminates] + [dummy] + id=wc2_corruption + name= {STR_CORRUPTION} + female_name= {STR_CORRUPTION} + description= {STR_CORRUPTION_DESCRIPTION} + [/dummy] + [/abilities] + [/effect] + [effect] + apply_to="alignment" + set="chaotic" + [/effect] + [effect] + apply_to=wc2_update_aura + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_TELEPORT_NAME} + icon=items/key.png + description={STR_TELEPORT} + info= {STR_ITEM_TELEPORT_INFO} + sound=dagger-swish.wav + not_available=enemy + [effect] + apply_to=new_animation + [animation] + apply_to=pre_teleport + {TELEPORT_OUT_ANIMATION} + [/animation] + [animation] + apply_to=post_teleport + {TELEPORT_IN_ANIMATION} + [/animation] + [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_TELEPORT} + [/abilities] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_XP_NAME} + icon=items/book1.png + description="-50% "+{STR_EXPERIENCE} + info= {STR_ITEM_XP_INFO} + {WCT_ANIMATION idling} + [effect] + apply_to=max_experience + increase=-50% + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_ATTACK_FIRE_NAME} + icon=items/storm-trident.png + description="17-2 "+{STR_RANGED}+"-"+{STR_FIRE}+" "+{STR_MAGICAL} + info= {STR_ITEM_ATTACK_FIRE_INFO} + sound=dagger-swish.wav + [effect] + apply_to=new_attack + name=storm trident + description= {STR_ART_FIRE} + icon=attacks/lightning.png + type=fire + range=ranged + [specials] + {WEAPON_SPECIAL_MAGICAL} + [/specials] + damage=17 + number=2 + [/effect] + {LIGHTNING_ANIMATION "storm trident" 1} + {LIGHTNING_ANIMATION "storm trident" 2} + {LIGHTNING_ANIMATION "storm trident" 3} + [/artifact] + [artifact] + name= {STR_ITEM_REGENERATES_NAME} + icon=items/potion-grey.png + description={STR_REGENERATES} + info= {STR_ITEM_REGENERATES_INFO} + sound=potion.ogg + [effect] + apply_to=new_ability + [abilities] + {ABILITY_REGENERATES} + [/abilities] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_LEADERSHIP_NAME} + icon=items/orcish-flag.png + description= {STR_ITEM_LEADERSHIP_DESC} + info= {STR_ITEM_LEADERSHIP_INFO} + {WCT_ANIMATION leading} + {WCT_ANIMATION leading} + [effect] + apply_to=new_ability + [abilities] + [leadership] + id=banner + value=20 + cumulative=yes + name= {STR_BANNER} + female_name= {STR_BANNER} + description= {STR_BANNER_DESCRIPTION} + affect_self=no + affect_allies=yes + [affect_adjacent] + adjacent=n,ne,se,s,sw,nw + [/affect_adjacent] + [/leadership] + [/abilities] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_FLYING_NAME} + icon=items/staff.png + description= {STR_FLIGHT} + info= {STR_ITEM_FLYING_INFO} + sound=dagger-swish.wav + [effect] + apply_to=movement_costs + replace=true + [movement_costs] + deep_water=1 + shallow_water=1 + swamp_water=1 + flat=1 + sand=1 + forest=1 + hills=1 + mountains=1 + village=1 + castle=1 + frozen=1 + unwalkable=1 + reef=1 + [/movement_costs] + [/effect] + [effect] + apply_to = wc2_min_defense + [defense] + deep_water=50 + shallow_water=50 + swamp_water=50 + flat=50 + sand=50 + forest=50 + hills=50 + mountains=50 + castle=50 + frozen=50 + unwalkable=50 + reef=50 + [/defense] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_SNOW_NAME} + icon=items/flower3.png + description="+15 "+{STR_HITPOINTS}+", "+{STR_UP_TO 20}+{STR_RESISTANCE}+{STR_COLD} + info= {STR_ITEM_SNOW_INFO} + sound=heal.wav + [effect] + apply_to=hitpoints + increase=15 + increase_total=15 + [/effect] + [effect] + apply_to = wc2_min_resistance + [resistance] + cold = 80 + [/resistance] + [/effect] + [/artifact] + [artifact] + name= {STR_ITEM_SKIRMISHER_NAME} + icon=items/cloak-green.png + description={STR_SKIRMISHER}+", "+{STR_AMBUSH}+", "+{STR_NIGHTSTALK}+", +2 "+{STR_MOVES} + info= {STR_ITEM_SKIRMISHER_INFO} + sound=bat-flapping.wav + [effect] + apply_to=new_ability + [abilities] + {ABILITY_SKIRMISHER} + {ABILITY_AMBUSH} + {ABILITY_NIGHTSTALK} + [/abilities] + [/effect] + [effect] + apply_to=movement + increase=2 + [/effect] + [/artifact] #enddef #define WCT_ANIMATION FLAG - [animate_unit] - flag={FLAG} - [filter] - x,y=$unit.x,$unit.y - [/filter] - [/animate_unit] + [animate_unit] + flag={FLAG} + [filter] + x,y=$unit.x,$unit.y + [/filter] + [/animate_unit] #enddef #define WCT_ANIMATION_RING FLAG RGB - {WCT_ANIMATION {FLAG}} - [effect] - apply_to=new_animation - name={FLAG} - [animation] - apply_to={FLAG} - blend_ratio="1~0:600" - blend_color={RGB} - [frame] - begin=0 - end=500 - image=$unit.image - [/frame] - [/animation] - [/effect] + {WCT_ANIMATION {FLAG}} + [effect] + apply_to=new_animation + name={FLAG} + [animation] + apply_to={FLAG} + blend_ratio="1~0:600" + blend_color={RGB} + [frame] + begin=0 + end=500 + image=$unit.image + [/frame] + [/animation] + [/effect] #enddef diff --git a/data/campaigns/World_Conquest/resources/data/training.cfg b/data/campaigns/World_Conquest/resources/data/training.cfg index a1ff8f03a05c..285623c1e162 100644 --- a/data/campaigns/World_Conquest/resources/data/training.cfg +++ b/data/campaigns/World_Conquest/resources/data/training.cfg @@ -1,794 +1,794 @@ #define WORLD_CONQUEST_TEK_TRAINER_DEFINITIONS - [trainer] - type=Lich - advanced_type=Ancient Lich - image=attacks/curse.png - name= {STR_DARK_NAME} - dialogue= {STR_DARK_FOUND} - [grade] - [/grade] - [grade] - {WCT_CHANCE_FEEDING 3} - {WCT_CHANCE_SP 2 MELEE PLAGUE} - {WCT_CHANCE_SP 1 RANGED PLAGUE} - {WCT_CHANCE_SP 1 MELEE DRAIN} - {WCT_CHANCE_SP 1 RANGED DRAIN} - {WCT_CHANCE_SP 1 MELEE POISON} - {WCT_CHANCE_SP 1 RANGED POISON} - {WCT_CHANCE_DARK_DEFENSE CAVE 7} - {WCT_CHANCE_DARK_DEFENSE MUSHROOM 6} - [/grade] - [grade] - {WCT_CHANCE_FEEDING 7} - {WCT_CHANCE_ABILITY 2 REGENERATES} - {WCT_CHANCE_SP 5 MELEE PLAGUE} - {WCT_CHANCE_SP 2 RANGED PLAGUE} - {WCT_CHANCE_SP 2 MELEE DRAIN} - {WCT_CHANCE_SP 2 RANGED DRAIN} - {WCT_CHANCE_SP 2 MELEE POISON} - {WCT_CHANCE_SP 2 RANGED POISON} - {WCT_CHANCE_DARK_DEFENSE CAVE 16} - {WCT_CHANCE_DARK_DEFENSE MUSHROOM 13} - [/grade] - [grade] - {WCT_CHANCE_FEEDING 12} - {WCT_CHANCE_ABILITY 5 REGENERATES} - {WCT_CHANCE_TELEPORT 1} - {WCT_CHANCE_SP 10 MELEE PLAGUE} - {WCT_CHANCE_SP 3 RANGED PLAGUE} - {WCT_CHANCE_SP 4 MELEE DRAIN} - {WCT_CHANCE_SP 3 RANGED DRAIN} - {WCT_CHANCE_SP 3 MELEE POISON} - {WCT_CHANCE_SP 4 RANGED POISON} - {WCT_CHANCE_SP 1 MELEE SLOW} - {WCT_CHANCE_SP 1 RANGED SLOW} - {WCT_CHANCE_ARCANE_BOOST 1 MELEE} - {WCT_CHANCE_ARCANE_BOOST 1 RANGED} - {WCT_CHANCE_DARK_DEFENSE CAVE 29} - {WCT_CHANCE_DARK_DEFENSE MUSHROOM 21} - [/grade] - [/trainer] - [trainer] - type=Duelist - advanced_type=Master at Arms - image=icons/boots_elven.png - name= {STR_MOVEMENT_NAME} - dialogue= {STR_MOVEMENT_FOUND} - [grade] - [/grade] - [grade] - {WCT_CHANCE_MOVEMENT 52 1} - [/grade] - [grade] - {WCT_CHANCE_MOVEMENT 100 22%} - {WCT_CHANCE_MOVE_ON_RECRUIT 11} - {WCT_CHANCE_MOVEMENT_DEFENSE 2} - {WCT_CHANCE_OPTIONAL_CHARGE 1} - [/grade] - [/trainer] - [trainer] - type=Orcish Warrior - advanced_type=Orcish Warlord - image=attacks/halberd.png - name= {STR_MELEE_NAME} - dialogue= {STR_MELEE_FOUND} - [grade] - [/grade] - [grade] - {WCT_CHANCE_SP 1 MELEE FIRSTSTRIKE} - {WCT_CHANCE_DAMAGE_PER_LEVEL 4 MELEE} - {WCT_CHANCE_DAMAGE 33 MELEE 13%} - {WCT_CHANCE_HP 20 1} - {WCT_CHANCE_URBAN_DEFENSE 4} - [/grade] - [grade] - {WCT_CHANCE_SP 3 MELEE FIRSTSTRIKE} - {WCT_CHANCE_SP 2 MELEE MARKSMAN} - {WCT_CHANCE_DAMAGE 1 MELEE 2} - {WCT_CHANCE_DAMAGE_PER_LEVEL 9 MELEE} - {WCT_CHANCE_DAMAGE 66 MELEE 14%} - {WCT_CHANCE_HP 44 1} - {WCT_CHANCE_URBAN_DEFENSE 9} - [/grade] - [grade] - {WCT_CHANCE_SP 7 MELEE FIRSTSTRIKE} - {WCT_CHANCE_SP 5 MELEE MARKSMAN} - [chance] - value=2 - info={STR_MELEE}+": +1 "+{STR_STRIKES} - [effect] - apply_to=attack - range=melee - increase_attacks=1 - [/effect] - [/chance] - {WCT_CHANCE_DAMAGE 3 MELEE 2} - {WCT_CHANCE_DAMAGE_PER_LEVEL 15 MELEE} - {WCT_CHANCE_DAMAGE 100 MELEE 15%} - {WCT_CHANCE_HP 72 1} - {WCT_CHANCE_URBAN_DEFENSE 15} - [/grade] - [/trainer] - [trainer] - type=Elvish Ranger - advanced_type=Elvish Avenger - image=attacks/bow-elven.png - name= {STR_RANGER_NAME} - dialogue= {STR_RANGER_FOUND} - [grade] - [/grade] - [grade] - {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 8 1} - {WCT_CHANCE_FEARLESS 2} - {WCT_CHANCE_ABILITY 5 AMBUSH} - {WCT_CHANCE_ABILITY 1 NIGHTSTALK} - {WCT_CHANCE_ABILITY 1 CONCEALMENT} - {WCT_CHANCE_DAMAGE_PER_LEVEL 28 RANGED} - [/grade] - [grade] - {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 17 2} - {WCT_CHANCE_FEARLESS 5} - {CHANCE_WCT_ABILITY 3 DISTRACT} - {WCT_CHANCE_ABILITY 13 AMBUSH} - {WCT_CHANCE_ABILITY 4 NIGHTSTALK} - {WCT_CHANCE_ABILITY 4 CONCEALMENT} - {WCT_CHANCE_RANGED_DISENGAGE 2} - {WCT_CHANCE_DAMAGE_PER_LEVEL 56 RANGED} - [/grade] - [grade] - {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 27 3} - {WCT_CHANCE_FEARLESS 9} - {WCT_CHANCE_BACKSTAB 2} - {CHANCE_WCT_ABILITY 7 DISTRACT} - {WCT_CHANCE_ABILITY 3 SKIRMISHER} - {WCT_CHANCE_ABILITY 24 AMBUSH} - {WCT_CHANCE_ABILITY 9 NIGHTSTALK} - {WCT_CHANCE_ABILITY 9 CONCEALMENT} - {WCT_CHANCE_RANGED_DISENGAGE 5} - {WCT_CHANCE_DAMAGE_PER_LEVEL 84 RANGED} - [/grade] - [/trainer] - [trainer] - type=Drake Flare - advanced_type=Drake Flameheart - image=icons/letter_and_ale.png - name= {STR_EXPERIENCE_NAME} - dialogue= {STR_EXPERIENCE_FOUND} - [grade] - [/grade] - [grade] - {WCT_CHANCE_LEADERSHIP 1} - {WCT_CHANCE_ABILITY 3 UNPOISON} - {WCT_CHANCE_LOYAL 1} - {WCT_CHANCE_XP 73 -10%} - [/grade] - [grade] - {WCT_CHANCE_LEADERSHIP 3} - {WCT_CHANCE_HEALS_UNPOISON 3} - {WCT_CHANCE_LOYAL 2} - {WCT_CHANCE_XP 73 -20%} - [/grade] - [grade] - {WCT_CHANCE_LEADERSHIP 6} - {WCT_CHANCE_ABILITY 3 CURES} - {WCT_CHANCE_LOYAL 3} - {WCT_CHANCE_XP 73 -30%} - [/grade] - [/trainer] - [trainer] - type=Dwarvish Runesmith - advanced_type=Dwarvish Runemaster - image=icons/cuirass_muscled.png - name= {STR_HEALTH_NAME} - dialogue= {STR_HEALTH_FOUND} - [grade] - [/grade] - [grade] - {CHANCE_WCT_ABILITY 5 TENACITY} - {WCT_CHANCE_ALWAYS_REST 3} - {WCT_CHANCE_HP_PER_LEVEL 78 1} - {WCT_CHANCE_HP 25 2} - {WCT_CHANCE_HP 10 10%} - [/grade] - [grade] - {CHANCE_WCT_ABILITY 11 TENACITY} - {WCT_CHANCE_ALWAYS_REST 6} - {WCT_CHANCE_HP_PER_LEVEL 78 2} - {WCT_CHANCE_HP 25 4} - {WCT_CHANCE_HP 20 10%} - [/grade] - [grade] - {CHANCE_WCT_ABILITY 18 TENACITY} - {WCT_CHANCE_ALWAYS_REST 9} - {WCT_CHANCE_HP_PER_LEVEL 78 3} - {WCT_CHANCE_HP 25 6} - {WCT_CHANCE_HP 30 10%} - [/grade] - [/trainer] + [trainer] + type=Lich + advanced_type=Ancient Lich + image=attacks/curse.png + name= {STR_DARK_NAME} + dialogue= {STR_DARK_FOUND} + [grade] + [/grade] + [grade] + {WCT_CHANCE_FEEDING 3} + {WCT_CHANCE_SP 2 MELEE PLAGUE} + {WCT_CHANCE_SP 1 RANGED PLAGUE} + {WCT_CHANCE_SP 1 MELEE DRAIN} + {WCT_CHANCE_SP 1 RANGED DRAIN} + {WCT_CHANCE_SP 1 MELEE POISON} + {WCT_CHANCE_SP 1 RANGED POISON} + {WCT_CHANCE_DARK_DEFENSE CAVE 7} + {WCT_CHANCE_DARK_DEFENSE MUSHROOM 6} + [/grade] + [grade] + {WCT_CHANCE_FEEDING 7} + {WCT_CHANCE_ABILITY 2 REGENERATES} + {WCT_CHANCE_SP 5 MELEE PLAGUE} + {WCT_CHANCE_SP 2 RANGED PLAGUE} + {WCT_CHANCE_SP 2 MELEE DRAIN} + {WCT_CHANCE_SP 2 RANGED DRAIN} + {WCT_CHANCE_SP 2 MELEE POISON} + {WCT_CHANCE_SP 2 RANGED POISON} + {WCT_CHANCE_DARK_DEFENSE CAVE 16} + {WCT_CHANCE_DARK_DEFENSE MUSHROOM 13} + [/grade] + [grade] + {WCT_CHANCE_FEEDING 12} + {WCT_CHANCE_ABILITY 5 REGENERATES} + {WCT_CHANCE_TELEPORT 1} + {WCT_CHANCE_SP 10 MELEE PLAGUE} + {WCT_CHANCE_SP 3 RANGED PLAGUE} + {WCT_CHANCE_SP 4 MELEE DRAIN} + {WCT_CHANCE_SP 3 RANGED DRAIN} + {WCT_CHANCE_SP 3 MELEE POISON} + {WCT_CHANCE_SP 4 RANGED POISON} + {WCT_CHANCE_SP 1 MELEE SLOW} + {WCT_CHANCE_SP 1 RANGED SLOW} + {WCT_CHANCE_ARCANE_BOOST 1 MELEE} + {WCT_CHANCE_ARCANE_BOOST 1 RANGED} + {WCT_CHANCE_DARK_DEFENSE CAVE 29} + {WCT_CHANCE_DARK_DEFENSE MUSHROOM 21} + [/grade] + [/trainer] + [trainer] + type=Duelist + advanced_type=Master at Arms + image=icons/boots_elven.png + name= {STR_MOVEMENT_NAME} + dialogue= {STR_MOVEMENT_FOUND} + [grade] + [/grade] + [grade] + {WCT_CHANCE_MOVEMENT 52 1} + [/grade] + [grade] + {WCT_CHANCE_MOVEMENT 100 22%} + {WCT_CHANCE_MOVE_ON_RECRUIT 11} + {WCT_CHANCE_MOVEMENT_DEFENSE 2} + {WCT_CHANCE_OPTIONAL_CHARGE 1} + [/grade] + [/trainer] + [trainer] + type=Orcish Warrior + advanced_type=Orcish Warlord + image=attacks/halberd.png + name= {STR_MELEE_NAME} + dialogue= {STR_MELEE_FOUND} + [grade] + [/grade] + [grade] + {WCT_CHANCE_SP 1 MELEE FIRSTSTRIKE} + {WCT_CHANCE_DAMAGE_PER_LEVEL 4 MELEE} + {WCT_CHANCE_DAMAGE 33 MELEE 13%} + {WCT_CHANCE_HP 20 1} + {WCT_CHANCE_URBAN_DEFENSE 4} + [/grade] + [grade] + {WCT_CHANCE_SP 3 MELEE FIRSTSTRIKE} + {WCT_CHANCE_SP 2 MELEE MARKSMAN} + {WCT_CHANCE_DAMAGE 1 MELEE 2} + {WCT_CHANCE_DAMAGE_PER_LEVEL 9 MELEE} + {WCT_CHANCE_DAMAGE 66 MELEE 14%} + {WCT_CHANCE_HP 44 1} + {WCT_CHANCE_URBAN_DEFENSE 9} + [/grade] + [grade] + {WCT_CHANCE_SP 7 MELEE FIRSTSTRIKE} + {WCT_CHANCE_SP 5 MELEE MARKSMAN} + [chance] + value=2 + info={STR_MELEE}+": +1 "+{STR_STRIKES} + [effect] + apply_to=attack + range=melee + increase_attacks=1 + [/effect] + [/chance] + {WCT_CHANCE_DAMAGE 3 MELEE 2} + {WCT_CHANCE_DAMAGE_PER_LEVEL 15 MELEE} + {WCT_CHANCE_DAMAGE 100 MELEE 15%} + {WCT_CHANCE_HP 72 1} + {WCT_CHANCE_URBAN_DEFENSE 15} + [/grade] + [/trainer] + [trainer] + type=Elvish Ranger + advanced_type=Elvish Avenger + image=attacks/bow-elven.png + name= {STR_RANGER_NAME} + dialogue= {STR_RANGER_FOUND} + [grade] + [/grade] + [grade] + {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 8 1} + {WCT_CHANCE_FEARLESS 2} + {WCT_CHANCE_ABILITY 5 AMBUSH} + {WCT_CHANCE_ABILITY 1 NIGHTSTALK} + {WCT_CHANCE_ABILITY 1 CONCEALMENT} + {WCT_CHANCE_DAMAGE_PER_LEVEL 28 RANGED} + [/grade] + [grade] + {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 17 2} + {WCT_CHANCE_FEARLESS 5} + {CHANCE_WCT_ABILITY 3 DISTRACT} + {WCT_CHANCE_ABILITY 13 AMBUSH} + {WCT_CHANCE_ABILITY 4 NIGHTSTALK} + {WCT_CHANCE_ABILITY 4 CONCEALMENT} + {WCT_CHANCE_RANGED_DISENGAGE 2} + {WCT_CHANCE_DAMAGE_PER_LEVEL 56 RANGED} + [/grade] + [grade] + {WCT_CHANCES_RANGER_TERRAIN_SPECIALS 27 3} + {WCT_CHANCE_FEARLESS 9} + {WCT_CHANCE_BACKSTAB 2} + {CHANCE_WCT_ABILITY 7 DISTRACT} + {WCT_CHANCE_ABILITY 3 SKIRMISHER} + {WCT_CHANCE_ABILITY 24 AMBUSH} + {WCT_CHANCE_ABILITY 9 NIGHTSTALK} + {WCT_CHANCE_ABILITY 9 CONCEALMENT} + {WCT_CHANCE_RANGED_DISENGAGE 5} + {WCT_CHANCE_DAMAGE_PER_LEVEL 84 RANGED} + [/grade] + [/trainer] + [trainer] + type=Drake Flare + advanced_type=Drake Flameheart + image=icons/letter_and_ale.png + name= {STR_EXPERIENCE_NAME} + dialogue= {STR_EXPERIENCE_FOUND} + [grade] + [/grade] + [grade] + {WCT_CHANCE_LEADERSHIP 1} + {WCT_CHANCE_ABILITY 3 UNPOISON} + {WCT_CHANCE_LOYAL 1} + {WCT_CHANCE_XP 73 -10%} + [/grade] + [grade] + {WCT_CHANCE_LEADERSHIP 3} + {WCT_CHANCE_HEALS_UNPOISON 3} + {WCT_CHANCE_LOYAL 2} + {WCT_CHANCE_XP 73 -20%} + [/grade] + [grade] + {WCT_CHANCE_LEADERSHIP 6} + {WCT_CHANCE_ABILITY 3 CURES} + {WCT_CHANCE_LOYAL 3} + {WCT_CHANCE_XP 73 -30%} + [/grade] + [/trainer] + [trainer] + type=Dwarvish Runesmith + advanced_type=Dwarvish Runemaster + image=icons/cuirass_muscled.png + name= {STR_HEALTH_NAME} + dialogue= {STR_HEALTH_FOUND} + [grade] + [/grade] + [grade] + {CHANCE_WCT_ABILITY 5 TENACITY} + {WCT_CHANCE_ALWAYS_REST 3} + {WCT_CHANCE_HP_PER_LEVEL 78 1} + {WCT_CHANCE_HP 25 2} + {WCT_CHANCE_HP 10 10%} + [/grade] + [grade] + {CHANCE_WCT_ABILITY 11 TENACITY} + {WCT_CHANCE_ALWAYS_REST 6} + {WCT_CHANCE_HP_PER_LEVEL 78 2} + {WCT_CHANCE_HP 25 4} + {WCT_CHANCE_HP 20 10%} + [/grade] + [grade] + {CHANCE_WCT_ABILITY 18 TENACITY} + {WCT_CHANCE_ALWAYS_REST 9} + {WCT_CHANCE_HP_PER_LEVEL 78 3} + {WCT_CHANCE_HP 25 6} + {WCT_CHANCE_HP 30 10%} + [/grade] + [/trainer] #enddef ## chance Macros ## unit with already trait, abilty or special gets +1 HP #define WCT_CHANCE_RANGED_DISENGAGE CHANCE - [chance] - value={CHANCE} - info={STR_RANGED}+": "+{STR_DISENGAGE} - [effect] - apply_to=attack - range=ranged - {WCT_WEAPON_SPECIAL_DISENGAGE} - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_RANGED}+": "+{STR_DISENGAGE} + [effect] + apply_to=attack + range=ranged + {WCT_WEAPON_SPECIAL_DISENGAGE} + [/effect] + [/chance] #enddef #define WCT_WEAPON_SPECIAL_DISENGAGE - [set_specials] - mode=append - [dummy] - id=wc2_disengage - name= {STR_DISENGAGE} - description= {STR_DISENGAGE_DESCRIPTION} - [filter_self] - ## works around a bug with special_actve filter. - [/filter_self] - [/dummy] - [/set_specials] + [set_specials] + mode=append + [dummy] + id=wc2_disengage + name= {STR_DISENGAGE} + description= {STR_DISENGAGE_DESCRIPTION} + [filter_self] + ## works around a bug with special_actve filter. + [/filter_self] + [/dummy] + [/set_specials] #enddef #define WCT_CHANCE_MOVE_ON_RECRUIT CHANCE - [chance] - value={CHANCE} - info={STR_MOVE_ON_RECRUIT} - [effect] - apply_to="wc2_move_on_recruit" - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_MOVE_ON_RECRUIT} + [effect] + apply_to="wc2_move_on_recruit" + [/effect] + [/chance] #enddef #define WCT_CHANCE_ALWAYS_REST CHANCE - [chance] - value={CHANCE} - info={STR_ALWAYS_REST} - [effect] - [filter] - [filter_wml] - [modifications] - [trait] - id=healthy - [/trait] - [/modifications] - [/filter_wml] - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - apply_to==healthy - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_ALWAYS_REST} + [effect] + [filter] + [filter_wml] + [modifications] + [trait] + id=healthy + [/trait] + [/modifications] + [/filter_wml] + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + apply_to==healthy + [/effect] + [/chance] #enddef #define WCT_CHANCE_FEARLESS CHANCE - ## using unit.role, wich is dirty :/ - ## (but couldnt find a better way using modify_unit) - [chance] - value={CHANCE} - info={STR_FEARLESS} - [filter] - [not] - [filter_wml] - [modifications] - [trait] - id=fearless - [/trait] - [/modifications] - [/filter_wml] - [/not] - [not] - [filter_wml] - alignment=neutral - [/filter_wml] - [/not] - [/filter] - [effect] - apply_to="fearless" - [/effect] - [/chance] + ## using unit.role, wich is dirty :/ + ## (but couldnt find a better way using modify_unit) + [chance] + value={CHANCE} + info={STR_FEARLESS} + [filter] + [not] + [filter_wml] + [modifications] + [trait] + id=fearless + [/trait] + [/modifications] + [/filter_wml] + [/not] + [not] + [filter_wml] + alignment=neutral + [/filter_wml] + [/not] + [/filter] + [effect] + apply_to="fearless" + [/effect] + [/chance] #enddef #define WCT_CHANCE_SP CHANCE RANGE SPECIAL - [chance] - value={CHANCE} - info=_"$range|: $special|" - [info_data] - range={STR_{RANGE}} - special={STR_{SPECIAL}} - [/info_data] - [effect] - [filter] - [filter_wml] - [attack] - range={STR_ID_{RANGE}} - [specials] - {WEAPON_SPECIAL_{SPECIAL}} - [/specials] - [/attack] - [/filter_wml] - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - apply_to=attack - range={STR_ID_{RANGE}} - remove_specials={STR_ID_{SPECIAL}} - [set_specials] - mode=append - {WEAPON_SPECIAL_{SPECIAL}} - [/set_specials] - [/effect] - [/chance] + [chance] + value={CHANCE} + info=_"$range|: $special|" + [info_data] + range={STR_{RANGE}} + special={STR_{SPECIAL}} + [/info_data] + [effect] + [filter] + [filter_wml] + [attack] + range={STR_ID_{RANGE}} + [specials] + {WEAPON_SPECIAL_{SPECIAL}} + [/specials] + [/attack] + [/filter_wml] + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + apply_to=attack + range={STR_ID_{RANGE}} + remove_specials={STR_ID_{SPECIAL}} + [set_specials] + mode=append + {WEAPON_SPECIAL_{SPECIAL}} + [/set_specials] + [/effect] + [/chance] #enddef #define WCT_CHANCE_ABILITY CHANCE ABILITY - [chance] - value={CHANCE} - info={STR_{ABILITY}} - [effect] - [filter] - ability={STR_ID_{ABILITY}} - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - ## must remove heals +4 in order to apply heals +8 - [effect] - apply_to=remove_ability - [abilities] - [{STR_TAG_{ABILITY}}] - id={STR_ID_{ABILITY}} - [/{STR_TAG_{ABILITY}}] - [/abilities] - [/effect] - [effect] - apply_to=new_ability - [abilities] - {ABILITY_{ABILITY}} - [/abilities] - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_{ABILITY}} + [effect] + [filter] + ability={STR_ID_{ABILITY}} + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + ## must remove heals +4 in order to apply heals +8 + [effect] + apply_to=remove_ability + [abilities] + [{STR_TAG_{ABILITY}}] + id={STR_ID_{ABILITY}} + [/{STR_TAG_{ABILITY}}] + [/abilities] + [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_{ABILITY}} + [/abilities] + [/effect] + [/chance] #enddef #define CHANCE_WCT_ABILITY CHANCE ABILITY - [chance] - value={CHANCE} - info={STR_{ABILITY}} - [effect] - apply_to=new_ability - [abilities] - {WCT_ABILITY_{ABILITY}} - [/abilities] - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_{ABILITY}} + [effect] + apply_to=new_ability + [abilities] + {WCT_ABILITY_{ABILITY}} + [/abilities] + [/effect] + [/chance] #enddef #define WCT_ABILITY_DISTRACT - [skirmisher] - id=distract - name= {STR_DISTRACT} - female_name= {STR_DISTRACT} - description= {STR_DISTRACT_DESCRIPTION} - affect_self=no - affect_allies=yes - [affect_adjacent] - adjacent=n,ne,se,s,sw,nw - [filter] - [not] - id=$unit.id - [/not] - [/filter] - [/affect_adjacent] - [/skirmisher] + [skirmisher] + id=distract + name= {STR_DISTRACT} + female_name= {STR_DISTRACT} + description= {STR_DISTRACT_DESCRIPTION} + affect_self=no + affect_allies=yes + [affect_adjacent] + adjacent=n,ne,se,s,sw,nw + [filter] + [not] + id=$unit.id + [/not] + [/filter] + [/affect_adjacent] + [/skirmisher] #enddef #define WCT_ABILITY_TENACITY - [resistance] - id=tenacity - divide=2 - max_value=0 - [filter_base_value] - less_than=0 - [/filter_base_value] - name= {STR_TENACITY} - female_name= {STR_TENACITY} - description= {STR_TENACITY_DESCRIPTION} - affect_self=yes - active_on=defense - [/resistance] + [resistance] + id=tenacity + divide=2 + max_value=0 + [filter_base_value] + less_than=0 + [/filter_base_value] + name= {STR_TENACITY} + female_name= {STR_TENACITY} + description= {STR_TENACITY_DESCRIPTION} + affect_self=yes + active_on=defense + [/resistance] #enddef #define WCT_CHANCE_BACKSTAB CHANCE - [chance] - value={CHANCE} - info={STR_BACKSTAB} - [effect] - [filter] - [filter_wml] - [attack] - [specials] - {WEAPON_SPECIAL_BACKSTAB} - [/specials] - [/attack] - [/filter_wml] - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - apply_to=attack - remove_specials=backstab - [set_specials] - mode=append - {WEAPON_SPECIAL_BACKSTAB} - [/set_specials] - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_BACKSTAB} + [effect] + [filter] + [filter_wml] + [attack] + [specials] + {WEAPON_SPECIAL_BACKSTAB} + [/specials] + [/attack] + [/filter_wml] + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + apply_to=attack + remove_specials=backstab + [set_specials] + mode=append + {WEAPON_SPECIAL_BACKSTAB} + [/set_specials] + [/effect] + [/chance] #enddef #define WCT_CHANCE_HEALS_UNPOISON CHANCE - [chance] - value={CHANCE} - info={STR_HEALS_UNPOISON} - [effect] - [filter] - ability=healing - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - apply_to=new_ability - [abilities] - {ABILITY_HEALS} - {ABILITY_UNPOISON} - [/abilities] - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_HEALS_UNPOISON} + [effect] + [filter] + ability=healing + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_HEALS} + {ABILITY_UNPOISON} + [/abilities] + [/effect] + [/chance] #enddef #define WCT_FEEDING - [effect] - apply_to=new_ability - [abilities] - {ABILITY_FEEDING} - [/abilities] - [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_FEEDING} + [/abilities] + [/effect] #enddef #define WCT_CHANCE_FEEDING CHANCE - [chance] - value={CHANCE} - info={STR_FEEDING} - [effect] - [filter] - ability=feeding - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - {WCT_FEEDING} - [/chance] + [chance] + value={CHANCE} + info={STR_FEEDING} + [effect] + [filter] + ability=feeding + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + {WCT_FEEDING} + [/chance] #enddef #define WCT_LEADERSHIP - [effect] - apply_to=new_ability - [abilities] - {ABILITY_LEADERSHIP} - [/abilities] - [/effect] + [effect] + apply_to=new_ability + [abilities] + {ABILITY_LEADERSHIP} + [/abilities] + [/effect] #enddef #define WCT_CHANCE_LEADERSHIP CHANCE - [chance] - value={CHANCE} - info={STR_LEADERSHIP} - [effect] - [filter] - ability=leadership - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - {WCT_LEADERSHIP} - [/chance] + [chance] + value={CHANCE} + info={STR_LEADERSHIP} + [effect] + [filter] + ability=leadership + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + {WCT_LEADERSHIP} + [/chance] #enddef #define WCT_CHANCE_MOVEMENT CHANCE BOOST - [chance] - value={CHANCE} - info= _"+$boost| moves" - [info_data] - boost={BOOST} - [/info_data] - [effect] - apply_to=movement - increase={BOOST} - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"+$boost| moves" + [info_data] + boost={BOOST} + [/info_data] + [effect] + apply_to=movement + increase={BOOST} + [/effect] + [/chance] #enddef #define WCT_CHANCE_DAMAGE CHANCE RANGE BOOST - [chance] - value={CHANCE} - info= _"$range|: +$boost| damage" - [info_data] - range={STR_{RANGE}} - boost={BOOST} - [/info_data] - [effect] - apply_to=attack - range={STR_ID_{RANGE}} - increase_damage={BOOST} - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"$range|: +$boost| damage" + [info_data] + range={STR_{RANGE}} + boost={BOOST} + [/info_data] + [effect] + apply_to=attack + range={STR_ID_{RANGE}} + increase_damage={BOOST} + [/effect] + [/chance] #enddef #define WCT_CHANCE_DAMAGE_PER_LEVEL CHANCE RANGE - [chance] - value={CHANCE} - info= _"$range|: +1 damage per level" - [info_data] - range={STR_{RANGE}} - [/info_data] - [effect] - apply_to=attack - range={STR_ID_{RANGE}} - increase_damage=1 - times=per level - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"$range|: +1 damage per level" + [info_data] + range={STR_{RANGE}} + [/info_data] + [effect] + apply_to=attack + range={STR_ID_{RANGE}} + increase_damage=1 + times=per level + [/effect] + [/chance] #enddef #define WCT_CHANCE_HP CHANCE HP - [chance] - value={CHANCE} - info= _"+$hitpoints| hitpoints" - [info_data] - hitpoints={HP} - [/info_data] - [effect] - apply_to=hitpoints - increase_total={HP} - heal_full=yes - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"+$hitpoints| hitpoints" + [info_data] + hitpoints={HP} + [/info_data] + [effect] + apply_to=hitpoints + increase_total={HP} + heal_full=yes + [/effect] + [/chance] #enddef #define WCT_CHANCE_HP_PER_LEVEL CHANCE HP - [chance] - value={CHANCE} - info= _"+$hitpoints| hitpoints per level" - [info_data] - hitpoints={HP} - [/info_data] - [effect] - apply_to=hitpoints - times=per level - increase_total={HP} - heal_full=yes - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"+$hitpoints| hitpoints per level" + [info_data] + hitpoints={HP} + [/info_data] + [effect] + apply_to=hitpoints + times=per level + increase_total={HP} + heal_full=yes + [/effect] + [/chance] #enddef #define WCT_CHANCE_XP CHANCE VALUE - [chance] - value={CHANCE} - info= _"$value| XP to advance" - [info_data] - value={VALUE} - [/info_data] - [effect] - apply_to=max_experience - increase={VALUE} - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"$value| XP to advance" + [info_data] + value={VALUE} + [/info_data] + [effect] + apply_to=max_experience + increase={VALUE} + [/effect] + [/chance] #enddef #define WCT_CHANCE_LOYAL CHANCE - [chance] - value={CHANCE} - info={STR_FREE_UPKEEP} - [effect] - apply_to=loyal - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_FREE_UPKEEP} + [effect] + apply_to=loyal + [/effect] + [/chance] #enddef #define WCT_CHANCE_URBAN_DEFENSE CHANCE - [chance] - value={CHANCE} - info= _"Village/Castle: +5 defense" - [effect] - apply_to=defense - replace=false - [defense] - village=-5 - castle=-5 - [/defense] - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"Village/Castle: +5 defense" + [effect] + apply_to=defense + replace=false + [defense] + village=-5 + castle=-5 + [/defense] + [/effect] + [/chance] #enddef #define WCT_WILD_DEFENSE TERRAIN DEF - [effect] - apply_to=defense - replace=false - [defense] - {STR_ID_{TERRAIN}}=-{DEF} - [/defense] - [/effect] - [effect] - apply_to=movement_costs - replace=true - [movement_costs] - {STR_ID_{TERRAIN}}=1 - [/movement_costs] - [/effect] + [effect] + apply_to=defense + replace=false + [defense] + {STR_ID_{TERRAIN}}=-{DEF} + [/defense] + [/effect] + [effect] + apply_to=movement_costs + replace=true + [movement_costs] + {STR_ID_{TERRAIN}}=1 + [/movement_costs] + [/effect] #enddef #define WCT_CHANCE_RANGER_SP CHANCE TERRAIN DEF DMG_TYPE RES - [chance] - value={CHANCE} - info= _"$terrain|: +$def| defense and full movement, +$res| resistance vs $dmg_type|" - [info_data] - terrain={STR_{TERRAIN}} - def = {DEF} - res = {RES} - dmg_type= {STR_{DMG_TYPE}} - [/info_data] - {WCT_WILD_DEFENSE {TERRAIN} {DEF}} - [effect] - apply_to=resistance - replace=false - [resistance] - {STR_ID_{DMG_TYPE}}=-{RES} - [/resistance] - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"$terrain|: +$def| defense and full movement, +$res| resistance vs $dmg_type|" + [info_data] + terrain={STR_{TERRAIN}} + def = {DEF} + res = {RES} + dmg_type= {STR_{DMG_TYPE}} + [/info_data] + {WCT_WILD_DEFENSE {TERRAIN} {DEF}} + [effect] + apply_to=resistance + replace=false + [resistance] + {STR_ID_{DMG_TYPE}}=-{RES} + [/resistance] + [/effect] + [/chance] #enddef #define WCT_CHANCES_RANGER_TERRAIN_SPECIALS CHANCE GRADE - {WCT_CHANCE_RANGER_SP {CHANCE} FOREST "$(5+{GRADE})" PIERCE "$(8+{GRADE})"} - {WCT_CHANCE_RANGER_SP {CHANCE} HILLS "$(5+{GRADE})" IMPACT "$(8+{GRADE})"} - {WCT_CHANCE_RANGER_SP {CHANCE} SWAMP "$(5+{GRADE})" BLADE "$(8+{GRADE})"} - {WCT_CHANCE_RANGER_SP {CHANCE} SAND "$(5+{GRADE})" FIRE "$(8+{GRADE})"} - {WCT_CHANCE_RANGER_SP {CHANCE} FROZEN "$(8+2*{GRADE}+{GRADE}/3)" COLD "$(8+4*{GRADE})"} + {WCT_CHANCE_RANGER_SP {CHANCE} FOREST "$(5+{GRADE})" PIERCE "$(8+{GRADE})"} + {WCT_CHANCE_RANGER_SP {CHANCE} HILLS "$(5+{GRADE})" IMPACT "$(8+{GRADE})"} + {WCT_CHANCE_RANGER_SP {CHANCE} SWAMP "$(5+{GRADE})" BLADE "$(8+{GRADE})"} + {WCT_CHANCE_RANGER_SP {CHANCE} SAND "$(5+{GRADE})" FIRE "$(8+{GRADE})"} + {WCT_CHANCE_RANGER_SP {CHANCE} FROZEN "$(8+2*{GRADE}+{GRADE}/3)" COLD "$(8+4*{GRADE})"} #enddef #define WCT_CHANCE_DARK_DEFENSE TERRAIN CHANCE - [chance] - value={CHANCE} - info= _"$terrain|: +10 defense and full movement" - [info_data] - terrain={STR_{TERRAIN}} - [/info_data] - {WCT_WILD_DEFENSE {TERRAIN} 10} - [/chance] + [chance] + value={CHANCE} + info= _"$terrain|: +10 defense and full movement" + [info_data] + terrain={STR_{TERRAIN}} + [/info_data] + {WCT_WILD_DEFENSE {TERRAIN} 10} + [/chance] #enddef #define WCT_CHANCE_MOVEMENT_DEFENSE CHANCE - [chance] - value={CHANCE} - info= _"+moves defense" - [effect] - apply_to="wc2_moves_defense" - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"+moves defense" + [effect] + apply_to="wc2_moves_defense" + [/effect] + [/chance] #enddef #define WCT_CHANCE_OPTIONAL_CHARGE CHANCE - [chance] - value={CHANCE} - info= _"melee: optional charge" - [effect] - apply_to=attack - range=melee - remove_specials=charge - [/effect] - [effect] - apply_to=wc2_optional_attack - name_suffix = "_wc2_charge" - [filter_attack] - range=melee - [/filter_attack] - [attack] - [set_specials] - mode=append - {WEAPON_SPECIAL_CHARGE} - [/set_specials] - [/attack] - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"melee: optional charge" + [effect] + apply_to=attack + range=melee + remove_specials=charge + [/effect] + [effect] + apply_to=wc2_optional_attack + name_suffix = "_wc2_charge" + [filter_attack] + range=melee + [/filter_attack] + [attack] + [set_specials] + mode=append + {WEAPON_SPECIAL_CHARGE} + [/set_specials] + [/attack] + [/effect] + [/chance] #enddef #define WCT_CHANCE_ARCANE_BOOST CHANCE RANGE - [chance] - value={CHANCE} - info= _"$range|: arcane and +25% damage" - [info_data] - range={STR_{RANGE}} - [/info_data] - [effect] - [filter] - [filter_wml] - [attack] - range={STR_ID_{RANGE}} - type=arcane - [/attack] - [/filter_wml] - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - apply_to=attack - range={STR_ID_{RANGE}} - set_type=arcane - increase_damage=25% - [/effect] - [/chance] + [chance] + value={CHANCE} + info= _"$range|: arcane and +25% damage" + [info_data] + range={STR_{RANGE}} + [/info_data] + [effect] + [filter] + [filter_wml] + [attack] + range={STR_ID_{RANGE}} + type=arcane + [/attack] + [/filter_wml] + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + apply_to=attack + range={STR_ID_{RANGE}} + set_type=arcane + increase_damage=25% + [/effect] + [/chance] #enddef #define WCT_CHANCE_TELEPORT CHANCE - [chance] - value={CHANCE} - info={STR_TELEPORT} - [effect] - [filter] - ability=teleport - [/filter] - apply_to=hitpoints - increase_total=1 - heal_full=yes - [/effect] - [effect] - [filter] - [not] - ability=teleport - [/not] - [/filter] - apply_to=new_animation - [animation] - apply_to=pre_teleport - {TELEPORT_OUT_ANIMATION} - [/animation] - [animation] - apply_to=post_teleport - {TELEPORT_IN_ANIMATION} - [/animation] - [/effect] - ## after the nimation to mkae the filter when adding the animation work. - [effect] - [filter] - [not] - ability=teleport - [/not] - [/filter] - apply_to=new_ability - [abilities] - {ABILITY_TELEPORT} - [/abilities] - [/effect] - [/chance] + [chance] + value={CHANCE} + info={STR_TELEPORT} + [effect] + [filter] + ability=teleport + [/filter] + apply_to=hitpoints + increase_total=1 + heal_full=yes + [/effect] + [effect] + [filter] + [not] + ability=teleport + [/not] + [/filter] + apply_to=new_animation + [animation] + apply_to=pre_teleport + {TELEPORT_OUT_ANIMATION} + [/animation] + [animation] + apply_to=post_teleport + {TELEPORT_IN_ANIMATION} + [/animation] + [/effect] + ## after the nimation to mkae the filter when adding the animation work. + [effect] + [filter] + [not] + ability=teleport + [/not] + [/filter] + apply_to=new_ability + [abilities] + {ABILITY_TELEPORT} + [/abilities] + [/effect] + [/chance] #enddef diff --git a/data/campaigns/World_Conquest/resources/resources.cfg b/data/campaigns/World_Conquest/resources/resources.cfg index 541bbf0e293e..5a1d4179d4c8 100644 --- a/data/campaigns/World_Conquest/resources/resources.cfg +++ b/data/campaigns/World_Conquest/resources/resources.cfg @@ -3,61 +3,61 @@ {./strings} #define WORLD_CONQUEST_II_CAMPAIGN_RESOURCE - [resource] - id = "wc2_scenario_res{ID_SUFFIX}" - [lua] - code = " wesnoth.dofile('{WC2_DIR}/lua/campaign_main.lua') " - [/lua] - [load_resource] - id = "wc2_trainer_data{ID_SUFFIX}" - [/load_resource] - [load_resource] - id = "wc2_artifact_data{ID_SUFFIX}" - [/load_resource] - [load_resource] - id = "wc2_trait_data{ID_SUFFIX}" - [/load_resource] - [/resource] + [resource] + id = "wc2_scenario_res{ID_SUFFIX}" + [lua] + code = " wesnoth.dofile('{WC2_DIR}/lua/campaign_main.lua') " + [/lua] + [load_resource] + id = "wc2_trainer_data{ID_SUFFIX}" + [/load_resource] + [load_resource] + id = "wc2_artifact_data{ID_SUFFIX}" + [/load_resource] + [load_resource] + id = "wc2_trait_data{ID_SUFFIX}" + [/load_resource] + [/resource] - [resource] - id = "wc2_trait_data{ID_SUFFIX}" - [world_conquest_data] - [trait_heroic] - {WORLD_CONQUEST_II_TRAIT_HEROIC} - [/trait_heroic] - [trait_expert] - {WORLD_CONQUEST_II_TRAIT_EXPERT} - [/trait_expert] - [/world_conquest_data] - [/resource] + [resource] + id = "wc2_trait_data{ID_SUFFIX}" + [world_conquest_data] + [trait_heroic] + {WORLD_CONQUEST_II_TRAIT_HEROIC} + [/trait_heroic] + [trait_expert] + {WORLD_CONQUEST_II_TRAIT_EXPERT} + [/trait_expert] + [/world_conquest_data] + [/resource] - [resource] - id = "wc2_trainer_data{ID_SUFFIX}" - [world_conquest_data] - {WORLD_CONQUEST_TEK_TRAINER_DEFINITIONS} - [/world_conquest_data] - [/resource] + [resource] + id = "wc2_trainer_data{ID_SUFFIX}" + [world_conquest_data] + {WORLD_CONQUEST_TEK_TRAINER_DEFINITIONS} + [/world_conquest_data] + [/resource] - [resource] - id = "wc2_artifact_data{ID_SUFFIX}" - [world_conquest_data] - {WORLD_CONQUEST_TEK_ARTIFACT_DEFINITIONS} - [/world_conquest_data] - [/resource] + [resource] + id = "wc2_artifact_data{ID_SUFFIX}" + [world_conquest_data] + {WORLD_CONQUEST_TEK_ARTIFACT_DEFINITIONS} + [/world_conquest_data] + [/resource] - [resource] - id = "wc2_scenario_res_extra{ID_SUFFIX}" - ## additional mods that work independent on the wc2 core. - ## but note that they use our utils.lua and assume it to be present in global namespace. - [lua] - code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/destruction.lua') " - [/lua] - [lua] - code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/pick_advance.lua') " - [/lua] - [lua] - code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/unitmarker.lua') " - [/lua] - [/resource] + [resource] + id = "wc2_scenario_res_extra{ID_SUFFIX}" + ## additional mods that work independent on the wc2 core. + ## but note that they use our utils.lua and assume it to be present in global namespace. + [lua] + code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/destruction.lua') " + [/lua] + [lua] + code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/pick_advance.lua') " + [/lua] + [lua] + code = " wesnoth.dofile('{WC2_DIR}/lua/optional_mechanics/unitmarker.lua') " + [/lua] + [/resource] #enddef diff --git a/data/campaigns/World_Conquest/scenarios/WC_II_scenario.cfg b/data/campaigns/World_Conquest/scenarios/WC_II_scenario.cfg index f424ee7845a7..c05347a9cc60 100644 --- a/data/campaigns/World_Conquest/scenarios/WC_II_scenario.cfg +++ b/data/campaigns/World_Conquest/scenarios/WC_II_scenario.cfg @@ -10,35 +10,34 @@ _ "World Conquest 2p" #enddef _ "World Conquest 3p" #enddef #define WC_II_CAMPAIGN_DESC_1P - _ "A randomly generated campaign for 1 player. It has 6 level of difficulties. + _ "A randomly generated campaign for 1 player. It has 6 level of difficulties. (Expert level, 5 scenarios.)" #enddef #define WC_II_CAMPAIGN_DESC_2P - _ "A randomly generated cooperative campaign for 2 players. It has 6 level of difficulties. + _ "A randomly generated cooperative campaign for 2 players. It has 6 level of difficulties. (Expert level, 5 scenarios.)" #enddef #define WC_II_CAMPAIGN_DESC_3P - _ "A randomly generated cooperative campaign for 3 players. It has 6 level of difficulties. + _ "A randomly generated cooperative campaign for 3 players. It has 6 level of difficulties. (Expert level, 5 scenarios.)" #enddef - #define WC2_CAMPAIGN_NEW PLAYERS -## Everything that usually goes into [scenario] like [event], [load_ressource], map_data -## etc is generated by lua. This is also why there is only one [multiplayer] tag: the next -## scenario is again "WC_II_{PLAYERS}p" and the lua code detects that is was called a second -## time and generated the second scenario. (same for third, fourth and fifth). All the lua -## code inside ./lua/map does map/scenario generation. -[multiplayer] - id = "WC_II_{PLAYERS}p{ID_SUFFIX}" - name= {WC_II_CAMPAIGN_NAME_{PLAYERS}P} + "{ID_SUFFIX}" - description = {WC_II_CAMPAIGN_DESC_{PLAYERS}P} - allow_new_game=yes - require_scenario=no - scenario_generation=lua - [generator] - id="WC_II_{PLAYERS}p{ID_SUFFIX}" - config_name={WC_II_CAMPAIGN_NAME_{PLAYERS}P} + "{ID_SUFFIX}" - create_scenario = " + ## Everything that usually goes into [scenario] like [event], [load_ressource], map_data + ## etc is generated by lua. This is also why there is only one [multiplayer] tag: the next + ## scenario is again "WC_II_{PLAYERS}p" and the lua code detects that is was called a second + ## time and generated the second scenario. (same for third, fourth and fifth). All the lua + ## code inside ./lua/map does map/scenario generation. + [multiplayer] + id = "WC_II_{PLAYERS}p{ID_SUFFIX}" + name= {WC_II_CAMPAIGN_NAME_{PLAYERS}P} + "{ID_SUFFIX}" + description = {WC_II_CAMPAIGN_DESC_{PLAYERS}P} + allow_new_game=yes + require_scenario=no + scenario_generation=lua + [generator] + id="WC_II_{PLAYERS}p{ID_SUFFIX}" + config_name={WC_II_CAMPAIGN_NAME_{PLAYERS}P} + "{ID_SUFFIX}" + create_scenario = " local a = ... local function doit() wesnoth.dofile('{WC2_DIR}/lua/map/main.lua'); return wc_ii_generate_scenario({PLAYERS}, a) @@ -52,7 +51,7 @@ _ "World Conquest 3p" #enddef end " #ifdef EDITOR - user_config = " + user_config = " local a = ... local function doit() wesnoth.dofile('{WC2_DIR}/lua/map/main.lua'); @@ -68,20 +67,20 @@ _ "World Conquest 3p" #enddef end " #endif - id_suffix={ID_SUFFIX} - [scenario] - {DEFAULT_SCHEDULE} - {DEFAULT_MUSIC_PLAYLIST} - [event] - name="start" - [message] - speaker="narrator" - message= "World Conquest II does not work properly on wesnoth 1.15.2 and 1.15.3 because of issue: https://github.com/wesnoth/wesnoth/issues/4801 the invest dialog will not work properly. This issue is fixed in the latest wesnoth version from git (1.15.3+dev)" - [/message] - [/event] - [/scenario] - [/generator] -[/multiplayer] + id_suffix={ID_SUFFIX} + [scenario] + {DEFAULT_SCHEDULE} + {DEFAULT_MUSIC_PLAYLIST} + [event] + name="start" + [message] + speaker="narrator" + message= "World Conquest II does not work properly on wesnoth 1.15.2 and 1.15.3 because of issue: https://github.com/wesnoth/wesnoth/issues/4801 the invest dialog will not work properly. This issue is fixed in the latest wesnoth version from git (1.15.3+dev)" + [/message] + [/event] + [/scenario] + [/generator] + [/multiplayer] #enddef {WC2_CAMPAIGN_NEW 1}