UtBS: Integrate the redesigned Quenoth elves

Because they are still a work-in-progress, they exist alongside the old ones and can be selected via the campaign difficulty menu. The old ones will be replaced once the work is complete enough.
This commit is contained in:
Lari Nieminen 2016-10-26 12:09:14 +03:00
parent 07c94876aa
commit fffb5f0e4f
78 changed files with 3645 additions and 132 deletions

View file

@ -21,8 +21,11 @@
" + _"(Expert level, 10 scenarios.)"
{CAMPAIGN_DIFFICULTY EASY "data/campaigns/Under_the_Burning_Suns/images/units/elves-desert/hunter.png~RC(magenta>red)" ( _ "Desert Hunter") ( _ "Normal")}
{CAMPAIGN_DIFFICULTY NORMAL "data/campaigns/Under_the_Burning_Suns/images/units/elves-desert/sentinel.png~RC(magenta>red)" ( _ "Desert Sentinel") ( _ "Challenging")} {DEFAULT_DIFFICULTY}
{CAMPAIGN_DIFFICULTY NORMAL "data/campaigns/Under_the_Burning_Suns/images/units/elves-desert/sentinel.png~RC(magenta>red)" ( _ "Desert Sentinel") ( _ "Challenging")}
{CAMPAIGN_DIFFICULTY HARD "data/campaigns/Under_the_Burning_Suns/images/units/elves-desert/prowler.png~RC(magenta>red)" ( _ "Desert Prowler") ( _ "Nightmare")}
{CAMPAIGN_DIFFICULTY EASY_NEW "data/campaigns/Under_the_Burning_Suns/images/units/quenoth/fighter.png~RC(magenta>red)" ( _ "Fighter") ( _ "Normal, redesigned elf units")}
{CAMPAIGN_DIFFICULTY NORMAL_NEW "data/campaigns/Under_the_Burning_Suns/images/units/quenoth/warrior.png~RC(magenta>red)" ( _ "Warrior") ( _ "Challenging, redesigned elf units")} {DEFAULT_DIFFICULTY}
{CAMPAIGN_DIFFICULTY HARD_NEW "data/campaigns/Under_the_Burning_Suns/images/units/quenoth/champion.png~RC(magenta>red)" ( _ "Champion") ( _ "Nightmare, redesigned elf units")}
# UTBS credits
[about]
@ -139,6 +142,41 @@
#ifdef CAMPAIGN_UNDER_THE_BURNING_SUNS
#ifdef EASY_NEW
#define EASY
#enddef
#define UTBSNEW
#enddef
#endif
#ifdef NORMAL_NEW
#define NORMAL
#enddef
#define UTBSNEW
#enddef
#endif
#ifdef HARD_NEW
#define HARD
#enddef
#define UTBSNEW
#enddef
#endif
#ifdef UTBSNEW
#textdomain wesnoth
[+language]
EASY_NEW= _ "Easy"
NORMAL_NEW= _ "Medium"
HARD_NEW= _ "Hard"
[/language]
#textdomain wesnoth-utbs
# Need to re-load this for ON_DIFFICULTY to not break due to a missing
# EASY/NORMAL/HARD symbol
{core/macros/utils.cfg}
#endif
[binary_path]
path=data/campaigns/Under_the_Burning_Suns
[/binary_path]
@ -156,10 +194,65 @@
#Append utils folder
{UTBS_INCLUDE utils}
#ifdef UTBSNEW
# Add global events
[+campaign]
{WEAPON_SPECIAL_DAZE_EVENTS}
{ABILITY_FORMATION_EVENTS}
{ABILITY_DISENGAGE_EVENTS}
{ABILITY_SUPPORT_EVENTS}
# On recruit, this switches the higher-recruit-cost units to the normal
# types, so that the different cost variations don't need to be taken into
# account for example in unit filters.
#define DISCARD_RECRUIT_COST_HELPER_UNITS TYPE
[event]
name=recruit
first_time_only=no
[filter]
race=elf
[/filter]
[filter_condition]
[variable]
name=unit.type
contains={TYPE}
[/variable]
[variable]
name=unit.type
not_equals={TYPE}
[/variable]
[/filter_condition]
[modify_unit]
[filter]
x,y=$x1,$y1
[/filter]
type={TYPE}
[/modify_unit]
[/event]
#enddef
{DISCARD_RECRUIT_COST_HELPER_UNITS "Quenoth Fighter"}
{DISCARD_RECRUIT_COST_HELPER_UNITS "Quenoth Scout"}
{DISCARD_RECRUIT_COST_HELPER_UNITS "Quenoth Mystic"}
{DISCARD_RECRUIT_COST_HELPER_UNITS "Tauroch Rider"}
[/campaign]
#endif
#Append Units
[units]
{UTBS_INCLUDE units/units.cfg}
{UTBS_INCLUDE units/elves}
#ifdef UTBSNEW
{UTBS_INCLUDE units/quenoth}
#else
{UTBS_INCLUDE units/elves}
#endif
{UTBS_INCLUDE units/humans}
{UTBS_INCLUDE units/monsters}
{UTBS_INCLUDE units/nagas}
@ -174,7 +267,11 @@
[/hide_help]
[/units]
{UTBS_INCLUDE scenarios}
#ifdef UTBSNEW
{UTBS_INCLUDE scenarios}
#else
{UTBS_INCLUDE scenarios_old}
#endif
[lua]
code="wesnoth.require 'campaigns/Under_the_Burning_Suns/lua/theme.lua'"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 940 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -21,5 +21,11 @@ function wesnoth.theme_items.unit_status()
} } )
end
if u.status.dazed then
table.insert(s, { "element", { image = "misc/dazed-status-icon.png",
tooltip = _ "dazed: This unit is dazed. It suffers a -10% penalty to both its defense and chance to hit (except for magical attacks)."
} } )
end
return s
end

View file

@ -147,44 +147,42 @@
[set_variables]
name=elf_pool
[value]
type="Desert Fighter"
type="Quenoth Fighter"
name= _ "Lrea"
gender=female
[/value]
[value]
type="Desert Fighter"
type="Quenoth Fighter"
name= _ "Piyru"
gender=male
[/value]
[value]
type="Desert Archer"
type="Quenoth Fighter"
name= _ "Frea"
gender=female
[/value]
[value]
type="Desert Archer"
type="Quenoth Scout"
name= _ "Danu"
gender=male
[/value]
#ifndef HARD
[value]
type="Desert Hunter"
type="Quenoth Scout"
name= _ "Hamuil"
gender=male
[/value]
[value]
type="Desert Hunter"
type="Quenoth Scout"
name= _ "Anioh"
gender=male
[/value]
#endif
[value]
type="Desert Scout"
type="Tauroch Rider"
name= _ "Vemuil"
gender=male
[/value]
[value]
type="Desert Scout"
type="Tauroch Rider"
name= _ "Taliu"
gender=male
[/value]
@ -310,15 +308,12 @@
add=1
[/set_variable]
{NAMED_GENERIC_UNIT 1 "Desert Fighter" 24 25 "Vecnu" ( _ "Vecnu")}
{NAMED_UNIT 1 "Desert Archer" 24 27 "Eranor" ( _ "Eranor") (
gender=male
random_traits,upkeep=yes,full
)}
{NAMED_UNIT 1 "Desert Archer" 21 25 "Seela" ( _ "Seela") (
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 24 25 "Vecnu" ( _ "Vecnu")}
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 24 27 "Eranor" ( _ "Eranor")}
{NAMED_GENERIC_UNIT 1 "Tauroch Rider" 21 25 "Seela" ( _ "Seela")}
[+unit]
gender=female
random_traits,upkeep=yes,full
)}
[/unit]
# Again core macro, monsters shouldnt have traits
{NOTRAIT_UNIT 2 "Giant Mudcrawler" 20 24}
@ -409,15 +404,15 @@
add=1
[/set_variable]
{NAMED_GENERIC_UNIT 1 "Desert Hunter" 24 34 "Eloshi" ( _ "Eloshi")}
{NAMED_UNIT 1 "Desert Archer" 19 33 "Illuvia" ( _ "Illuvia") (
{NAMED_GENERIC_UNIT 1 "Tauroch Rider" 24 34 "Eloshi" ( _ "Eloshi")}
{NAMED_GENERIC_UNIT 1 "Quenoth Scout" 19 33 "Illuvia" ( _ "Illuvia")}
[+unit]
gender=female
random_traits,upkeep=yes,full
)}
[/unit]
#ifdef HARD
{NAMED_GENERIC_UNIT 1 "Desert Fighter" 21 35 "Raynor" ( _ "Raynor")}
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 21 35 "Raynor" ( _ "Raynor")}
#else
{NAMED_GENERIC_UNIT 1 "Desert Hunter" 21 35 "Raynor" ( _ "Raynor")}
{NAMED_GENERIC_UNIT 1 "Tauroch Rider" 21 35 "Raynor" ( _ "Raynor")}
#endif
{NOTRAIT_UNIT 2 "Giant Mudcrawler" 25 34}
@ -520,11 +515,11 @@
{ABILITY_TEACHING_EVENT}
[/unit]
{NAMED_GENERIC_UNIT 1 "Desert Fighter" 36 33 "Jorazan" ( _ "Jorazan")}
{NAMED_UNIT 1 "Desert Fighter" 35 34 "Zyara" ( _ "Zyara") (
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 36 33 "Jorazan" ( _ "Jorazan")}
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 35 34 "Zyara" ( _ "Zyara")}
[+unit]
gender=female
random_traits,upkeep=yes,full
)}
[/unit]
[message]
speaker=unit
@ -663,9 +658,9 @@
x,y=31,27
[/unit]
#ifndef HARD
{NAMED_GENERIC_UNIT 1 "Desert Shaman" 30 27 "Ryoko" ( _ "Ryoko")}
{NAMED_GENERIC_UNIT 1 "Quenoth Mystic" 30 27 "Ryoko" ( _ "Ryoko")}
#endif
{NAMED_GENERIC_UNIT 1 "Desert Shaman" 32 27 "Yuni" ( _ "Yuni")}
{NAMED_GENERIC_UNIT 1 "Quenoth Mystic" 32 27 "Yuni" ( _ "Yuni")}
[message]
speaker=Zhul
@ -817,7 +812,7 @@
[event]
name=stable found
{NAMED_GENERIC_UNIT 1 "Desert Scout" $x1 $y1 "Naru" (_"Naru")}
{NAMED_GENERIC_UNIT 1 "Quenoth Scout" $x1 $y1 "Naru" (_"Naru")}
[message]
speaker=Naru
@ -854,7 +849,7 @@
message= _ "Hey, Nisa, the rocks have stopped falling. You can come out now!"
[/message]
{NAMED_UNIT 1 "Desert Scout" $x1 $y1 "Nisa" (_"Nisa") (gender=female)}
{NAMED_UNIT 1 "Quenoth Scout" $x1 $y1 "Nisa" (_"Nisa") (gender=female)}
[set_variable]
name=rescued_elves
@ -1248,15 +1243,15 @@
y=1-6
[/remove_shroud]
{NAMED_GENERIC_UNIT 1 "Desert Hunter" 29 2 "Pythos" ( _ "Pythos")}
{NAMED_GENERIC_UNIT 1 "Quenoth Scout" 29 2 "Pythos" ( _ "Pythos")}
#ifndef HARD
{NAMED_GENERIC_UNIT 1 "Desert Fighter" 28 2 "Shea" ( _ "Shea")}
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 28 2 "Shea" ( _ "Shea")}
#endif
{NAMED_GENERIC_UNIT 1 "Desert Fighter" 29 1 "Narn" ( _ "Narn")}
{NAMED_GENERIC_UNIT 1 "Quenoth Fighter" 29 1 "Narn" ( _ "Narn")}
#ifndef HARD
{NAMED_GENERIC_UNIT 1 "Desert Scout" 27 2 "Jokli" ( _ "Jokli")}
{NAMED_GENERIC_UNIT 1 "Quenoth Scout" 27 2 "Jokli" ( _ "Jokli")}
#endif
{NAMED_GENERIC_UNIT 1 "Desert Archer" 28 1 "Lyia" ( _ "Lyia")}
{NAMED_GENERIC_UNIT 1 "Quenoth Scout" 28 1 "Lyia" ( _ "Lyia")}
[+unit]
gender=female
[/unit]

View file

@ -22,12 +22,12 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 17 14 11}
controller=human
recruit=Desert Fighter, Desert Archer, Desert Hunter, Desert Shaman, Desert Scout
recruit=Quenoth Fighter,Tauroch Rider,Quenoth Scout,Quenoth Mystic
shroud=yes
fog=yes
{FLAG_VARIANT long}

View file

@ -31,10 +31,10 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
controller=human
recruit=Desert Fighter, Desert Archer, Desert Hunter, Desert Shaman, Desert Scout
recruit=Quenoth Fighter,Tauroch Rider,Quenoth Scout,Quenoth Mystic
gold=200
{INCOME 4 2 0}
{FLAG_VARIANT long}
@ -924,7 +924,7 @@
animate=yes
fire_event=no
[/kill]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=garak_resists
[/fire_event]
@ -980,7 +980,7 @@
shroud=yes
reset_maps=yes
[/modify_side]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) 21 24 (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) 21 24 (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=create_garak_minions_azkotep
[/fire_event]
@ -1063,7 +1063,7 @@
shroud=yes
reset_maps=yes
[/modify_side]
{NAMED_NOTRAIT_UNIT 3 (Corrupted Elf) 23 6 (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 3 (Corrupted Quenoth Elf) 23 6 (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=create_garak_minions_ystara
[/fire_event]
@ -1129,7 +1129,7 @@
animate=yes
fire_event=no
[/kill]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=garak_resists
[/fire_event]
@ -1177,7 +1177,7 @@
shroud=yes
reset_maps=yes
[/modify_side]
{NAMED_NOTRAIT_UNIT 3 (Corrupted Elf) 23 6 (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 3 (Corrupted Quenoth Elf) 23 6 (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=create_garak_minions_ystara
[/fire_event]
@ -1255,7 +1255,7 @@
animate=yes
fire_event=no
[/kill]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=garak_resists
[/fire_event]
@ -1303,7 +1303,7 @@
shroud=yes
reset_maps=yes
[/modify_side]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) 21 24 (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) 21 24 (Possessed Garak) ( _ "Possessed Garak")}
[fire_event]
name=create_garak_minions_azkotep
[/fire_event]
@ -1396,7 +1396,7 @@
animate=no
fire_event=no
[/kill]
{NAMED_NOTRAIT_UNIT 2 (Corrupted Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
{NAMED_NOTRAIT_UNIT 2 (Corrupted Quenoth Elf) $ElvishGarak.x $ElvishGarak.y (Possessed Garak) ( _ "Possessed Garak")}
[message]
speaker=Possessed Garak
message=_"No, fool! Stop!"
@ -1624,7 +1624,7 @@
name=turn_$ambush_turn
delayed_variable_substitution=no
{NAMED_UNIT 1 (Desert Scout) 1 1 (Elven Scout) ( _ "Wounded Elven Scout") (upkeep=free)}
{NAMED_UNIT 1 (Quenoth Scout) 1 1 (Elven Scout) ( _ "Wounded Elven Scout") (upkeep=free)}
[message]
speaker=Elven Scout
message=_"Orcs... Not far behind me... From the hills..."

View file

@ -20,7 +20,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 6 4 2}

View file

@ -24,7 +24,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 7 5 3}
@ -359,7 +359,7 @@
#create starting elves
[unit]
type=Desert Fighter
type=Quenoth Fighter
name= _ "Nantheos"
x=4
y=23
@ -371,7 +371,7 @@
[/unit]
[unit]
type=Desert Archer
type=Quenoth Fighter
name= _ "Sylestria"
x=5
y=25
@ -392,7 +392,7 @@
[/not]
[then]
[unit]
type=Desert Ranger
type=Quenoth Flanker
name= _ "Rygar"
x=6
y=24

View file

@ -26,7 +26,7 @@ _ "These undead trolls fight again in death as they did in life, except this tim
#this is the default
color=red
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 5 3 1}
@ -811,9 +811,9 @@ _ "These undead trolls fight again in death as they did in life, except this tim
# lava is ironically an alias of snow. Elves take 3 moves to cross it,
# except for mounted elves which take 4 (horses hate lava). Thus
# ensuring that no elf can move more than 2 hexes on lava
# with the exception of the desert shyde/star which can move 3 hexes
# with the exception of shydes which can move 3 hexes
# At the start of each turn, all units except the Desert Shyde/Star standing
# At the start of each turn, all units except winged ones standing
# on a lava hex take 25 damage. This damage can kill units.
[event]
@ -827,7 +827,7 @@ _ "These undead trolls fight again in death as they did in life, except this tim
[filter]
side=1,3,4
[not]
type=Desert Shyde,Desert Star,Dust Devil
type=Sun Shyde,Moon Shyde,Dust Devil
[/not]
[filter_location]
terrain=*^Yl
@ -971,7 +971,8 @@ _ "These undead trolls fight again in death as they did in life, except this tim
[message]
speaker=narrator
message= _ "Any unit that ends its turn on a lava hex, except the Desert Shyde and Star who can fly over the lava, will take 25 damage at the beginning of the next turn. This lava damage can kill units. Desert Shydes and Stars will just take $heat_damage damage per turn when flying over lava, though they too can die if they spend too much time over lava. Also because of the heat in the cavern, all units on cave floor hexes will take $heat_damage damage at the start of each turn. This heat damage can reduce a unit to 1 hit point, but it cant kill it."
#TODO: update
message= _ "Any unit that ends its turn on a lava hex, except Shydes who can fly over the lava, will take 25 damage at the beginning of the next turn. This lava damage can kill units. Shydes will just take $heat_damage damage per turn when flying over lava, though they too can die if they spend too much time over it. Also because of the heat in the cavern, all units on cave floor hexes will take $heat_damage damage at the start of each turn. This heat damage can reduce a unit to 1 hit point, but it cant kill it."
image=wesnoth-icon.png
[/message]

View file

@ -22,7 +22,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 5 3 1}
@ -1541,7 +1541,7 @@
[filter]
[not]
type=Desert Shyde, Desert Star
type=Sun Shyde,Moon Shyde
[/not]
x=17-21
y=8-11

View file

@ -20,7 +20,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=0
{NO_INCOME}

View file

@ -20,7 +20,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=0
{NO_INCOME}

View file

@ -23,7 +23,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 4 2 0}
@ -4326,12 +4326,12 @@
variable=Nymstats
[/store_unit]
{UNIT 1 (Desert Fighter) 66 2 (id,upkeep,generate_name=Dummy Unit1,free,no)}
{UNIT 1 (Desert Fighter) 57 3 (id,upkeep,generate_name=Dummy Unit2,free,no)}
{UNIT 1 (Desert Archer) 65 3 (id,upkeep,generate_name=Dummy Unit3,free,no)}
{UNIT 1 (Desert Archer) 59 2 (id,upkeep,generate_name=Dummy Unit4,free,no)}
{UNIT 1 (Desert Hunter) 58 5 (id,upkeep,generate_name=Dummy Unit5,free,no)}
{UNIT 1 (Desert Shaman) 62 2 (id,upkeep,generate_name=Dummy Unit6,free,no)}
{UNIT 1 (Quenoth Fighter) 66 2 (id,upkeep,generate_name=Dummy Unit1,free,no)}
{UNIT 1 (Quenoth Fighter) 57 3 (id,upkeep,generate_name=Dummy Unit2,free,no)}
{UNIT 1 (Quenoth Scout) 65 3 (id,upkeep,generate_name=Dummy Unit3,free,no)}
{UNIT 1 (Quenoth Scout) 59 2 (id,upkeep,generate_name=Dummy Unit4,free,no)}
{UNIT 1 (Quenoth Scout) 58 5 (id,upkeep,generate_name=Dummy Unit5,free,no)}
{UNIT 1 (Quenoth Mystic) 62 2 (id,upkeep,generate_name=Dummy Unit6,free,no)}
[scroll_to_unit]
id=Kaleh

View file

@ -21,7 +21,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{INCOME 2 0 0}
@ -80,7 +80,7 @@
fog=no
team_name=human_ally
user_team_name=_"Human Allies"
recruit=Desert Fighter, Desert Archer, Desert Hunter, Desert Ranger, Desert Marksman, Desert Hero, Desert Captain, Desert Sentinel, Desert Horseman
recruit=Quenoth Fighter,Tauroch Rider,Quenoth Scout,Quenoth Warrior,Quenoth Flanker,Tauroch Vanguard,Quenoth Archer,Quenoth Horseman
[ai]
recruitment_pattern=fighter, archer, fighter, mixed fighter, scout
aggression=0.75
@ -347,7 +347,7 @@
#create starting elves
[unit]
type=Desert Fighter
type=Quenoth Fighter
id=Ulothanir
name= _ "Ulothanir"
x=47
@ -360,7 +360,7 @@
[/unit]
[unit]
type=Desert Archer
type=Quenoth Scout
id=Elonea
name= _ "Elonea"
x=44
@ -1666,7 +1666,7 @@
side=1
[/remove_shroud]
[unit]
type=Desert Captain
type=Quenoth Champion
id=Tanstafaal
name= _ "Tanstafaal"
side=3
@ -1715,13 +1715,17 @@
speaker=Tanstafaal
message= _ "Behold, our goddess has returned to us. All bow down to Eloh, our savior!"
[/message]
#TODO: add better role-based speaker selection
[message]
type=Desert Fighter3, Desert Fighter4, Desert Fighter5, Desert Fighter6, Desert Fighter7, Desert Fighter8, Desert Hunter3, Desert Hunter4, Desert Hunter5, Desert Hunter6, Desert Hunter7, Desert Hunter8
type_tree=Quenoth Mystic
[not]
id=Zhul
[/not]
side=1
message= _ "The Goddess!"
[/message]
[message]
type=Desert Archer3, Desert Archer4, Desert Archer5, Desert Archer6, Desert Archer7, Desert Archer8
type_tree=Quenoth Fighter
side=1
message= _ "Forgive me my sins!"
[/message]
@ -1738,17 +1742,20 @@
message= _ "I come to you with dire news: one of you has betrayed me, and is a traitor to your cause."
[/message]
[message]
type=Desert Fighter3, Desert Fighter4, Desert Fighter5, Desert Fighter6, Desert Fighter7, Desert Fighter8
type_tree=Quenoth Mystic
[not]
id=Zhul
[/not]
side=1
message= _ "What?"
[/message]
[message]
type=Desert Hunter3, Desert Hunter4, Desert Hunter5, Desert Hunter6, Desert Hunter7, Desert Hunter8
type_tree=Quenoth Scout
side=1
message= _ "No!"
[/message]
[message]
type=Desert Archer3, Desert Archer4, Desert Archer5, Desert Archer6, Desert Archer7, Desert Archer8
type_tree=Tauroch Rider
side=1
message= _ "Who?"
[/message]
@ -1779,7 +1786,7 @@
message= _ "Wait, my people, do not be deceived. This thing that appears by Tanstafaals side is not our god. I too was fooled at first, but I have come to realize by her actions that she is an impostor. When she appeared to me the night before Garak died, she told me to kill all that lived under the mountains, even the dwarves who ended up helping us. Likewise when we escaped from the caves, she appeared to me again, and told me to bow down to the humans, else she would destroy me. Never has Eloh threatened one of us or dictated our actions."
[/message]
[message]
type=Desert Fighter3, Desert Fighter4, Desert Fighter5, Desert Fighter6, Desert Fighter7, Desert Fighter8, Desert Hunter3, Desert Hunter4, Desert Hunter5, Desert Hunter6, Desert Hunter7, Desert Hunter8, Desert Archer3, Desert Archer4, Desert Archer5, Desert Archer6, Desert Archer7, Desert Archer8
type_tree=Quenoth Fighter,Quenoth Scout
side=1
message= _ "Why should we trust you? We have not heard Elohs words directly. Only now that you have led us into this folly has Eloh appeared to us."
[/message]
@ -1794,7 +1801,7 @@
message= _ "Wait, my people, do not be deceived. This thing that appears by Tanstafaals side is not our god. I too was fooled at first, but I have come to realize by her actions that she is an impostor. When she appeared to me the night before Garak died, she told me to kill all that lived under the mountains, even the trolls who ended up helping us. Likewise when we escaped from the caves, she appeared to me again, and told me to bow down to the humans, else she would destroy me. Never has Eloh threatened one of us or dictated our actions."
[/message]
[message]
type=Desert Fighter3, Desert Fighter4, Desert Fighter5, Desert Fighter6, Desert Fighter7, Desert Fighter8, Desert Hunter3, Desert Hunter4, Desert Hunter5, Desert Hunter6, Desert Hunter7, Desert Hunter8, Desert Archer3, Desert Archer4, Desert Archer5, Desert Archer6, Desert Archer7, Desert Archer8
type_tree=Quenoth Fighter,Quenoth Scout
side=1
message= _ "Why should we trust you? We have not heard these words directly. Only now that you have led us into this folly has she appeared to us."
[/message]
@ -1940,11 +1947,11 @@
# give tanstafaal some recruits
{NAMED_GENERIC_UNIT 3 (Desert Fighter) 48 16 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Desert Archer) 48 18 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Desert Hunter) 51 19 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Desert Hero) 47 18 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Desert Ranger) 50 20 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Quenoth Fighter) 48 16 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Tauroch Rider) 48 18 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Quenoth Scout) 51 19 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Quenoth Warrior) 47 18 () ( _ "Elvish Rebel")}
{NAMED_GENERIC_UNIT 3 (Quenoth Horseman) 50 20 () ( _ "Elvish Rebel")}
# modify income and gold for rebels

View file

@ -21,7 +21,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=0
{NO_INCOME}

View file

@ -24,7 +24,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=200
{NO_INCOME}
@ -362,7 +362,7 @@
#create starting elves
[unit]
type=Desert Hunter
type=Quenoth Fighter
name= _ "Eagath"
x=37
y=42
@ -374,7 +374,7 @@
[/unit]
[unit]
type=Desert Archer
type=Quenoth Scout
name= _ "Alusan"
x=35
y=43

View file

@ -33,7 +33,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=0
{NO_INCOME}
@ -449,14 +449,14 @@
[/message]
[move_unit_fake]
type=Desert Fighter
type=Quenoth Fighter
side=3
x=9,8
y=20,16
[/move_unit_fake]
[unit]
type=Desert Fighter
type=Quenoth Fighter
id=Anarion
name= _ "Anarion"
x=8
@ -476,14 +476,14 @@
[/delay]
[move_unit_fake]
type=Desert Archer
type=Tauroch Rider
side=3
x=11,12
y=20,16
[/move_unit_fake]
[unit]
type=Desert Archer
type=Tauroch Rider
id=Zylea
name= _ "Zylea"
x=12
@ -676,7 +676,7 @@
[/modify_unit]
[message]
type=Desert Fighter, Desert Archer
type=Quenoth Fighter, Tauroch Rider
message= _ "Huh? What happened?"
[/message]
@ -686,7 +686,7 @@
[/message]
[message]
type=Desert Fighter, Desert Archer
type=Quenoth Fighter, Tauroch Rider
message= _ "Yes priestess."
[/message]

View file

@ -20,7 +20,7 @@
[side]
side=1
id=Kaleh
type=Desert Fighter
type=Quenoth Youth
canrecruit=yes
gold=0
{NO_INCOME}

View file

@ -0,0 +1,70 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Archer
name= _ "Quenoth Archer"
image=units/quenoth/archer.png
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=42
movement_type=quenoth_horse
[resistance]
pierce=120
[/resistance]
movement=8
experience=90
level=2
alignment=lawful
advances_to=Quenoth Marksman
cost=18
usage=scout
description= _ "With the open sands providing much less protection than their old forests did, the wide ranks of elvish archers that could once have stopped an advancing orcish horde in its tracks have all but disappeared. Instead, the few who still choose to dedicate themselves to the traditional weapon of their ancestors practise the art from the saddle, easily avoiding the perils of melee combat."
die_sound=horse-die.ogg
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=7
number=3
icon=attacks/sword-elven.png
[/attack]
[attack]
name=bow
description= _"bow"
type=pierce
range=ranged
damage=7
number=4
icon=attacks/bow-elven.png
[/attack]
{DEFENSE_ANIM "units/quenoth/archer.png" "units/quenoth/archer.png" {SOUND_LIST:HORSE_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/archer.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bow
[/filter_attack]
missile_start_time=-100
[missile_frame]
duration=100
image=projectiles/missile-n.png
image_diagonal=projectiles/missile-ne.png
[/missile_frame]
start_time=-380
[frame]
image=units/quenoth/archer.png:470
[/frame]
{SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -380}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,49 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Champion
name= _ "Quenoth Champion"
race=elf
image=units/quenoth/champion.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=60
movement_type=quenoth_foot
movement=5
experience=150
level=3
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=15
usage=fighter
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_FORMATION}+{SPECIAL_NOTES_FIRSTSTRIKE}
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
[attack]
name=spear
description= _"spear"
type=pierce
range=melee
damage=12
number=4
icon=attacks/spear.png
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/champion.png" "units/quenoth/champion.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=spear
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/champion.png"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,74 @@
#textdomain wesnoth-utbs
[unit_type]
id=Corrupted Quenoth Elf
name= _ "Corrupted Elf"
race=elf
image=units/quenoth/corrupted-elf.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=60
movement_type=quenoth_foot
movement=5
experience=150
level=3
alignment=chaotic
advances_to=null
{AMLA_DEFAULT}
cost=100
usage=fighter
description= _ "Imbued with a dark spirit these corrupted elves combine unhuman strength with potent magics to create formidable opponents. Though the elvish body often decays quickly, these abominations are potent weapons of the undead lords."+{SPECIAL_NOTES}+{SPECIAL_NOTES_FIRSTSTRIKE}+{SPECIAL_NOTES_MAGICAL}
die_sound={SOUND_LIST:ELF_HIT}
[attack]
name=spear
description= _"spear"
type=pierce
range=melee
damage=12
number=4
icon=attacks/spear.png
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
[attack]
name=magic
description= _"magic"
icon=attacks/dark-missile.png
type=cold
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
range=ranged
damage=12
number=3
[/attack]
{DEFENSE_ANIM "units/quenoth/corrupted-elf.png" "units/quenoth/corrupted-elf.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=spear
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/corrupted-elf.png"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=magic
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=200
image=projectiles/darkmissile-n.png
image_diagonal=projectiles/darkmissile-ne.png
[/missile_frame]
start_time=-200
[frame]
image=units/quenoth/corrupted-elf.png:200
[/frame]
{SOUND:HIT_AND_MISS magic-dark.ogg magic-dark-miss.ogg -200}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,62 @@
#textdomain wesnoth-utbs
[unit_type]
id=Divine Avatar
name= _ "female^Divine Avatar"
gender=female
race=elf
image=units/quenoth/eloh.png
profile=portraits/eloh.png
hitpoints=40
movement_type=woodland
movement=1
experience=100
level=2
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=10
usage=null
description= _ "Divine Avatars only appear in time of great need. Forms of the Gods themselves, made real in this world for a time, blessed are those who are lucky enough to view such images of power and perfection."+{SPECIAL_NOTES}+{SPECIAL_NOTES_ARCANE}+{SPECIAL_NOTES_MAGICAL}
{DEFENSE_ANIM "units/quenoth/eloh.png" "units/quenoth/eloh.png" magicmissile.wav }
die_sound=magic-holy-miss-2.ogg
[attack]
name=fist
description= _"fist"
type=arcane
range=melee
damage=7
number=3
[/attack]
[attack]
name=lightbeam
description= _"lightbeam" # wmllint: no spellcheck (until name->id)
type=arcane
range=ranged
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
damage=10
number=2
[/attack]
[attack_anim]
[filter_attack]
name=fist
[/filter_attack]
start_time=-200
[frame]
image="units/quenoth/eloh.png:375"
[/frame]
{SOUND:HIT_AND_MISS fist.ogg {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=lightbeam
[/filter_attack]
{MISSILE_FRAME_LIGHT_BEAM}
start_time=-100
[frame]
image="units/quenoth/eloh.png:100"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:HOLY} {SOUND_LIST:HOLY_MISS} -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,19 @@
#textdomain wesnoth-utbs
[unit_type]
[base_unit]
id=Divine Avatar
[/base_unit]
id=Divine Incarnation
name= _ "female^Divine Incarnation"
hitpoints=50
movement=4
experience=150
level=3
description= _ "Divine Incarnations are said to be the closest thing to a gods actual presence in this world. They can be both awe-inspiring and terrifying."+{SPECIAL_NOTES}+{SPECIAL_NOTES_ARCANE}+{SPECIAL_NOTES_MAGICAL}
[attack]
damage=9
[/attack]
[attack]
damage=14
[/attack]
[/unit_type]

View file

@ -0,0 +1,115 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Druid
name= _ "female^Quenoth Druid"
race=elf
gender=female
image=units/quenoth/druid.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=50
movement_type=quenoth_foot
movement=5
experience=150
level=3
alignment=neutral
advances_to=null
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_CURES}
[/abilities]
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_UTBS_CURES}+{SPECIAL_NOTES_DAZE}+{SPECIAL_NOTES_MAGICAL}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=staff
description= _"staff"
type=impact
range=melee
damage=8
number=2
range=melee
icon=attacks/druidstaff.png
[/attack]
[attack]
name=sand
description= _"sand"
type=impact
range=ranged
damage=6
number=3
icon=attacks/sand-storm.png
[specials]
{WEAPON_SPECIAL_DAZE}
[/specials]
[/attack]
[attack]
name=thorns
description= _"thorns"
type=pierce
range=ranged
damage=7
number=4
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/druid.png" "units/quenoth/druid.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/druid.png:50"
[/frame]
[frame]
image="units/quenoth/druid.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/druid.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=staff
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/druid.png:400"
[/frame]
{SOUND:HIT_AND_MISS staff.ogg staff-miss.ogg -125}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sand
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=320
offset=0.75~1.1,1.1~1.25
halo="projectiles/sand-storm-[1~8].png:40"
auto_vflip=no
[/missile_frame]
start_time=-320
[frame]
image="units/quenoth/druid.png:450"
sound=petrified.ogg
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=thorns
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=200
image="projectiles/thorns.png"
image_diagonal="projectiles/thorns-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/druid.png:500"
halo="halo/elven/nature-halo[1~8].png"
[/frame]
{SOUND:HIT_AND_MISS magic-thorns-[1,2].ogg magic-thorns-miss-[1,2].ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,78 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Fighter
name= _ "Quenoth Fighter"
race=elf
ignore_race_traits=yes
{TRAIT_STRONG}
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
{TRAIT_QUICK}
image=units/quenoth/fighter.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=34
movement_type=quenoth_foot
movement=5
experience=40
level=1
alignment=lawful
advances_to=Quenoth Warrior,Quenoth Flanker
cost=15
usage=fighter
description= _ "Fighters make up the bulk of the Quenoth warriors. Aside from being proficient in the use of the spear, they are remarkably skilled in working together and coordinating defense."+{SPECIAL_NOTES}+{SPECIAL_NOTES_FORMATION}+{SPECIAL_NOTES_FIRSTSTRIKE}
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
[attack]
name=spear
description= _"spear"
type=pierce
range=melee
damage=10
number=2
icon=attacks/spear.png
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/fighter.png" "units/quenoth/fighter.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=spear
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/fighter.png"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]
#define QUENOTH_FIGHTER_VARIANT SUFFIX_NUMBER COST
[unit_type]
id=Quenoth Fighter{SUFFIX_NUMBER}
[base_unit]
id=Quenoth Fighter
[/base_unit]
hide_help=true
do_not_list=true
cost={COST}
[/unit_type]
#enddef
{QUENOTH_FIGHTER_VARIANT 1 16}
{QUENOTH_FIGHTER_VARIANT 2 17}
{QUENOTH_FIGHTER_VARIANT 3 18}
{QUENOTH_FIGHTER_VARIANT 4 19}
{QUENOTH_FIGHTER_VARIANT 5 20}
{QUENOTH_FIGHTER_VARIANT 6 21}
{QUENOTH_FIGHTER_VARIANT 7 22}
{QUENOTH_FIGHTER_VARIANT 8 23}
{QUENOTH_FIGHTER_VARIANT 9 24}
{QUENOTH_FIGHTER_VARIANT 10 25}
#undef QUENOTH_FIGHTER_VARIANT

View file

@ -0,0 +1,84 @@
#textdomain wesnoth-utbs
[unit_type]
id=Tauroch Flagbearer
name= _ "Tauroch Flagbearer"
image=units/quenoth/flagbearer.png
image_icon="units/quenoth/flagbearer.png~CROP(0,0,72,72)"
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=60
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
[/defense]
movement=5
experience=150
level=3
alignment=lawful
advances_to=null
cost=18
usage=mixed fighter
description= _ "Carrying the banners of the Quenoth elves into battle, the prestigious Flagbearers are also masters of tactics. Any enemy commander intending on besting them on the battlefield must invariably possess vastly superior numbers."+{SPECIAL_NOTES}+{SPECIAL_NOTES_LEADERSHIP}+{SPECIAL_NOTES_SHOCK}
die_sound=horse-die.ogg
[abilities]
{ABILITY_LEADERSHIP_LEVEL_3}
[/abilities]
[attack]
name=ram
description= _"ram"
type=impact
range=melee
damage=13
number=3
icon=attacks/ram.png
[specials]
{WEAPON_SPECIAL_SHOCK}
[/specials]
[/attack]
[attack]
name=javelin
description= _"javelin"
type=pierce
range=ranged
damage=10
number=3
icon=attacks/javelin-human.png
[/attack]
{DEFENSE_ANIM "units/quenoth/flagbearer.png" "units/quenoth/flagbearer.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=ram
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=50
image="units/quenoth/flagbearer.png"
[/frame]
[frame]
duration=400
image="units/quenoth/flagbearer.png"
sound=tail.ogg
[/frame]
{SOUND:HIT mace.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=javelin
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/spear-n.png"
image_diagonal="projectiles/spear-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/flagbearer.png:450"
sound={SOUND_LIST:THROW}
[/frame]
{SOUND:HIT spear.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,73 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Flanker
name= _ "Quenoth Flanker"
race=elf
image=units/quenoth/flanker.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=48
movement_type=quenoth_foot
movement=5
experience=90
level=2
alignment=lawful
advances_to=Quenoth Ranger
cost=15
usage=fighter
description= _ "Some fighters find that their true talents lie not within rigid spear ranks, but out in the sands, striking at the flanks and rear of enemy forces. Fast and nimble, these elves can take advantage of the smallest weaknesses in enemy formations."+{SPECIAL_NOTES}+{SPECIAL_NOTES_SKIRMISHER}+{SPECIAL_NOTES_POISON}
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_SKIRMISHER}
[/abilities]
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=8
number=4
icon=attacks/sword-elven.png
[/attack]
[attack]
name=blowgun
description= _"blowgun"
type=pierce
range=ranged
damage=3
number=3
icon=attacks/blowgun.png
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/flanker.png" "units/quenoth/flanker.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/flanker.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=blowgun
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/missile-n.png~SCALE_SHARP(36,36)"
image_diagonal="projectiles/missile-ne.png~SCALE_SHARP(36,36)"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/flanker.png:450"
[/frame]
{SOUND:HIT_AND_MISS crossbow.ogg crossbow-miss.ogg -300}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,78 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Horseman
name= _ "Quenoth Horseman"
image=units/quenoth/horseman.png
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=42
movement_type=quenoth_horse
[resistance]
pierce=120
[/resistance]
movement=8
experience=80
level=2
alignment=lawful
advances_to=Quenoth Outrider
cost=18
usage=scout
description= _ "In most cases, turning and fleeing from an engagement is a risky tactic. These elusive Horsemen, however, are masters of weakening an enemy while at the same time provoking them to give chase — often into a trap."+{SPECIAL_NOTES}+{SPECIAL_NOTES_DISENGAGE}+{SPECIAL_NOTES_SLOW}
die_sound=horse-die.ogg
[abilities]
{ABILITY_DISENGAGE}
[/abilities]
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=7
number=4
icon=attacks/sword-elven.png
movement_used=0
[/attack]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=9
number=3
icon=attacks/bolas.png
movement_used=0
[specials]
{WEAPON_SPECIAL_SLOW}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/horseman.png" "units/quenoth/horseman.png" {SOUND_LIST:HORSE_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/horseman.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bolas
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
start_time=-300
[frame]
image=units/quenoth/horseman.png:400
[/frame]
{SOUND:HIT_AND_MISS hatchet.wav hatchet-miss.wav -300}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,74 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Marksman
name= _ "Quenoth Marksman"
image=units/quenoth/marksman.png
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=55
movement_type=quenoth_horse
[resistance]
pierce=120
[/resistance]
movement=8
experience=150
level=3
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=18
usage=scout
description= _ "A marksman can loose volleys of arrows at their enemies with deadly accuracy, even at full gallop."
die_sound=horse-die.ogg
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=8
number=3
icon=attacks/sword-elven.png
[/attack]
[attack]
name=bow
description= _"bow"
type=pierce
range=ranged
damage=9
number=4
icon=attacks/bow-elven.png
[specials]
{WEAPON_SPECIAL_MARKSMAN}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/marksman.png" "units/quenoth/marksman.png" {SOUND_LIST:HORSE_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/marksman.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bow
[/filter_attack]
missile_start_time=-100
[missile_frame]
duration=100
image=projectiles/missile-n.png
image_diagonal=projectiles/missile-ne.png
[/missile_frame]
start_time=-380
[frame]
image=units/quenoth/marksman.png:470
[/frame]
{SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -380}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,116 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Moon Shyde
name= _ "female^Quenoth Moon Shyde"
race=elf
gender=female
image=units/quenoth/moon-shyde.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=59
movement_type=quenoth_float
movement=6
experience=150
level=3
alignment=chaotic
advances_to=null
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
[dummy]
id=moonwalk
name="moonwalk"
description="This unit gains +1 movement points in darkness, whether at night or underground."
[/dummy]
[/abilities]
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_UTBS_HEALS}+{SPECIAL_NOTES_MAGICAL}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[event]
name=turn refresh
first_time_only=no
[store_time_of_day]
[/store_time_of_day]
[if]
[variable]
name=time_of_day.id
contains="_dark"
[/variable]
[then]
[modify_unit]
[filter]
side=$side_number
type=Quenoth Moon Shyde
[/filter]
moves="$($this_unit.moves + 1)"
[/modify_unit]
[/then]
[/if]
[/event]
[attack]
name=touch
description= _"touch"
type=arcane
range=melee
damage=9
number=3
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=chill gale
description= _"chill gale"
type=cold
range=ranged
damage=11
number=4
icon=attacks/iceball.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/moon-shyde.png" "units/quenoth/moon-shyde.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/moon-shyde.png:50"
[/frame]
[frame]
image="units/quenoth/moon-shyde.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/moon-shyde.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=touch
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/moon-shyde.png:400"
sound=miss-3.ogg
[/frame]
{SOUND:HIT magicmissile.wav -75}
[/attack_anim]
[attack_anim]
[filter_attack]
name=chill gale
[/filter_attack]
start_time=-350
{MISSILE_FRAME_FAERIE_FIRE}
[frame]
image="units/quenoth/moon-shyde.png"
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,-4
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,84 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Moon Singer
name= _ "female^Quenoth Moon Singer"
race=elf
gender=female
image=units/quenoth/moon-singer.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=50
movement_type=quenoth_float
movement=5
experience=80
level=2
alignment=chaotic
advances_to=Quenoth Moon Shyde
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
[/abilities]
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_MAGICAL}+{SPECIAL_NOTES_SLOW}+{SPECIAL_NOTES_UTBS_CURES}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=touch
description= _"touch"
type=arcane
range=melee
damage=9
number=2
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=chill gale
description= _"chill gale"
type=cold
range=ranged
damage=10
number=3
icon=attacks/iceball.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/moon-singer.png" "units/quenoth/moon-singer.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/moon-singer.png:50"
[/frame]
[frame]
image="units/quenoth/moon-singer.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/moon-singer.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=touch
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/moon-singer.png:400"
sound=miss-3.ogg
[/frame]
{SOUND:HIT magicmissile.wav -75}
[/attack_anim]
[attack_anim]
[filter_attack]
name=chill gale
[/filter_attack]
start_time=-350
{MISSILE_FRAME_FAERIE_FIRE}
[frame]
image="units/quenoth/moon-singer.png"
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=16,-6
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,112 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Mystic
name= _ "female^Quenoth Mystic"
race=elf
gender=female
image=units/quenoth/mystic.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=26
movement_type=quenoth_foot
movement=5
experience=28
level=1
alignment=neutral
advances_to=Quenoth Shaman,Quenoth Sun Singer,Quenoth Moon Singer
cost=18
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
[/abilities]
description= _ "Like their ancestors, Quenoth Mystics have the potential to become great wielders of magic. It is a testament to the resilience of elves that they are able to accomplish this in a world devoid of the vast forests from which their forebears drew much of their strength from."+{SPECIAL_NOTES}+{SPECIAL_NOTES_UTBS_HEALS}+{SPECIAL_NOTES_DAZE}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=staff
description= _"staff"
type=impact
range=melee
damage=4
number=2
range=melee
icon=attacks/druidstaff.png
[/attack]
[attack]
name=sand
description= _"sand"
type=impact
range=ranged
damage=3
number=2
icon=attacks/sand-storm.png
[specials]
{WEAPON_SPECIAL_DAZE}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/mystic.png" "units/quenoth/mystic.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/mystic.png:50"
[/frame]
[frame]
image="units/quenoth/mystic.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/mystic.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=staff
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/mystic.png:400"
[/frame]
{SOUND:HIT_AND_MISS staff.ogg staff-miss.ogg -125}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sand
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=320
offset=0.75~1.1,1.1~1.25
halo="projectiles/sand-storm-[1~8].png:40"
auto_vflip=no
[/missile_frame]
start_time=-320
[frame]
image="units/quenoth/mystic.png:450"
sound=petrified.ogg
[/frame]
[/attack_anim]
[/unit_type]
#define QUENOTH_MYSTIC_VARIANT SUFFIX_NUMBER COST
[unit_type]
id=Quenoth Mystic{SUFFIX_NUMBER}
[base_unit]
id=Quenoth Mystic
[/base_unit]
hide_help=true
do_not_list=true
cost={COST}
[/unit_type]
#enddef
{QUENOTH_MYSTIC_VARIANT 1 19}
{QUENOTH_MYSTIC_VARIANT 2 20}
{QUENOTH_MYSTIC_VARIANT 3 21}
{QUENOTH_MYSTIC_VARIANT 4 22}
{QUENOTH_MYSTIC_VARIANT 5 23}
{QUENOTH_MYSTIC_VARIANT 6 24}
{QUENOTH_MYSTIC_VARIANT 7 25}
{QUENOTH_MYSTIC_VARIANT 8 26}
{QUENOTH_MYSTIC_VARIANT 9 27}
{QUENOTH_MYSTIC_VARIANT 10 28}
#undef QUENOTH_MYSTIC_VARIANT

View file

@ -0,0 +1,78 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Outrider
name= _ "Quenoth Outrider"
image=units/quenoth/outrider.png
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=52
movement_type=quenoth_horse
[resistance]
pierce=120
[/resistance]
movement=8
experience=150
level=3
alignment=lawful
advances_to=null
cost=18
usage=scout
description= _ "Riding like the wind, Outriders breeze across the sands to strike at weaker units and exposed flanks, before flying off into the sands to evade response."+{SPECIAL_NOTES}+{SPECIAL_NOTES_DISENGAGE}+{SPECIAL_NOTES_SLOW}
die_sound=horse-die.ogg
[abilities]
{ABILITY_DISENGAGE}
[/abilities]
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=8
number=4
icon=attacks/sword-elven.png
movement_used=0
[/attack]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=11
number=3
icon=attacks/bolas.png
movement_used=0
[specials]
{WEAPON_SPECIAL_SLOW}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/outrider.png" "units/quenoth/outrider.png" {SOUND_LIST:HORSE_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/outrider.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bolas
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
start_time=-300
[frame]
image=units/quenoth/outrider.png:400
[/frame]
{SOUND:HIT_AND_MISS hatchet.wav hatchet-miss.wav -300}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,83 @@
#textdomain wesnoth-utbs
[unit_type]
id=Tauroch Protector
name= _ "Tauroch Protector"
image=units/quenoth/protector.png
image_icon="units/quenoth/protector.png~CROP(0,0,72,72)"
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=65
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
[/defense]
movement=5
experience=150
level=3
alignment=lawful
advances_to=null
cost=18
usage=mixed fighter
description= _ "It is told that once, an elf fleeing from an orcish hunting party came across a young stray tauroch on a small oasis. Understanding that neither meant any harm to the other, they are said to have fought side by side through a long night, driving off the orcs at sunrise. Afterwards, as the elf had mended the tauroch's wounds and finally collapsed from exhaustion, the beast had gently picked her up with its horns and carried back to her village.
Whether the story is true is unknown, but the loyalty and resolve of these mounts and riders both is undeniable."+{SPECIAL_NOTES}+{SPECIAL_NOTES_STEADFAST}
die_sound=horse-die.ogg
[abilities]
{ABILITY_STEADFAST}
[/abilities]
[attack]
name=trample
description= _"trample"
type=impact
range=melee
damage=15
number=2
icon=attacks/slam-drake.png
[/attack]
[attack]
name=javelin
description= _"javelin"
type=pierce
range=ranged
damage=12
number=3
icon=attacks/javelin-human.png
[/attack]
{DEFENSE_ANIM "units/quenoth/protector.png" "units/quenoth/protector.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=trample
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=100
image="units/quenoth/protector.png"
[/frame]
[frame]
duration=350
image="units/quenoth/protector.png"
sound=club.ogg
[/frame]
{SOUND:HIT squishy-hit.wav -150}
[/attack_anim]
[attack_anim]
[filter_attack]
name=javelin
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/spear-n.png"
image_diagonal="projectiles/spear-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/protector.png:450"
sound={SOUND_LIST:THROW}
[/frame]
{SOUND:HIT spear.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,73 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Ranger
name= _ "Quenoth Ranger"
race=elf
image=units/quenoth/ranger.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=62
movement_type=quenoth_foot
movement=6
experience=150
level=3
alignment=lawful
advances_to=null
cost=50
usage=fighter
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_SKIRMISHER}+{SPECIAL_NOTES_POISON}
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_SKIRMISHER}
[/abilities]
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=11
number=4
icon=attacks/sword-elven.png
[/attack]
[attack]
name=blowgun
description= _"blowgun"
type=pierce
range=ranged
damage=7
number=3
icon=attacks/blowgun.png
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/ranger.png" "units/quenoth/ranger.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/ranger.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=blowgun
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/missile-n.png~SCALE_SHARP(36,36)"
image_diagonal="projectiles/missile-ne.png~SCALE_SHARP(36,36)"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/ranger.png:450"
[/frame]
{SOUND:HIT_AND_MISS crossbow.ogg crossbow-miss.ogg -300}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,107 @@
#textdomain wesnoth-utbs
[unit_type]
id=Tauroch Rider
name= _ "Tauroch Rider"
image=units/quenoth/rider.png
image_icon="units/quenoth/rider.png~CROP(0,0,72,72)"
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
# Base movement of 4 is too little, but we don't want them to get 6 either
# if they're quick, so instead they just have 5 movement but can't get quick
ignore_race_traits=yes
{TRAIT_STRONG}
{TRAIT_INTELLIGENT}
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=50
movement_type=quenoth_beast
movement=5
experience=37
level=1
alignment=lawful
advances_to=Tauroch Vanguard,Tauroch Stalwart
cost=20
usage=mixed fighter
description= _ "Taurochs are huge, hardened beasts of the desert, considered untamable by most surviving races. However, the elves' affinity with nature has allowed them to form an unlikely bond with them. While taurochs can easily carry or pull heavy loads, their thick hides and unwavering resolution also make them formidable mounts in battle. A tauroch guided by a skilled rider can hold off multiple enemies long enough for assistance to arrive."
die_sound=horse-die.ogg
[attack]
name=trample
description= _"trample"
type=impact
range=melee
damage=6
number=2
icon=attacks/slam-drake.png
[/attack]
[attack]
name=javelin
description= _"javelin"
type=pierce
range=ranged
damage=7
number=3
icon=attacks/javelin-human.png
[/attack]
{DEFENSE_ANIM "units/quenoth/rider.png" "units/quenoth/rider.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=trample
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=100
image="units/quenoth/rider.png"
[/frame]
[frame]
duration=350
image="units/quenoth/rider.png"
sound=club.ogg
[/frame]
{SOUND:HIT squishy-hit.wav -150}
[/attack_anim]
[attack_anim]
[filter_attack]
name=javelin
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/spear-n.png"
image_diagonal="projectiles/spear-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/rider.png:450"
sound={SOUND_LIST:THROW}
[/frame]
{SOUND:HIT spear.ogg -100}
[/attack_anim]
[/unit_type]
#define QUENOTH_RIDER_VARIANT SUFFIX_NUMBER COST
[unit_type]
id=Tauroch Rider{SUFFIX_NUMBER}
[base_unit]
id=Tauroch Rider
[/base_unit]
hide_help=true
do_not_list=true
cost={COST}
[/unit_type]
#enddef
{QUENOTH_RIDER_VARIANT 1 21}
{QUENOTH_RIDER_VARIANT 2 22}
{QUENOTH_RIDER_VARIANT 3 23}
{QUENOTH_RIDER_VARIANT 4 24}
{QUENOTH_RIDER_VARIANT 5 25}
{QUENOTH_RIDER_VARIANT 6 26}
{QUENOTH_RIDER_VARIANT 7 27}
{QUENOTH_RIDER_VARIANT 8 28}
{QUENOTH_RIDER_VARIANT 9 29}
{QUENOTH_RIDER_VARIANT 10 30}
#undef QUENOTH_RIDER_VARIANT

View file

@ -0,0 +1,100 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Scout
name= _ "Quenoth Scout"
image=units/quenoth/scout.png
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=29
movement_type=quenoth_horse
movement=8
experience=37
level=1
alignment=lawful
advances_to=Quenoth Horseman,Quenoth Archer
cost=17
usage=scout
description= _ "The Quenoth Scouts move swiftly across the sands. Their skill on horseback is virtually unmatched, which they use to harry and incapacitate enemies."+{SPECIAL_NOTES}+{SPECIAL_NOTES_DISENGAGE}+{SPECIAL_NOTES_SLOW}
die_sound=horse-die.ogg
[abilities]
{ABILITY_DISENGAGE}
[/abilities]
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=6
number=3
icon=attacks/sword-elven.png
movement_used=0
[/attack]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=2
icon=attacks/bolas.png
movement_used=0
[specials]
{WEAPON_SPECIAL_SLOW}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/scout.png" "units/quenoth/scout.png" {SOUND_LIST:HORSE_HIT}}
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/scout.png"
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bolas
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
start_time=-300
[frame]
image=units/quenoth/scout.png:400
[/frame]
{SOUND:HIT_AND_MISS hatchet.wav hatchet-miss.wav -300}
[/attack_anim]
[/unit_type]
#define QUENOTH_SCOUT_VARIANT SUFFIX_NUMBER COST
[unit_type]
id=Quenoth Scout{SUFFIX_NUMBER}
[base_unit]
id=Quenoth Scout
[/base_unit]
hide_help=true
do_not_list=true
cost={COST}
[/unit_type]
#enddef
{QUENOTH_SCOUT_VARIANT 1 18}
{QUENOTH_SCOUT_VARIANT 2 19}
{QUENOTH_SCOUT_VARIANT 3 20}
{QUENOTH_SCOUT_VARIANT 4 21}
{QUENOTH_SCOUT_VARIANT 5 22}
{QUENOTH_SCOUT_VARIANT 6 23}
{QUENOTH_SCOUT_VARIANT 7 24}
{QUENOTH_SCOUT_VARIANT 8 25}
{QUENOTH_SCOUT_VARIANT 9 26}
{QUENOTH_SCOUT_VARIANT 10 27}
#undef QUENOTH_SCOUT_VARIANT

View file

@ -0,0 +1,115 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Shaman
name= _ "female^Quenoth Shaman"
race=elf
gender=female
image=units/quenoth/shaman.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=36
movement_type=quenoth_foot
movement=5
experience=80
level=2
alignment=neutral
advances_to=Quenoth Druid
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_CURES}
[/abilities]
description= _ "Shamans seek to maintain the elves' traditional connection with the natural world. Using their vast knowledge of plants of the desert to heal allies and their magical abilities to bolster crops, they serve an invaluable role among the Quenoth elves."+{SPECIAL_NOTES}+{SPECIAL_NOTES_UTBS_CURES}+{SPECIAL_NOTES_DAZE}+{SPECIAL_NOTES_MAGICAL}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=staff
description= _"staff"
type=impact
range=melee
damage=5
number=2
range=melee
icon=attacks/druidstaff.png
[/attack]
[attack]
name=sand
description= _"sand"
type=impact
range=ranged
damage=6
number=2
icon=attacks/sand-storm.png
[specials]
{WEAPON_SPECIAL_DAZE}
[/specials]
[/attack]
[attack]
name=thorns
description= _"thorns"
type=pierce
range=ranged
damage=6
number=3
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/shaman.png" "units/quenoth/shaman.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/shaman.png:50"
[/frame]
[frame]
image="units/quenoth/shaman.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/shaman.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=staff
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/shaman.png:400"
[/frame]
{SOUND:HIT_AND_MISS staff.ogg staff-miss.ogg -125}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sand
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=320
offset=0.75~1.1,1.1~1.25
halo="projectiles/sand-storm-[1~8].png:40"
auto_vflip=no
[/missile_frame]
start_time=-320
[frame]
image="units/quenoth/shaman.png:450"
sound=petrified.ogg
[/frame]
[/attack_anim]
[attack_anim]
[filter_attack]
name=thorns
[/filter_attack]
missile_start_time=-200
[missile_frame]
duration=200
image="projectiles/thorns.png"
image_diagonal="projectiles/thorns-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/shaman.png:500"
halo="halo/elven/nature-halo[1~8].png"
[/frame]
{SOUND:HIT_AND_MISS magic-thorns-[1,2].ogg magic-thorns-miss-[1,2].ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,81 @@
#textdomain wesnoth-utbs
[unit_type]
id=Tauroch Stalwart
name= _ "Tauroch Stalwart"
image=units/quenoth/stalwart.png
image_icon="units/quenoth/stalwart.png~CROP(0,0,72,72)"
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=50
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
[/defense]
movement=5
experience=75
level=2
alignment=lawful
advances_to=Tauroch Protector
cost=18
usage=mixed fighter
description= _ "It is difficult enough to dislodge a stubborn wild tauroch. When one has made common cause with a skilled javelineer on its back, however, it is wiser to seek another path."+{SPECIAL_NOTES}+{SPECIAL_NOTES_STEADFAST}
die_sound=horse-die.ogg
[abilities]
{ABILITY_STEADFAST}
[/abilities]
[attack]
name=trample
description= _"trample"
type=impact
range=melee
damage=12
number=2
icon=attacks/slam-drake.png
[/attack]
[attack]
name=javelin
description= _"javelin"
type=pierce
range=ranged
damage=10
number=3
icon=attacks/javelin-human.png
[/attack]
{DEFENSE_ANIM "units/quenoth/stalwart.png" "units/quenoth/stalwart.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=trample
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=100
image="units/quenoth/stalwart.png"
[/frame]
[frame]
duration=350
image="units/quenoth/stalwart.png"
sound=club.ogg
[/frame]
{SOUND:HIT squishy-hit.wav -150}
[/attack_anim]
[attack_anim]
[filter_attack]
name=javelin
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/spear-n.png"
image_diagonal="projectiles/spear-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/stalwart.png:450"
sound={SOUND_LIST:THROW}
[/frame]
{SOUND:HIT spear.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,84 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Sun Shyde
name= _ "female^Quenoth Sun Shyde"
race=elf
gender=female
image=units/quenoth/sun-shyde.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=59
movement_type=quenoth_float
movement=6
experience=150
level=3
alignment=lawful
advances_to=null
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
{ABILITY_ILLUMINATES}
[/abilities]
description= _ "Stepping beyond what may have once been thought of as the boundaries of the faerie world, these shydes have transformed into beings of light and fire. Not having spent centuries exploring and perfecting their abilities as their ancestors did, it is unknown what may yet be achieved by elvenkind in the new world."+{SPECIAL_NOTES}+{SPECIAL_NOTES_UTBS_HEALS}+{SPECIAL_NOTES_MAGICAL}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=touch
description= _"touch"
type=fire
range=melee
damage=9
number=3
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=faerie fire
description= _"faerie fire"
type=arcane
range=ranged
damage=11
number=4
icon=attacks/faerie-fire.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/sun-shyde.png" "units/quenoth/sun-shyde.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/sun-shyde.png:50"
[/frame]
[frame]
image="units/quenoth/sun-shyde.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/sun-shyde.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=touch
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/sun-shyde.png:400"
[/frame]
{SOUND:HIT_AND_MISS flame-big.ogg flame-big-miss.ogg -250}
[/attack_anim]
[attack_anim]
[filter_attack]
name=faerie fire
[/filter_attack]
start_time=-350
{MISSILE_FRAME_FAERIE_FIRE}
[frame]
image="units/quenoth/sun-shyde.png"
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,0
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,83 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Sun Singer
name= _ "female^Quenoth Sun Singer"
race=elf
gender=female
image=units/quenoth/sun-singer.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=50
movement_type=quenoth_float
movement=5
experience=80
level=2
alignment=lawful
advances_to=Quenoth Sun Shyde
cost=34
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
[/abilities]
description= _ "Elves may be slower to adapt than many other races, but when they do, the results can be surprising. Where the elves of old may have sang the song of the woodlands, these elves have found their spiritual home in the light of the twin suns."+{SPECIAL_NOTES}+{SPECIAL_NOTES_MAGICAL}+{SPECIAL_NOTES_SLOW}+{SPECIAL_NOTES_UTBS_CURES}
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
name=touch
description= _"touch"
type=fire
range=melee
damage=9
number=2
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=faerie fire
description= _"faerie fire"
type=arcane
range=ranged
damage=10
number=3
icon=attacks/faerie-fire.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/sun-singer.png" "units/quenoth/sun-singer.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[healing_anim]
start_time=-250
[frame]
image="units/quenoth/sun-singer.png:50"
[/frame]
[frame]
image="units/quenoth/sun-singer.png:350"
halo=halo/elven/shaman-heal-halo-[1~7].png
[/frame]
[frame]
image="units/quenoth/sun-singer.png:50"
[/frame]
[/healing_anim]
[attack_anim]
[filter_attack]
name=touch
[/filter_attack]
start_time=-250
[frame]
image="units/quenoth/sun-singer.png:400"
[/frame]
{SOUND:HIT_AND_MISS flame-big.ogg flame-big-miss.ogg -250}
[/attack_anim]
[attack_anim]
[filter_attack]
name=faerie fire
[/filter_attack]
start_time=-350
{MISSILE_FRAME_FAERIE_FIRE}
[frame]
image="units/quenoth/sun-singer.png"
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,0
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,84 @@
#textdomain wesnoth-utbs
[unit_type]
id=Tauroch Vanguard
name= _ "Tauroch Vanguard"
image=units/quenoth/vanguard.png
image_icon="units/quenoth/vanguard.png~CROP(0,0,72,72)"
{MAGENTA_IS_THE_TEAM_COLOR}
race=elf
hitpoints=50
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
[/defense]
movement=5
experience=80
level=2
alignment=lawful
advances_to=Tauroch Flagbearer
cost=18
usage=mixed fighter
description= _ "The massive and fearless taurochs are often employed not only to hold ground, but also to lead a charge to break enemy formations. Shielding and inspiring infantry behind them, these commanders can survive the thick of battle better than those on foot or on more slender mounts."+{SPECIAL_NOTES}+{SPECIAL_NOTES_LEADERSHIP}+{SPECIAL_NOTES_SHOCK}
die_sound=horse-die.ogg
[abilities]
{ABILITY_LEADERSHIP_LEVEL_2}
[/abilities]
[attack]
name=ram
description= _"ram"
type=impact
range=melee
damage=10
number=3
icon=attacks/ram.png
[specials]
{WEAPON_SPECIAL_SHOCK}
[/specials]
[/attack]
[attack]
name=javelin
description= _"javelin"
type=pierce
range=ranged
damage=8
number=3
icon=attacks/javelin-human.png
[/attack]
{DEFENSE_ANIM "units/quenoth/vanguard.png" "units/quenoth/vanguard.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=ram
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=50
image="units/quenoth/vanguard.png"
[/frame]
[frame]
duration=400
image="units/quenoth/vanguard.png"
sound=tail.ogg
[/frame]
{SOUND:HIT mace.ogg -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=javelin
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image="projectiles/spear-n.png"
image_diagonal="projectiles/spear-ne.png"
[/missile_frame]
start_time=-300
[frame]
image="units/quenoth/vanguard.png:450"
sound={SOUND_LIST:THROW}
[/frame]
{SOUND:HIT spear.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,48 @@
#textdomain wesnoth-utbs
[unit_type]
id=Quenoth Warrior
name= _ "Quenoth Warrior"
race=elf
image=units/quenoth/warrior.png
{MAGENTA_IS_THE_TEAM_COLOR}
hitpoints=48
movement_type=quenoth_foot
movement=5
experience=80
level=2
alignment=lawful
advances_to=Quenoth Champion
cost=15
usage=fighter
description= _ ""+{SPECIAL_NOTES}+{SPECIAL_NOTES_FORMATION}+{SPECIAL_NOTES_FIRSTSTRIKE}
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
[attack]
name=spear
description= _"spear"
type=pierce
range=melee
damage=11
number=3
icon=attacks/spear.png
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/warrior.png" "units/quenoth/warrior.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=spear
[/filter_attack]
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
start_time=-300
[frame]
duration=450
image="units/quenoth/warrior.png"
[/frame]
{SOUND:HIT_AND_MISS spear.ogg spear-miss.ogg -100}
[/attack_anim]
[/unit_type]

View file

@ -0,0 +1,547 @@
#textdomain wesnoth-utbs
#define HEAL_EFFECTS
[effect]
apply_to=hitpoints
heal_full=yes
[/effect]
[effect]
apply_to=status
remove=poisoned
[/effect]
[effect]
apply_to=status
remove=slowed
[/effect]
[effect]
apply_to=status
remove=dazed
[/effect]
#enddef
#define XP_INCREASE_EFFECT
[effect]
apply_to=max_experience
increase=20%
[/effect]
#enddef
#define QUENOTH_YOUTH_ADVANCEMENTS EXTRA_EFFECTS
[advancement]
id=warrior_1
description= _ "Warrior"
image=attacks/sword-elven.png
[effect]
[filter]
type=Quenoth Youth
[/filter]
apply_to=type
name=Quenoth Youth 2
[/effect]
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=attack
name=sword
increase_damage=2
[/effect]
[effect]
apply_to=attack
name=bow
increase_damage=2
increase_attacks=1
[/effect]
[/advancement]
[advancement]
id=hunter_1
description= _ "Hunter"
image=attacks/bolas.png
[effect]
[filter]
type=Quenoth Youth
[/filter]
apply_to=type
name=Quenoth Youth 2
[/effect]
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=new_attack
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=10
number=2
icon=attacks/bolas.png
[specials]
{WEAPON_SPECIAL_SLOW}
[/specials]
[/effect]
[effect]
apply_to=movement
increase=1
[/effect]
[/advancement]
[advancement]
id=leader_1
description= _ "Leader"
image=attacks/leader.png
[effect]
[filter]
type=Quenoth Youth
[/filter]
apply_to=type
name=Quenoth Youth 2
[/effect]
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=attack
name=sword
increase_damage=1
[/effect]
[effect]
apply_to=attack
name=bow
increase_damage=1
[/effect]
[effect]
apply_to=new_ability
[abilities]
{ABILITY_LEADERSHIP}
[/abilities]
[/effect]
[/advancement]
[advancement]
id=warrior_2_1
require_amla=warrior_1
description= _ "Warrior (choose only one): specialize in melee combat"
image=attacks/sword-elven.png
exclude_amla=warrior_2_2
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=attack
name=sword
increase_damage=2
increase_attacks=1
[/effect]
[/advancement]
[advancement]
id=warrior_2_2
require_amla=warrior_1
description= _ "Warrior (choose only one): specialize in archery"
image=attacks/sword-elven.png
exclude_amla=warrior_2_1
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=attack
name=bow
increase_damage=3
[set_specials]
{WEAPON_SPECIAL_MARKSMAN}
[/set_specials]
[/effect]
[/advancement]
[advancement]
id=hunter_2_1
require_amla=hunter_1
description= _ "Hunter (choose only one): specialize in surprise attacks"
image=attacks/bolas.png
exclude_amla=hunter_2_2
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=attack
name=sword
[set_specials]
{WEAPON_SPECIAL_BACKSTAB}
[/set_specials]
[/effect]
[effect]
apply_to=attack
name=bolas
increase_damage=3
increase_attacks=1
[/effect]
[/advancement]
[advancement]
id=hunter_2_2
require_amla=hunter_1
description= _ "Hunter (choose only one): specialize in skirmishing"
image=attacks/bolas.png
exclude_amla=hunter_2_1
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=new_ability
[abilities]
{ABILITY_SKIRMISHER}
[/abilities]
[/effect]
[effect]
apply_to=attack
name=bolas
increase_damage=3
increase_attacks=1
[/effect]
[/advancement]
[advancement]
id=leader_2_1
require_amla=leader_1
description= _ "Leader (choose only one): specialize in supporting allies"
image=attacks/leader.png
exclude_amla=leader_2_2
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=new_ability
[abilities]
{ABILITY_SUPPORT}
[/abilities]
[/effect]
[effect]
apply_to=attack
name=sword
increase_damage=1
[/effect]
[effect]
apply_to=attack
name=bow
increase_damage=1
[/effect]
[/advancement]
[advancement]
id=leader_2_2
require_amla=leader_1
description= _ "Leader (choose only one): specialize in distracting enemies"
image=attacks/leader.png
exclude_amla=leader_2_1
[effect]
[filter]
type=Quenoth Youth 2
[/filter]
apply_to=type
name=Quenoth Youth 3
[/effect]
{HEAL_EFFECTS}
{EXTRA_EFFECTS}
[effect]
apply_to=new_ability
[abilities]
{ABILITY_DISTRACT}
[/abilities]
[/effect]
[effect]
apply_to=attack
name=sword
increase_damage=1
[/effect]
[effect]
apply_to=attack
name=bow
increase_damage=1
[/effect]
[/advancement]
#enddef
#define KALEH_ANIMATIONS
{DEFENSE_ANIM "units/quenoth/kaleh.png" "units/quenoth/kaleh.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=bow
[/filter_attack]
missile_start_time=-100
[missile_frame]
duration=100
image=projectiles/missile-n.png
image_diagonal=projectiles/missile-ne.png
[/missile_frame]
start_time=-380
[frame]
image=units/quenoth/kaleh.png:470
[/frame]
{SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -380}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
start_time=-300
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
[frame]
image=units/quenoth/kaleh.png:500
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bolas
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
start_time=-300
[frame]
image=units/quenoth/kaleh.png:400
[/frame]
{SOUND:HIT_AND_MISS hatchet.wav hatchet-miss.wav -300}
[/attack_anim]
#enddef
#define NYM_ANIMATIONS
{DEFENSE_ANIM "units/quenoth/nym.png" "units/quenoth/nym.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]
name=bow
[/filter_attack]
missile_start_time=-100
[missile_frame]
duration=100
image=projectiles/missile-n.png
image_diagonal=projectiles/missile-ne.png
[/missile_frame]
start_time=-380
[frame]
image=units/quenoth/nym.png:470
[/frame]
{SOUND:HIT_AND_MISS bow.ogg bow-miss.ogg -380}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sword
[/filter_attack]
start_time=-300
offset=0.0~0.3,0.3~0.5,0.5~0.60,0.60~0.3,0.3~0.0
[frame]
image=units/quenoth/nym.png:500
[/frame]
{SOUND:HIT_AND_MISS {SOUND_LIST:SWORD_SWISH} {SOUND_LIST:MISS} -100}
[/attack_anim]
[attack_anim]
[filter_attack]
name=bolas
[/filter_attack]
missile_start_time=-150
[missile_frame]
duration=150
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
start_time=-300
[frame]
image=units/quenoth/nym.png:400
[/frame]
{SOUND:HIT_AND_MISS hatchet.wav hatchet-miss.wav -300}
[/attack_anim]
#enddef
[unit_type]
id=Quenoth Youth
race=elf
gender=male,female
name= _ "Quenoth Youth"
image=units/quenoth/kaleh.png
movement_type=quenoth_foot
movement=5
hitpoints=32
experience=40
level=1
profile=portraits/kaleh.png
alignment=lawful
advances_to=null
cost=14
usage=fighter
description= _ "Kaleh is still a young Elf of the Quenoth, on the verge of adulthood. He trained with his father with the bow and sword, joining him in lighter expeditions and raids. When his father was lost, Kaleh became more serious and solemn than is usual for those who walk under the two suns. He turned inwards for answers and guidance, not knowing how much his people would look towards him for guidance in times to come."
die_sound={SOUND_LIST:ELF_HIT}
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=5
number=4
icon=attacks/sword-elven.png
[/attack]
[attack]
name=bow
description= _"bow"
type=pierce
range=ranged
damage=4
number=3
icon=attacks/bow-elven.png
[/attack]
{KALEH_ANIMATIONS}
[female]
gender=female
name= _ "female^Quenoth Youth"
image="units/quenoth/nym.png"
profile=portraits/nym.png
description= _ "Nym is Kalehs childhood friend, a young, rebellious lady with quick wits and strong will. Her high spirits are a great boon in dark times."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
{NYM_ANIMATIONS}
[/female]
{QUENOTH_YOUTH_ADVANCEMENTS ()}
[/unit_type]
[unit_type]
id=Quenoth Youth 2
race=elf
gender=male,female
name= _ "Quenoth Youth"
image=units/quenoth/kaleh.png
movement_type=quenoth_foot
movement=5
hitpoints=40
experience=90
level=2
profile=portraits/kaleh.png
alignment=lawful
advances_to=null
cost=14
usage=fighter
description= _ "Kaleh is still a young Elf of the Quenoth, on the verge of adulthood. He trained with his father with the bow and sword, joining him in lighter expeditions and raids. When his father was lost, Kaleh became more serious and solemn than is usual for those who walk under the two suns. He turned inwards for answers and guidance, not knowing how much his people would look towards him for guidance in times to come."
die_sound={SOUND_LIST:ELF_HIT}
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=5
number=4
icon=attacks/sword-elven.png
[/attack]
[attack]
name=bow
description= _"bow"
type=pierce
range=ranged
damage=4
number=3
icon=attacks/bow-elven.png
[/attack]
{KALEH_ANIMATIONS}
[female]
gender=female
name= _ "female^Quenoth Youth"
image="units/quenoth/nym.png"
profile=portraits/nym.png
description= _ "Nym is Kalehs childhood friend, a young, rebellious lady with quick wits and strong will. Her high spirits are a great boon in dark times."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
{NYM_ANIMATIONS}
[/female]
{QUENOTH_YOUTH_ADVANCEMENTS ()}
[/unit_type]
[unit_type]
id=Quenoth Youth 3
race=elf
gender=male,female
name= _ "Quenoth Youth"
image=units/quenoth/kaleh.png
movement_type=quenoth_foot
movement=5
hitpoints=52
experience=150
level=3
profile=portraits/kaleh.png
alignment=lawful
advances_to=null
cost=14
usage=fighter
description= _ "Kaleh is still a young Elf of the Quenoth, on the verge of adulthood. He trained with his father with the bow and sword, joining him in lighter expeditions and raids. When his father was lost, Kaleh became more serious and solemn than is usual for those who walk under the two suns. He turned inwards for answers and guidance, not knowing how much his people would look towards him for guidance in times to come."
die_sound={SOUND_LIST:ELF_HIT}
[attack]
name=sword
description= _"sword"
type=blade
range=melee
damage=5
number=4
icon=attacks/sword-elven.png
[/attack]
[attack]
name=bow
description= _"bow"
type=pierce
range=ranged
damage=4
number=3
icon=attacks/bow-elven.png
[/attack]
{KALEH_ANIMATIONS}
[female]
gender=female
name= _ "female^Quenoth Youth"
image="units/quenoth/nym.png"
profile=portraits/nym.png
description= _ "Nym is Kalehs childhood friend, a young, rebellious lady with quick wits and strong will. Her high spirits are a great boon in dark times."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
{NYM_ANIMATIONS}
[/female]
{QUENOTH_YOUTH_ADVANCEMENTS {XP_INCREASE_EFFECT}}
{AMLA_DEFAULT}
[/unit_type]

View file

@ -107,3 +107,173 @@
[/defense]
{WOODLAND_RESISTANCE}
[/movetype]
#desert elves move fast across the sands, but are not used to forests
#they are also a bit faster in caves
[movetype]
name=quenoth_foot
[movement_costs]
shallow_water=3
reef=2
swamp_water=2
flat=1
sand=1
forest=2
hills=2
mountains=3
village=1
castle=1
cave=2
frozen=3
fungus=2
[/movement_costs]
[vision_costs]
deep_water=3
unwalkable=3
[/vision_costs]
[defense]
shallow_water=80
reef=70
swamp_water=70
flat=60
sand=40
forest=50
hills=50
mountains=40
village=40
castle=40
cave=70
frozen=70
fungus=50
[/defense]
{WOODLAND_RESISTANCE}
[/movetype]
[movetype]
name=quenoth_beast
[movement_costs]
shallow_water=2
reef=2
swamp_water=2
flat=1
sand=1
forest=2
hills=2
mountains=3
village=1
castle=1
cave=2
frozen=2
fungus=2
[/movement_costs]
[vision_costs]
deep_water=3
unwalkable=3
[/vision_costs]
[defense]
shallow_water=70
reef=70
swamp_water=70
flat=50
sand=50
forest=60
hills=60
mountains=60
village=70
castle=60
cave=70
frozen=60
fungus=70
[/defense]
{WOODLAND_RESISTANCE}
[+resistance]
blade=80
impact=80
cold=80
[/resistance]
[/movetype]
[movetype]
name=quenoth_horse
[movement_costs]
shallow_water=3
reef=2
swamp_water=2
flat=1
sand=1
forest=2
hills=2
mountains=3
village=1
castle=1
cave=2
frozen=3
fungus=2
[/movement_costs]
[vision_costs]
deep_water=3
unwalkable=3
[/vision_costs]
[defense]
shallow_water=80
reef=70
swamp_water=70
flat=50
sand=50
forest=60
hills=50
mountains=60
village=60
castle=60
cave=70
frozen=70
fungus=70
[/defense]
{WOODLAND_RESISTANCE}
[+resistance]
pierce=120
[/resistance]
[/movetype]
[movetype]
name=quenoth_float
flies=true
[movement_costs]
deep_water={UNREACHABLE}
shallow_water=1
reef=1
swamp_water=1
flat=1
sand=1
forest=2
hills=1
mountains=2
village=1
castle=1
cave=1
unwalkable=2
frozen=2
fungus=2
[/movement_costs]
[vision_costs]
deep_water=3
[/vision_costs]
[defense]
deep_water=70
shallow_water=60
reef=50
swamp_water=60
flat=50
sand=40
forest=50
hills=50
mountains=40
village=40
castle=40
cave=70
frozen=60
fungus=50
unwalkable=70
[/defense]
{WOODLAND_RESISTANCE}
[/movetype]

View file

@ -76,3 +76,663 @@ _" This unit is capable of healing those around it, slowing dehydration, and cur
description= _ "At the start of every turn, this unit redistributes its experience points to all the units of the same side adjacent to it. If no suitable unit is adjacent, its experience just goes back to zero."
[/dummy]
#enddef
#define WEAPON_SPECIAL_SHOCK
# Canned definition of the Shock ability to be included in a
# [specials] clause.
[attacks]
id=shock
name= _ "shock"
name_inactive= _ "shock"
description= _ "When this attack is used on offense, the opponent will retaliate with one less strike than normally, to a minimum of one strike."
description_inactive= _ "When this attack is used on offense, the opponent will retaliate with one less strike than normally, to a minimum of one strike."
sub=1
active_on=offense
apply_to=opponent
[filter_base_value]
greater_than=1
[/filter_base_value]
[/attacks]
#enddef
#define ABILITY_FORMATION
[dummy]
id=formation
name= _ "formation"
description= _ "This unit gains a +10% bonus to defense when another unit with the same ability is adjacent to it and the enemy. However, this cannot raise the unit's defense above 70%."
[/dummy]
#enddef
#define ABILITY_DISENGAGE
[dummy]
id=disengage
name= _ "disengage"
description= _ "If this unit doesn't move before attacking, it will retain its movement points after the attack."
[/dummy]
#enddef
#define WEAPON_SPECIAL_DAZE
[dummy]
id=daze
name= _ "daze"
description= _ "When hit with this attack, an enemy suffers a 10% penalty both to their defense and chance to hit for one turn, except for magical attacks."
[/dummy]
#enddef
#define ABILITY_DISTRACT
[skirmisher]
id=distract
name= _ "distract"
description= _ "This unit negates enemy Zones of Control around itself for allied units (but not for itself)."
affect_self=no
affect_allies=yes
[affect_adjacent]
[/affect_adjacent]
[/skirmisher]
#enddef
#define ABILITY_SUPPORT
[dummy]
id=support
name= _ "support"
description= _ "At the start of each turn, no upkeep costs are incurred by adjacent friendly units."
[/dummy]
#enddef
#define SPECIAL_NOTES_SHOCK
_" This units melee attack can overwhelm the defenses of enemies, preventing them from retaliating as effectively."#enddef
#define SPECIAL_NOTES_FORMATION
_" Groups of units of this type are able to shield each other in combat."#enddef
#define SPECIAL_NOTES_DISENGAGE
_" This unit can move either before or after attacking."#enddef
#define SPECIAL_NOTES_DAZE
_" This unit can daze its enemies, reducing their accuracy and defense until they end a turn."#enddef
#define SPECIAL_NOTES_DISTRACT
_"This unit is capable of distracting opponents, allowing allied units to trespass their Zones of Control and move unhindered around them."#enddef
#define ABILITY_DISENGAGE_EVENTS
[event]
name=attack end
first_time_only=no
[filter]
ability=disengage
[not]
[filter_wml]
moves=$this_unit.max_moves
[/filter_wml]
[/not]
[/filter]
{VARIABLE unit.moves 0}
[unstore_unit]
variable=unit
find_vacant=no
[/unstore_unit]
[/event]
#enddef
#define WEAPON_SPECIAL_DAZE_EVENTS
[event]
id=weapon_special_daze_event_1
name=unit placed
first_time_only=no
[filter]
[not]
[filter_wml]
[attack]
[specials]
[chance_to_hit]
id=daze_ally
[/chance_to_hit]
[/specials]
[/attack]
[/filter_wml]
[/not]
[/filter]
[object]
silent=yes
[filter]
x,y=$x1,$y1
[/filter]
[effect]
apply_to=attack
[set_specials]
mode=append
[chance_to_hit]
id=daze_ally
name=""
description=""
add=10
[filter_opponent]
[filter_wml]
[status]
dazed=yes
[/status]
[/filter_wml]
[/filter_opponent]
[/chance_to_hit]
[/set_specials]
[/effect]
[/object]
[/event]
[event]
id=weapon_special_daze_event_2
name=attacker hits
first_time_only=no
[filter_attack]
special=daze
[/filter_attack]
[filter_second]
[not]
[filter_wml]
[status]
dazed=yes
[/status]
[/filter_wml]
[/not]
[/filter_second]
{VARIABLE second_unit.status.dazed yes}
[unstore_unit]
variable=second_unit
find_vacant=no
text= _ "dazed"
red,green,blue=196,196,128
[/unstore_unit]
[object]
silent=yes
[filter]
x,y=$x2,$y2
[/filter]
[effect]
apply_to=attack
[set_specials]
mode=append
[chance_to_hit]
id=daze_enemy
name=""
description=""
sub=10
[filter_self]
[filter_wml]
[status]
dazed=yes
[/status]
[/filter_wml]
[/filter_self]
[/chance_to_hit]
[/set_specials]
[/effect]
[/object]
[/event]
[event]
id=weapon_special_daze_event_3
name=side turn
first_time_only=no
[event]
name=side turn
delayed_variable_substitution=no
#{DEBUG_MSG "side $|side_number turn started, clearing daze from side $side_number units"}
[modify_unit]
[filter]
side=$side_number
[filter_wml]
[status]
dazed=yes
[/status]
[/filter_wml]
[/filter]
[status]
dazed=no
[/status]
[/modify_unit]
[/event]
[/event]
#enddef
#define ABILITY_FORMATION_EVENTS
[event]
id=ability_formation_event
name=unit placed
first_time_only=no
[filter]
[not]
side=1
[/not]
[not]
[filter_wml]
[attack]
[specials]
[chance_to_hit]
id=formation_enemy_1
[/chance_to_hit]
[/specials]
[/attack]
[/filter_wml]
[/not]
[/filter]
[object]
silent=yes
[filter]
id=$unit.id
[/filter]
[effect]
apply_to=attack
[set_specials]
mode=append
[chance_to_hit]
id=formation_enemy_1
name=""
description=""
sub=10
[filter_base_value]
greater_than=30
[/filter_base_value]
[filter_opponent]
ability=formation
[filter_adjacent]
ability=formation
is_enemy=no
count=1
[filter_adjacent]
id=$unit.id
[/filter_adjacent]
[/filter_adjacent]
[/filter_opponent]
[/chance_to_hit]
[chance_to_hit]
id=formation_enemy_2
name=""
description=""
sub=20
[filter_base_value]
greater_than=40
[/filter_base_value]
[filter_opponent]
ability=formation
[filter_adjacent]
ability=formation
is_enemy=no
count=2
[filter_adjacent]
id=$unit.id
[/filter_adjacent]
[/filter_adjacent]
[/filter_opponent]
[/chance_to_hit]
[/set_specials]
[/effect]
[/object]
[/event]
#enddef
#define ABILITY_SUPPORT_EVENTS
[event]
name=unit placed,prerecruit,prerecall
first_time_only=no
[filter]
side=1
upkeep=full
[filter_adjacent]
ability=support
[/filter_adjacent]
[/filter]
{VARIABLE unit.variables.original_upkeep $unit.upkeep}
{VARIABLE unit.variables.upkeep_supported yes}
{VARIABLE unit.upkeep free}
[unstore_unit]
variable=unit
find_vacant=no
fire_event=no
[/unstore_unit]
[/event]
[event]
name=set_support_upkeep
first_time_only=no
{FOREACH update_support_units i}
[if]
[have_unit]
x,y=$update_support_units[$i].x,$update_support_units[$i].y
upkeep=full
[filter_adjacent]
ability=support
[/filter_adjacent]
[/have_unit]
[then]
{VARIABLE update_support_units[$i].variables.original_upkeep $update_support_units[$i].upkeep}
{VARIABLE update_support_units[$i].variables.upkeep_supported yes}
{VARIABLE update_support_units[$i].upkeep free}
[/then]
[else]
[if]
[have_unit]
x,y=$update_support_units[$i].x,$update_support_units[$i].y
upkeep=free
[not]
[filter_adjacent]
ability=support
[/filter_adjacent]
[/not]
[/have_unit]
[then]
{VARIABLE update_support_units[$i].upkeep $update_support_units[$i].variables.original_upkeep}
{VARIABLE update_support_units[$i].variables.upkeep_supported no}
[/then]
[/if]
[/else]
[/if]
[unstore_unit]
variable=update_support_units[$i]
find_vacant=no
fire_event=no
[/unstore_unit]
{NEXT i}
[/event]
[event]
name=moveto
first_time_only=no
[filter]
side=1
ability=support
[/filter]
[store_unit]
[filter]
upkeep=full
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
[or]
upkeep=free
[filter_wml]
[variables]
upkeep_supported=yes
[/variables]
[/filter_wml]
[filter_location]
[filter_adjacent_location]
x,y=$x2,$y2
[/filter_adjacent_location]
[/filter_location]
[/or]
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[on_undo]
[store_unit]
[filter]
upkeep=full
[filter_location]
[filter_adjacent_location]
x,y=$x2,$y2
[/filter_adjacent_location]
[/filter_location]
[or]
upkeep=free
[filter_wml]
[variables]
upkeep_supported=yes
[/variables]
[/filter_wml]
[filter_location]
[filter_adjacent_location]
x,y=$x1,$y1
[/filter_adjacent_location]
[/filter_location]
[/or]
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[/on_undo]
[on_redo]
[store_unit]
[filter]
upkeep=full
[filter_location]
[filter_adjacent_location]
x,y=$x1,$y1
[/filter_adjacent_location]
[/filter_location]
[or]
upkeep=free
[filter_wml]
[variables]
upkeep_supported=yes
[/variables]
[/filter_wml]
[filter_location]
[filter_adjacent_location]
x,y=$x2,$y2
[/filter_adjacent_location]
[/filter_location]
[/or]
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[/on_redo]
[allow_undo]
[/allow_undo]
[/event]
[event]
name=moveto
first_time_only=no
[filter]
side=1
[not]
ability=support
[/not]
[and]
upkeep=full
[filter_adjacent]
side=1
ability=support
[/filter_adjacent]
[or]
upkeep=free
[not]
[filter_adjacent]
side=1
ability=support
[/filter_adjacent]
[/not]
[filter_wml]
[variables]
upkeep_supported=yes
[/variables]
[/filter_wml]
[/or]
[/and]
[/filter]
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[on_undo]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[/on_undo]
[on_redo]
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[/on_redo]
[allow_undo]
[/allow_undo]
[/event]
[event]
name=die
first_time_only=no
[filter]
side=1
ability=support
[/filter]
[store_unit]
[filter]
upkeep=free
[filter_wml]
[variables]
upkeep_supported=yes
[/variables]
[/filter_wml]
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
[/filter]
kill=no
variable=update_support_units
[/store_unit]
[kill]
x,y=$x1,$y1
fire_event=no
[/kill]
[fire_event]
name=set_support_upkeep
[/fire_event]
{CLEAR_VARIABLE update_support_units}
[/event]
#enddef

View file

@ -3,40 +3,30 @@
#define KALEH
id=Kaleh
name= _ "Kaleh"
type=Kaleh
variation=Youth
gender=male
type=Quenoth Youth
canrecruit=yes
unrenamable=yes
[modifications]
#ifndef HARD
{TRAIT_RESILIENT}
#ifdef EASY
{TRAIT_INTELLIGENT}
#endif
#endif
[/modifications]
#enddef
#define NYM
type=Nym Hunter
type=Quenoth Youth
id=Nym
name= _ "Nym"
gender=female
unrenamable=yes
random_traits=no
profile=portraits/nym.png
upkeep=loyal
[modifications]
{TRAIT_LOYAL}
#ifndef HARD
{TRAIT_RESILIENT}
#ifdef EASY
{TRAIT_QUICK}
#endif
#endif
{TRAIT_DEXTROUS}
[/modifications]
{IS_HERO}
#enddef
#define GARAK
type=Desert Marshal
type=Quenoth Champion
id=Garak
name= _ "Garak"
profile=portraits/garak.png
@ -45,11 +35,6 @@
{TRAIT_LOYAL}
{TRAIT_STRONG}
[object]
[effect]
apply_to=attack
range=ranged
increase_damage=1
[/effect]
[effect]
apply_to=new_ability
[abilities]
@ -66,14 +51,13 @@
#enddef
#define ZHUL
type=Desert Druid
type=Quenoth Shaman
id=Zhul
name= _ "Zhul"
profile=portraits/zhul.png
unrenamable=yes
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
{TRAIT_INTELLIGENT}
[/modifications]
{IS_HERO}

View file

@ -3,7 +3,7 @@
# event for the teaching ability
#define ABILITY_TEACHING_EVENT
[event]
name=turn refresh
name=turn refresh,victory
id=garak_teaching
first_time_only=no

View file

@ -63,6 +63,20 @@
[/then]
[/if]
#ifdef UTBSNEW
#{DEBUG_MSG "disallowing: Quenoth Fighter$num,Tauroch Rider$num,Quenoth Scout$num,Quenoth Mystic$num"}
[disallow_recruit]
type=Quenoth Fighter$num,Tauroch Rider$num,Quenoth Scout$num,Quenoth Mystic$num
side=1
[/disallow_recruit]
{VARIABLE num $recruit_cost_extra}
#{DEBUG_MSG "allowing: Quenoth Fighter$num,Tauroch Rider$num,Quenoth Scout$num,Quenoth Mystic$num"}
[allow_recruit]
type=Quenoth Fighter$num,Tauroch Rider$num,Quenoth Scout$num,Quenoth Mystic$num
side=1
[/allow_recruit]
#else
#{DEBUG_MSG "disallowing: Desert Fighter$num,Desert Archer$num,Desert Hunter$num,Desert Shaman$num,Desert Scout$num"}
[disallow_recruit]
type=Desert Fighter$num,Desert Archer$num,Desert Hunter$num,Desert Shaman$num,Desert Scout$num
@ -75,6 +89,7 @@
type=Desert Fighter$num,Desert Archer$num,Desert Hunter$num,Desert Shaman$num,Desert Scout$num
side=1
[/allow_recruit]
#endif
{CLEAR_VARIABLE num}
#enddef

View file

@ -2,9 +2,16 @@
#define STORY_THE_MORNING_AFTER
[story]
[part]
story= _ "Note: This campaign is probably not appropriate for beginners. It changes certain Wesnoth standards, such as the elves stats and the day/night cycle. This campaign emphasizes role-playing elements and tends to have longer scenarios with objectives that change in the middle. For these reasons, we strongly suggest that you occasionally save your game mid-scenario, so you wont lose all your progress if you get stuck and have to start over."
[/part]
#ifdef UTBSNEW
[part]
# Untranslated development version notice only.
story="Note: the redesigned elvish units are still a work-in-progress."
[/part]
#else
[part]
story= _ "Note: This campaign is probably not appropriate for beginners. It changes certain Wesnoth standards, such as the elves stats and the day/night cycle. This campaign emphasizes role-playing elements and tends to have longer scenarios with objectives that change in the middle. For these reasons, we strongly suggest that you occasionally save your game mid-scenario, so you wont lose all your progress if you get stuck and have to start over."
[/part]
#endif
[part]
background="misc/kaleh_story.jpg"
story= _ "This is the chronicle of the journey of the Quenoth elves from their homeland in the Great Southern Desert. I write this story so that our descendants may know of our travels, remember the sacrifices we made, and profit from the hard lessons we learned."