Quenoth Rework (#7349)

Hopefully making the whole faction more interesting and enjoyable to play. 

Co-authored-by: Steve Cotton <steve@octalot.co.uk>
Co-authored-by: nemaara <nemaara@users.noreply.github.com>
This commit is contained in:
Hejnewar 2023-02-18 00:33:48 +01:00 committed by GitHub
parent 3f63908296
commit 6632116caa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 873 additions and 145 deletions

View file

@ -146,6 +146,10 @@
name=_"And special thanks to everyone else who I forgot to mention."
[/entry]
[/about]
[load_resource]
id=utbs_ability_events
[/load_resource]
[/campaign]
#ifdef CAMPAIGN_UNDER_THE_BURNING_SUNS

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View file

@ -12,7 +12,7 @@
pierce=120
[/resistance]
movement=8
experience=90
experience=76
level=2
alignment=lawful
advances_to=Quenoth Marksman
@ -30,7 +30,7 @@
description= _"sword"
type=blade
range=melee
damage=6
damage=7
number=3
icon=attacks/sword-elven.png
movement_used=0
@ -41,7 +41,7 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=7
damage=8
number=4
icon=attacks/bow-elven.png
movement_used=0

View file

@ -11,7 +11,7 @@
{TRAIT_RESILIENT}
image=units/quenoth/champion.png
profile="portraits/quenoth/champion.webp"
hitpoints=55
hitpoints=68
movement_type=quenoth_foot
movement=5
experience=150
@ -19,21 +19,20 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=44
cost=63
usage=fighter
description= _ "Standing at the forefront of most Quenoth spear lines, Champions are those who have mastered the use of the glaive to near perfection. Perhaps only slightly lacking in finesse in strategy, these elves more than compensate with raw power and can force their way through all but the most secure of defenses."
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
attacks=5
[attack]
name=glaive
description= _"glaive"
type=pierce
range=melee
damage=14
number=3
damage=24
number=2
icon=attacks/glaive.png
attacks_used=4
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
@ -43,9 +42,33 @@
description= _"glaive"
type=blade
range=melee
damage=9
number=4
damage=12
number=3
icon=attacks/glaive.png
attacks_used=3
[/attack]
[attack]
name=glaive
description= _"glaive"
type=pierce
range=melee
damage=24
number=1
icon=attacks/glaive.png
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
[attack]
name=glaive
description= _"glaive"
type=blade
range=melee
damage=12
number=1
icon=attacks/glaive.png
attacks_used=1
[/attack]
{DEFENSE_ANIM "units/quenoth/champion-defend2.png" "units/quenoth/champion-defend1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]

View file

@ -9,15 +9,17 @@
profile="portraits/quenoth/druid.webp"
hitpoints=45
movement_type=quenoth_foot
movement=5
experience=180
movement=6
experience=150
level=3
alignment=neutral
alignment=lawful
advances_to=Quenoth Shyde
cost=48
cost=52
usage=healer
[abilities]
{UTBS_ABILITY_CURES}
{UTBS_ABILITY_TAILWIND 2}
{UTBS_TAILWIND_DESCRIPTION 2}
[/abilities]
description= _ "Worshippers of the Goddess of Light, Eloh, Druids are considered mysterious even by other elves of the same order. Part of this stems from the Druids unusual connection with nature, something nearly wholly absent in a world pervaded by scorched sand. In a brutish world where others train themselves for combat and survival, these elves are the few who remain as healers and caretakers."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
@ -35,7 +37,7 @@
[/attack]
[attack]
name=sand
description= _"sand"
description= _"sandstorm"
type=impact
range=ranged
damage=6

View file

@ -11,20 +11,18 @@
{TRAIT_RESILIENT}
image=units/quenoth/fighter.png
profile="portraits/quenoth/fighter.webp"
hitpoints=30
hitpoints=33
movement_type=quenoth_foot
movement=5
experience=40
level=1
alignment=lawful
advances_to=Quenoth Warrior,Quenoth Flanker
cost=15
cost=12
usage=fighter
description= _ "Long ago, during more prosperous times, elven warriors favored the use of swords as more elegant, versatile weapons compared to other melee armaments. However, in recent times, the dearth of supplies for smithing has reduced the availability of blade-crafting, necessitating the fashioning of cheaper, more easily repaired weaponry. Quenoth Fighters are remarkably skilled in coordinated groups, where they can counteract the lack of more sophisticated weaponry by forming robust spear ranks capable of repelling nearly any frontal assault."
description= _ "Long ago, during more prosperous times, elven warriors favored the use of swords as more elegant, versatile weapons compared to other melee armaments. However, in recent times, the dearth of supplies for smithing has reduced the availability of blade-crafting, necessitating the fashioning of cheaper, more easily repaired weaponry. To compensate for this diminishing in armament quality, the Quenoth have adopted a greater flexibility in their use. In the open sands, a fighter is trained to develop the acumen to split his attention between multiple enemies, be they brigand, wild creature, or undead."
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
attacks=2
[attack]
name=spear
#textdomain wesnoth-units
@ -35,6 +33,22 @@
damage=9
number=2
icon=attacks/spear.png
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
[attack]
name=spear
#textdomain wesnoth-units
description= _"spear"
#textdomain wesnoth-utbs
type=pierce
range=melee
damage=9
number=1
icon=attacks/spear.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
@ -65,7 +79,7 @@
[/unit_type]
#enddef
{QUENOTH_FIGHTER_VARIANT 1 16}
{QUENOTH_FIGHTER_VARIANT 1 15}
{QUENOTH_FIGHTER_VARIANT 2 17}
{QUENOTH_FIGHTER_VARIANT 3 18}
{QUENOTH_FIGHTER_VARIANT 4 19}

View file

@ -11,20 +11,21 @@
{TRAIT_RESILIENT}
image=units/quenoth/flanker.png
profile="portraits/quenoth/flanker.webp"
hitpoints=43
hitpoints=45
movement_type=quenoth_foot
movement=5
experience=90
movement=6
experience=73
level=2
alignment=lawful
advances_to=Quenoth Ranger
cost=28
cost=30
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 make use of the weaknesses in enemy formations to disrupt their lines and sow chaos on the battlefield. In more cutthroat conflicts, Flankers even rely on the use of poison — a tool whose use was frowned on by their ancestors — to cripple their foes before charging in for the finish."
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_SKIRMISHER}
[/abilities]
attacks=4
[attack]
name=sword
#textdomain wesnoth-units
@ -32,9 +33,10 @@
#textdomain wesnoth-utbs
type=blade
range=melee
damage=8
damage=7
number=4
icon=attacks/sword-elven.png
attacks_used=4
[/attack]
[attack]
name=blowgun
@ -42,12 +44,25 @@
type=pierce
range=ranged
damage=2
number=4
number=2
icon=attacks/blowgun.png
attacks_used=2
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
[attack]
name=sword
#textdomain wesnoth-units
description= _"sword"
#textdomain wesnoth-utbs
type=blade
range=melee
damage=7
number=1
icon=attacks/sword-elven.png
attacks_used=1
[/attack]
{DEFENSE_ANIM "units/quenoth/flanker-defend2.png" "units/quenoth/flanker-defend1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]

View file

@ -17,7 +17,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=44
cost=60
usage=scout
undead_variation=mounted
description= _ "In times past, the elves supremacy at archery was unquestioned among the other races of the Great Continent. With archery being less viable in a land of scarce cover, however, the skills of the few remaining elven bowmen became suspect, to the point that even their brethren began to believe that archery was more of an outdated relic than a practical tool for battle.
@ -33,7 +33,7 @@ A simple glance at a Quenoth Marksman in action would be enough to dispel this f
description= _"sword"
type=blade
range=melee
damage=6
damage=7
number=3
icon=attacks/sword-elven.png
movement_used=0

View file

@ -7,17 +7,19 @@
gender=female
image=units/quenoth/mystic/mystic.png
profile="portraits/quenoth/mystic.webp"
hitpoints=25
hitpoints=22
movement_type=quenoth_foot
movement=5
experience=28
experience=31
level=1
alignment=neutral
alignment=lawful
advances_to=Quenoth Shaman,Quenoth Sun Singer
cost=16
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
{UTBS_ABILITY_TAILWIND 1}
{UTBS_TAILWIND_DESCRIPTION 1}
[/abilities]
description= _ "Like their ancestors, Quenoth Mystics are those who devote themselves to the natural energies that flow through body of Irdya. In the harsh, barren wastelands, however, these elves can no longer rely on the once vast forests from which their forebears drew much of their strength. Instead, sand and sun are the source of the elves new powers, which they employ to great effect in their homes in the deserts."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
@ -28,17 +30,17 @@
#textdomain wesnoth-utbs
type=impact
range=melee
damage=4
damage=3
number=2
range=melee
icon=attacks/druidstaff.png
[/attack]
[attack]
name=sand
description= _"sand"
description= _"sandstorm"
type=impact
range=ranged
damage=3
damage=2
number=2
icon=attacks/sand-storm.png
[specials]
@ -100,7 +102,7 @@
[/unit_type]
#enddef
{QUENOTH_MYSTIC_VARIANT 1 19}
{QUENOTH_MYSTIC_VARIANT 1 18}
{QUENOTH_MYSTIC_VARIANT 2 20}
{QUENOTH_MYSTIC_VARIANT 3 21}
{QUENOTH_MYSTIC_VARIANT 4 22}

View file

@ -11,13 +11,13 @@
[resistance]
pierce=120
[/resistance]
movement=8
movement=9
experience=150
level=3
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=42
cost=60
usage=scout
undead_variation=mounted
description= _ "Described as riders who rush like the wind, Outriders breeze across the sands at unmatched speeds. Unlike their lesser brethren, Outriders train themselves for direct combat, wielding sword and bola to strike at injured units and exposed flanks where enemy lines are weakest. A group of these riders is especially dangerous, for against them, both retreat and attrition are futile, a prospect that is only ruinous in the inhospitable desert."
@ -32,7 +32,7 @@
#textdomain wesnoth-utbs
type=blade
range=melee
damage=10
damage=11
number=4
icon=attacks/sword-elven.png
movement_used=0
@ -42,7 +42,7 @@
description= _"bolas"
type=impact
range=ranged
damage=8
damage=9
number=3
icon=attacks/bolas.png
movement_used=0

View file

@ -6,17 +6,17 @@
image=units/quenoth/pathfinder.png
profile="portraits/quenoth/pathfinder.webp"
race=quenoth
hitpoints=40
hitpoints=47
movement_type=quenoth_horse
[resistance]
pierce=120
[/resistance]
movement=8
experience=80
experience=76
level=2
alignment=lawful
advances_to=Quenoth Outrider
cost=31
cost=33
usage=scout
undead_variation=mounted
description= _ "In times past, turning and fleeing from an engagement was a risky tactic, for there were few means to avoid or block enemy archers shooting from behind. In the desert, however, unstable footing and lack of cover make it far more challenging for most fighters to strike from range. The elusive Pathfinders make use of this by riding the exceptionally agile dustboks, who are highly adapted to traversing the dunes and can evade most attacks with their swift movements. The difficulty in pinning these riders down often tries the patience of their enemies, who are provoked into recklessly giving chase — inevitably into many a deadly trap."
@ -31,7 +31,7 @@
#textdomain wesnoth-utbs
type=blade
range=melee
damage=7
damage=8
number=4
icon=attacks/sword-elven.png
movement_used=0

View file

@ -11,21 +11,22 @@
{TRAIT_RESILIENT}
image=units/quenoth/ranger.png
profile="portraits/quenoth/ranger.webp"
hitpoints=53
hitpoints=58
movement_type=quenoth_foot
movement=6
movement=7
experience=150
level=3
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=42
cost=60
usage=fighter
description= _ "The title Ranger is a little misleading, for these agile elves have little in common with the more pacifistic explorers of nature that once bore the same title. They, instead, are expert fighters who specifically seek combat in order to better hone their skirmishing skills. While they do not possess the brute force of their warrior counterparts, Quenoth Rangers are more proficient at navigating through chaotic fights and are capable of darting in and out of enemy lines to assassinate injured targets. Their masterful use of poison and formidable swordsmanship make these elves especially deadly in the harsh desert terrain, where fewer options to retreat are available."
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_SKIRMISHER}
[/abilities]
attacks=6
[attack]
name=sword
#textdomain wesnoth-units
@ -36,6 +37,10 @@
damage=10
number=4
icon=attacks/sword-elven.png
attacks_used=6
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
[attack]
name=blowgun
@ -43,12 +48,28 @@
type=pierce
range=ranged
damage=3
number=5
number=2
icon=attacks/blowgun.png
attacks_used=2
[specials]
{WEAPON_SPECIAL_POISON}
[/specials]
[/attack]
[attack]
name=sword
#textdomain wesnoth-units
description= _"sword"
#textdomain wesnoth-utbs
type=blade
range=melee
damage=10
number=1
icon=attacks/sword-elven.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/ranger-defend2.png" "units/quenoth/ranger-defend1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]
[filter_attack]

View file

@ -6,14 +6,14 @@
image=units/quenoth/scout.png
profile="portraits/quenoth/scout.webp"
race=quenoth
hitpoints=26
hitpoints=30
movement_type=quenoth_horse
movement=8
experience=40
experience=43
level=1
alignment=lawful
advances_to=Quenoth Pathfinder,Quenoth Archer
cost=17
cost=18
usage=scout
undead_variation=mounted
description= _ "Riding the graceful, agile dustboks, Quenoth Scouts move with unmatched speed across the sands. Their practiced skill with sword and sling are useful abilities to harry enemies and allows them to act as effective hunters and patrolmen."
@ -28,7 +28,7 @@
#textdomain wesnoth-utbs
type=blade
range=melee
damage=6
damage=4
number=3
icon=attacks/sword-elven.png
movement_used=0
@ -40,7 +40,7 @@
#textdomain wesnoth-utbs
type=impact
range=ranged
damage=8
damage=7
number=2
icon=attacks/sling.png
movement_used=0
@ -95,15 +95,15 @@
[/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}
{QUENOTH_SCOUT_VARIANT 1 19}
{QUENOTH_SCOUT_VARIANT 2 20}
{QUENOTH_SCOUT_VARIANT 3 21}
{QUENOTH_SCOUT_VARIANT 4 22}
{QUENOTH_SCOUT_VARIANT 5 23}
{QUENOTH_SCOUT_VARIANT 6 24}
{QUENOTH_SCOUT_VARIANT 7 25}
{QUENOTH_SCOUT_VARIANT 8 26}
{QUENOTH_SCOUT_VARIANT 9 27}
{QUENOTH_SCOUT_VARIANT 10 28}
#undef QUENOTH_SCOUT_VARIANT

View file

@ -7,17 +7,19 @@
gender=female
image=units/quenoth/shaman.png
profile="portraits/quenoth/shaman.webp"
hitpoints=35
hitpoints=37
movement_type=quenoth_foot
movement=5
experience=65
movement=6
experience=60
level=2
alignment=neutral
alignment=lawful
advances_to=Quenoth Druid
cost=33
cost=29
usage=healer
[abilities]
{UTBS_ABILITY_CURES}
{UTBS_ABILITY_TAILWIND 1}
{UTBS_TAILWIND_DESCRIPTION 1}
[/abilities]
description= _ "Like the elves of old, many Quenoth Elves seek to study the art of medicine and healing rather than hone their abilities in direct battle. Shamans are highly knowledgeable about the sparse plant-life scattered across the deserts and even possess some ability to bolster crop growth, an invaluable skill in a land with few resources. The capacity to foster flora in such an inhospitable environment is a sign of hope as well, a chance that nature might one day rise from its sandy grave and bloom again."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
@ -35,7 +37,7 @@
[/attack]
[attack]
name=sand
description= _"sand"
description= _"sandstorm"
type=impact
range=ranged
damage=6

View file

@ -12,13 +12,15 @@
movement=6
experience=200
level=4
alignment=neutral
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=60
cost=70
usage=healer
[abilities]
{UTBS_ABILITY_SUPER_CURES}
{UTBS_ABILITY_TAILWIND 2}
{UTBS_TAILWIND_DESCRIPTION 2}
[/abilities]
description= _ "From the teachings of Analia, the healer of the Emerald Blossom:

View file

@ -9,16 +9,17 @@
profile="portraits/quenoth/sun_singer.webp"
hitpoints=36
movement_type=quenoth_foot
movement=5
experience=105
movement=6
experience=80
level=2
alignment=lawful
advances_to=Quenoth Sun Sylph
cost=36
cost=30
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
[/abilities]
{SONG_VERSE_EVENTS 1 2}
description= _ "Faerie and elven magic have oft been aptly associated with life, from which they draw the majority of their power. However, with the death of much of Irdyas flora, the Quenoth Elves were forced to seek another source for their sorcery. In time, they learned to harness the power of the suns Sela and Naia - the twin stars that had razed the forests of Irdya to ashes, yet still spring forth the energy required for sparking life. Those who master this new magic sing of the dual nature of these embodiments of fire: flames that are both life and lifes demise."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
@ -32,9 +33,24 @@
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=faerie fire
description= _"faerie fire"
name=sun invocation
#textdomain wesnoth-utbs
description= _"sun invocation"
type=arcane
range=ranged
damage=7
number=3
icon=attacks/faerie-fire-sun.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_SONG_VERSE (active_on=offense) 0 2}
{SONG_VERSE_DESCRIPTION 1}
[/specials]
[/attack]
[attack]
name=sun ray
#textdomain wesnoth-utbs
description= _"sun ray"
type=arcane
range=ranged
damage=9
@ -42,7 +58,11 @@
icon=attacks/faerie-fire-sun.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_RAY}
{WEAPON_SPECIAL_SONG_VERSE () 1 2}
{SONG_VERSE_DESCRIPTION 2}
[/specials]
defense_weight = 0
[/attack]
{DEFENSE_ANIM "units/quenoth/sun_singer/sun-singer-defend2.png" "units/quenoth/sun_singer/sun-singer-defend1.png" {SOUND_LIST:ELF_FEMALE_HIT} }
[standing_anim]
@ -90,7 +110,7 @@
[/attack_anim]
[attack_anim]
[filter_attack]
name=faerie fire
name=sun invocation
[/filter_attack]
start_time=-350
{MISSILE_FRAME_FAERIE_FIRE}
@ -106,4 +126,29 @@
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sun ray
[/filter_attack]
start_time=-350
missile_start_time=-500
[missile_frame]
image="projectiles/icemissile-n-[7~1].png:[250,150*2,50*4]"
image_diagonal="projectiles/icemissile-ne-[7~1].png:[250,150*2,50*4]"
offset = 0.0~2.0
halo=halo/elven/ice-halo[1~5,1,2,6~9].png:[100*4,50*7]
halo_x,halo_y=0,0
[/missile_frame]
missile_blend_color=255,180,0
missile_blend_ratio=0.5
missile_halo_mod=~CS(255,-40,-155)
[frame]
image="units/quenoth/sun_singer/sun-singer.png"
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,0
halo_mod=~CS(255,-40,-155)
[/frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -7,8 +7,7 @@
gender=female
image=units/quenoth/sun_sylph/sun-sylph.png
profile="portraits/quenoth/sun_sylph.webp"
halo=halo/illuminates-aura.png~CS(50,20,-70)
hitpoints=46
hitpoints=42
movement_type=quenoth_float
movement=6
experience=150
@ -16,12 +15,12 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=53
cost=62
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}
{ABILITY_ILLUMINATES}
[/abilities]
{SONG_VERSE_EVENTS 2 3}
description= _ "In times past, those who stepped beyond the boundary of the worlds of elf and faerie were called Sylphs, mystics with unparalleled knowledge of the secrets of the natural sphere. However, in the harsh new world, the path into the realm of the faerie became no longer a journey into the heart of nature, but a diverging path between light and darkness. Those elves who embrace the burning suns as the fulcrum of life and death learn also to harness their power, transforming into beings imbued with radiant fire. These Sun Sylphs very much embody the power that they wield: light that heals and protects, and flames that smolder with destruction."
die_sound={SOUND_LIST:ELF_FEMALE_HIT}
[attack]
@ -30,23 +29,59 @@
description= _"touch"
type=fire
range=melee
damage=12
damage=10
number=2
icon=attacks/touch-faerie.png
[/attack]
[attack]
name=faerie fire
description= _"faerie fire"
name=sun invocation
#textdomain wesnoth-utbs
description= _"sun invocation"
type=arcane
range=ranged
damage=10
damage=7
number=4
icon=attacks/faerie-fire-sun.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_SONG_VERSE (active_on=offense) 0 3}
{SONG_VERSE_DESCRIPTION 1}
[/specials]
[/attack]
[attack]
name=sun ray
#textdomain wesnoth-utbs
description= _"sun ray"
type=arcane
range=ranged
damage=9
number=4
icon=attacks/faerie-fire-sun.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_RAY}
{WEAPON_SPECIAL_SONG_VERSE () 1 3}
{SONG_VERSE_DESCRIPTION 2}
[/specials]
defense_weight = 0
[/attack]
[attack]
name=sun incarnate
#textdomain wesnoth-utbs
description= _"sun incarnate"
type=fire
range=ranged
damage=11
number=4
icon=attacks/faerie-fire-sun.png
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_NOVA}
{WEAPON_SPECIAL_SONG_VERSE () 2 3}
{SONG_VERSE_DESCRIPTION 3}
[/specials]
defense_weight = 0
[/attack]
# filtering whether she is floating or standing
{DEFENSE_ANIM_FILTERED "units/quenoth/sun_sylph/sun-sylph-fly-defend2.png" "units/quenoth/sun_sylph/sun-sylph-fly-defend1.png" {SOUND_LIST:ELF_FEMALE_HIT} (
terrain_type={QUENOTH_UNWALKABLE_TERRAINS}
@ -130,7 +165,7 @@
[/attack_anim]
[attack_anim]
[filter_attack]
name=faerie fire
name=sun invocation
[/filter_attack]
start_time=-350
elfhalo_start_time=-350
@ -157,4 +192,76 @@
[/elfhalo_frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sun ray
[/filter_attack]
start_time=-350
elfhalo_start_time=-350
missile_start_time=-500
[missile_frame]
image="projectiles/icemissile-n-[7~1].png:[250,150*2,50*4]"
image_diagonal="projectiles/icemissile-ne-[7~1].png:[250,150*2,50*4]"
offset = 0.0~2.0
halo=halo/elven/ice-halo[1~5,1,2,6~9].png:[100*4,50*7]
halo_x,halo_y=0,0
[/missile_frame]
missile_blend_color=255,180,0
missile_blend_ratio=0.5
missile_halo_mod=~CS(255,-40,-155)
[if]
terrain_type={QUENOTH_UNWALKABLE_TERRAINS}
[frame]
image="units/quenoth/sun_sylph/sun-sylph-fly1.png"
[/frame]
[/if]
[else]
[frame]
image="units/quenoth/sun_sylph/sun-sylph.png"
[/frame]
[/else]
[elfhalo_frame]
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,0
halo_mod=~CS(255,-40,-155)
[/elfhalo_frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[attack_anim]
[filter_attack]
name=sun incarnate
[/filter_attack]
start_time=-350
elfhalo_start_time=-350
missile_start_time=-500
[missile_frame]
image="projectiles/sun-[1~9].png:[150,100*2,50*5,25]"
image_diagonal="projectiles/sun-[1~9].png:[150,100*2,50*5,25]"
halo=halo/elven/ice-halo[1~5,1,2,6~9].png:[100*4,50*7]
halo_x,halo_y=0,0
offset = 0
[/missile_frame]
missile_blend_color=255,180,0
missile_blend_ratio=0.5
missile_halo_mod=~CS(255,-40,-155)
[if]
terrain_type={QUENOTH_UNWALKABLE_TERRAINS}
[frame]
image="units/quenoth/sun_sylph/sun-sylph-fly1.png"
[/frame]
[/if]
[else]
[frame]
image="units/quenoth/sun_sylph/sun-sylph.png"
[/frame]
[/else]
[elfhalo_frame]
duration=500
halo=halo/elven/faerie-fire-halo[1~7].png
halo_x,halo_y=14,0
halo_mod=~CS(255,-40,-155)
[/elfhalo_frame]
{SOUND:HIT_AND_MISS magic-faeriefire.ogg magic-faeriefire-miss.ogg -350}
[/attack_anim]
[/unit_type]

View file

@ -15,19 +15,16 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=65
hitpoints=62
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
{AMLA_DEFAULT}
cost=52
cost=70
usage=mixed fighter
undead_variation=beast_rider
description= _ "The prestigious Flagbearers spend years out in the open deserts leading their brethren on patrols and hunts, where they forage for supplies while defending their villages from brigands. They are invariably masters of skirmishes and tactics, highly proficient at roaming through the inhospitable sands. Rarely the leaders of large villages or armies, Flagbearers nonetheless have the skill and charisma to act as generals in times of need, when the elves are threatened by something more than mere scavengers or wild beasts."
@ -35,17 +32,19 @@
[abilities]
{ABILITY_LEADERSHIP}
[/abilities]
attacks=2
[attack]
name=ram
#textdomain wesnoth-units
description= _"ram"
type=impact
range=melee
damage=10
damage=11
number=3
icon=attacks/ram.png
[specials]
{WEAPON_SPECIAL_SHOCK}
{WEAPON_SPECIAL_ONCE_PER_TURN ram}
[/specials]
[/attack]
[attack]
@ -54,9 +53,12 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=8
damage=7
number=3
icon=attacks/javelin-human.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN javelin}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/tauroch/flagbearer-defend-2.png" "units/quenoth/tauroch/flagbearer-defend-1.png" "tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"}
[attack_anim]

View file

@ -15,11 +15,11 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=71
hitpoints=59
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
village=50
[/defense]
[resistance]
blade=70
@ -32,7 +32,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=48
cost=70
usage=mixed fighter
undead_variation=beast_rider
description= _ "From the journal of Syniel, the Sand Skipper:
@ -46,14 +46,18 @@ I woke up today in the village, tired, but alive. My friends told me that the ta
[abilities]
{ABILITY_STEADFAST}
[/abilities]
attacks=2
[attack]
name=trample
description= _"trample"
type=impact
range=melee
damage=14
damage=12
number=2
icon=attacks/trample.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN trample}
[/specials]
[/attack]
[attack]
name=javelin
@ -62,9 +66,12 @@ I woke up today in the village, tired, but alive. My friends told me that the ta
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=11
damage=9
number=3
icon=attacks/javelin-human.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN javelin}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/tauroch/protector-defend-2.png" "units/quenoth/tauroch/protector-defend-1.png" "tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"}
[attack_anim]

View file

@ -18,15 +18,16 @@
hitpoints=42
movement_type=quenoth_beast
movement=5
experience=34
experience=51
level=1
alignment=lawful
advances_to=Tauroch Vanguard,Tauroch Stalwart
cost=20
cost=25
usage=mixed fighter
undead_variation=beast_rider
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 these unruly animals. 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 by itself and serves as a powerful warden to protect elven villages and caravans."
die_sound="tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"
attacks=2
[attack]
name=trample
description= _"trample"
@ -35,6 +36,9 @@
damage=8
number=2
icon=attacks/trample.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN trample}
[/specials]
[/attack]
[attack]
name=javelin
@ -46,6 +50,9 @@
damage=6
number=3
icon=attacks/javelin-human.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN javelin}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/tauroch/rider-defend-2.png" "units/quenoth/tauroch/rider-defend-1.png" "tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"}
[attack_anim]
@ -96,15 +103,15 @@
[/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}
{QUENOTH_RIDER_VARIANT 1 26}
{QUENOTH_RIDER_VARIANT 2 27}
{QUENOTH_RIDER_VARIANT 3 28}
{QUENOTH_RIDER_VARIANT 4 29}
{QUENOTH_RIDER_VARIANT 5 30}
{QUENOTH_RIDER_VARIANT 6 31}
{QUENOTH_RIDER_VARIANT 7 32}
{QUENOTH_RIDER_VARIANT 8 33}
{QUENOTH_RIDER_VARIANT 9 34}
{QUENOTH_RIDER_VARIANT 10 35}
#undef QUENOTH_RIDER_VARIANT

View file

@ -15,11 +15,11 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=56
hitpoints=48
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
village=60
village=50
[/defense]
[resistance]
blade=70
@ -27,11 +27,11 @@
impact=70
[/resistance]
movement=5
experience=80
experience=85
level=2
alignment=lawful
advances_to=Tauroch Protector
cost=33
cost=37
usage=mixed fighter
undead_variation=beast_rider
description= _ "When encountering wild taurochs, Quenoth hunters often observe the curious behavior of particularly stubborn beasts, who will brace their rugged bodies and absolutely refuse to budge when provoked. Though difficult to placate, these taurochs are sometimes selected by skilled riders for their exceptional resilience. Any warrior who finds their advance blocked by a Stalwart would undoubtedly be wise to seek another path, for trying to displace the beast would be akin to trying to fight a stone wall."
@ -39,14 +39,18 @@
[abilities]
{ABILITY_STEADFAST}
[/abilities]
attacks=2
[attack]
name=trample
description= _"trample"
type=impact
range=melee
damage=11
damage=9
number=2
icon=attacks/trample.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN trample}
[/specials]
[/attack]
[attack]
name=javelin
@ -55,9 +59,12 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=8
damage=7
number=3
icon=attacks/javelin-human.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN javelin}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/tauroch/stalwart-defend-2.png" "units/quenoth/tauroch/stalwart-defend-1.png" "tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"}
[attack_anim]

View file

@ -15,18 +15,15 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=51
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=85
level=2
alignment=lawful
advances_to=Tauroch Flagbearer
cost=35
cost=37
usage=mixed fighter
undead_variation=beast_rider
description= _ "The massive and fearless taurochs are often employed not only to charge and break through enemy formations, but to rally and inspire infantry to hold their ground. Vanguards are hardy riders, adept at surviving in the thick of battle and leading their brethren from the front lines. Towering above the rolling dunes, the Vanguards bear great flags that fly brightly in the desert skies, a distinctive sight even from far away across the sands. The presence of these riders is a heartening one for most elves and a deterrent for the many pillagers that rove the deserts."
@ -34,6 +31,7 @@
[abilities]
{ABILITY_LEADERSHIP}
[/abilities]
attacks=2
[attack]
name=ram
#textdomain wesnoth-units
@ -45,6 +43,7 @@
icon=attacks/ram.png
[specials]
{WEAPON_SPECIAL_SHOCK}
{WEAPON_SPECIAL_ONCE_PER_TURN ram}
[/specials]
[/attack]
[attack]
@ -53,9 +52,12 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=7
damage=6
number=3
icon=attacks/javelin-human.png
[specials]
{WEAPON_SPECIAL_ONCE_PER_TURN javelin}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/tauroch/vanguard-defend-2.png" "units/quenoth/tauroch/vanguard-defend-1.png" "tauroch-hit-1.ogg,tauroch-hit-2.ogg,tauroch-hit-3.ogg"}
[attack_anim]

View file

@ -11,28 +11,27 @@
{TRAIT_RESILIENT}
image=units/quenoth/warrior.png
profile="portraits/quenoth/warrior.webp"
hitpoints=44
hitpoints=52
movement_type=quenoth_foot
movement=5
experience=80
experience=77
level=2
alignment=lawful
advances_to=Quenoth Champion
cost=29
cost=30
usage=fighter
description= _ "When compared to a spear, a glaive is often a shorter weapon with less reach, but more versatile in use. An experienced fighter can use the head to hook or pin enemy weapons and strike from unusual angles, allowing them to catch an unwary opponent by surprise. In formation, Quenoth Warriors bear these somewhat unorthodox weapons to both strike with great power and to support their nearby brethren."
die_sound={SOUND_LIST:ELF_HIT}
[abilities]
{ABILITY_FORMATION}
[/abilities]
attacks=4
[attack]
name=glaive
description= _"glaive"
type=pierce
range=melee
damage=14
damage=18
number=2
icon=attacks/glaive.png
attacks_used=4
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
@ -42,9 +41,33 @@
description= _"glaive"
type=blade
range=melee
damage=8
damage=9
number=3
icon=attacks/glaive.png
attacks_used=3
[/attack]
[attack]
name=glaive
description= _"glaive"
type=pierce
range=melee
damage=18
number=1
icon=attacks/glaive.png
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
[/specials]
[/attack]
[attack]
name=glaive
description= _"glaive"
type=blade
range=melee
damage=9
number=1
icon=attacks/glaive.png
attacks_used=1
[/attack]
{DEFENSE_ANIM "units/quenoth/warrior-defend-2.png" "units/quenoth/warrior-defend-1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]

View file

@ -93,15 +93,15 @@ The race of this unit cannot be revealed yet. You must discover it in the game t
shallow_water=70
reef=70
swamp_water=70
flat=70
sand=50
flat=60
sand=60
forest=60
hills=60
mountains=60
village=70
hills=50
mountains=50
village=60
castle=60
cave=70
frozen=60
frozen=70
fungus=70
[/defense]
[resistance]
@ -160,7 +160,7 @@ The race of this unit cannot be revealed yet. You must discover it in the game t
name=quenoth_float
flying=yes
[movement_costs]
deep_water={UNREACHABLE}
deep_water=3
shallow_water=1
reef=1
swamp_water=1

View file

@ -1,5 +1,433 @@
#textdomain wesnoth-help
#define WEAPON_SPECIAL_SONG_VERSE ACTIVE_ON X DISTINGUISHER
[disable]
id = verse_{DISTINGUISHER}
[filter_self]
formula = "self.wml_vars.consecutive_attacks != {X}"
[/filter_self]
{ACTIVE_ON}
[/disable]
#enddef
#define SONG_VERSE_EVENTS X DISTINGUISHER
[event]
name = attack end
first_time_only = no
[filter_attack]
special_id = verse_{DISTINGUISHER}
[/filter_attack]
[modify_unit]
[filter]
find_in = unit
[/filter]
[set_variable]
name = attacked_this_turn
value = 1
[/set_variable]
[/modify_unit]
[/event]
[event]
name = new turn
first_time_only = no
id = song_verse_new_turn_{X}
[modify_unit]
[filter]
side = $side_number
[has_attack]
special_id = verse_{DISTINGUISHER}
[/has_attack]
[/filter]
[set_variable]
name = attacked_this_turn
value = 0
[/set_variable]
[/modify_unit]
[/event]
[event]
name = recruit, recall, post advance
first_time_only = no
id = song_verse_placed_{X}
[filter]
[has_attack]
special_id = verse_{DISTINGUISHER}
[/has_attack]
[/filter]
[modify_unit]
[filter]
find_in = unit
[/filter]
[set_variable]
name = consecutive_attacks
value = 0
[/set_variable]
[set_variable]
name = attacked_this_turn
value = 0
[/set_variable]
[/modify_unit]
[/event]
[event]
name = side turn end
first_time_only = no
id = song_verse_main_{X}
[store_unit]
[filter]
side = $side_number
[has_attack]
special_id = verse_{DISTINGUISHER}
[/has_attack]
[/filter]
variable = verse_units
[/store_unit]
[foreach]
array = verse_units
[do]
[if]
[have_unit]
find_in = this_item
formula = "self.wml_vars.consecutive_attacks < {X}"
[/have_unit]
[then]
[modify_unit]
[filter]
find_in = this_item
[/filter]
[set_variable]
name = consecutive_attacks
add = 1
[/set_variable]
[/modify_unit]
[/then]
[else]
[modify_unit]
[filter]
find_in = this_item
[/filter]
[set_variable]
name = consecutive_attacks
value = 0
[/set_variable]
[/modify_unit]
[/else]
[/if]
[modify_unit]
[filter]
find_in = this_item
formula = "self.wml_vars.attacked_this_turn = 0"
[/filter]
[set_variable]
name = consecutive_attacks
value = 0
[/set_variable]
[/modify_unit]
[/do]
[/foreach]
[/event]
[event]
name = attack_end
first_time_only = no
id = song_verse_illuminates
[filter_attack]
name = sun incarnate
[/filter_attack]
[object]
id = song_$unit.underlying_id|_$turn_number
[effect]
apply_to = new_ability
[abilities]
{ABILITY_ILLUMINATES}
[/abilities]
[/effect]
[effect]
apply_to = halo
halo = halo/illuminates-aura.png~CS(50,20,-70)
[/effect]
duration = scenario
[/object]
[event]
name = "side $side_number turn $($turn_number + 3)"
delayed_variable_substitution = no
[remove_object]
object_id = song_$unit.underlying_id|_$turn_number
[/remove_object]
[/event]
[/event]
#enddef
#define STR_VERSE_RESTRICT_1
_ "This attack can only be used as the first verse of the song."#enddef
#define STR_VERSE_RESTRICT_2
_ "This attack can only be used as the second verse of the song."#enddef
#define STR_VERSE_RESTRICT_3
_ "This attack can only be used as the third verse of the song."#enddef
#define STR_VERSE_NAME_1
_ "first verse"#enddef
#define STR_VERSE_NAME_2
_ "second verse"#enddef
#define STR_VERSE_NAME_3
_ "third verse"#enddef
#define SONG_VERSE_DESCRIPTION X
[dummy]
name = {STR_VERSE_NAME_{X}}
description = {STR_VERSE_RESTRICT_{X}}
[/dummy]
#enddef
#define WEAPON_SPECIAL_ONCE_PER_TURN ATTACK_NAME
[disable]
id = once_per_turn
name = _ "once per turn"
description = _ "This attack can be used offensively only once per turn"
[filter_self]
formula = "self.wml_vars.{ATTACK_NAME}_used > 0"
[/filter_self]
active_on = offense
[/disable]
#enddef
#define WEAPON_SPECIAL_ONCE_PER_TURN_EVENTS
[event]
name = attack end
first_time_only = no
[filter_attack]
special_id = once_per_turn
[/filter_attack]
[modify_unit]
[filter]
find_in = unit
[/filter]
[set_variable]
name = $weapon.name|_used
value = 1
[/set_variable]
[/modify_unit]
[/event]
[event]
name = turn end
first_time_only = no
[modify_unit]
[filter]
[has_attack]
special_id = once_per_turn_$weapon.name
[/has_attack]
[/filter]
[set_variable]
name = $weapon.name|_used
value = 0
[/set_variable]
[/modify_unit]
[/event]
#enddef
#define WEAPON_SPECIAL_NOVA
[dummy]
id = nova
name = _"nova"
description= _ "This weapon, when used offensively, deals damage to all units adjacent to the caster when it hits."
special_note=_ "This unit has wide-area attacks centered on the caster."
active_on = offense
[/dummy]
#enddef
#define WEAPON_SPECIAL_NOVA_EVENTS
[event]
name = attacker_hits
id = nova
first_time_only = no
[filter_attack]
special_id = nova
[/filter_attack]
[harm_unit]
[filter]
[not]
find_in = second_unit
[/not]
[filter_adjacent]
find_in = unit
[/filter_adjacent]
[/filter]
amount = $weapon.damage
damage_type = $weapon.type
alignment = $unit.alignment
kill = yes
experience = yes
fire_event = yes
[/harm_unit]
[/event]
#enddef
#define WEAPON_SPECIAL_RAY
[dummy]
id = ray
name = _"ray"
description= _ "This weapon, when used offensively, also deals damage to a unit behind the target."
active_on = offense
[/dummy]
#enddef
#define WEAPON_SPECIAL_RAY_EVENTS
[event]
name = attacker_hits
id = ray_hits
first_time_only = no
[filter_attack]
special_id = ray
[/filter_attack]
[harm_unit]
[filter]
[filter_adjacent]
find_in = second_unit
formula = "
unit_at(direction_from(self.loc,caster.facing)) = other
where
caster = unit_at(direction_from(self.loc, self.facing))
"
[/filter_adjacent]
[/filter]
amount = $weapon.damage
damage_type = $weapon.type
alignment = $unit.alignment
kill = yes
experience = yes
fire_event = yes
[/harm_unit]
[/event]
#enddef
#define UTBS_ABILITY_TAILWIND X
[tailwind]
id = tailwind
value = {X}
[/tailwind]
#enddef
#define UTBS_TAILWIND_EVENTS
[event]
name=turn refresh
first_time_only=no
id=tailwind
# This hardcodes that only tailwind+1 and tailwind+2 are supported, which simplifies the code to avoid them
# stacking (so a unit adjacent to both a tailwind+1 and a tailwind+2 will only get +2 rather than +3).
# If more levels should be supported, a loop can be added, but that will make the code more complex.
[store_unit]
[filter]
ability=tailwind
[filter_side]
[allied_with]
side=$side_number
[/allied_with]
[/filter_side]
[and]
# filter_wml is slow, which is why there's already an ability=tailwind filter before this
[filter_wml]
[abilities]
[tailwind]
id=tailwind
value=2
[/tailwind]
[/abilities]
[/filter_wml]
[/and]
[/filter]
variable=utbs_tailwind2_sources
[/store_unit]
[store_unit]
[filter]
ability=tailwind
[filter_side]
[allied_with]
side=$side_number
[/allied_with]
[/filter_side]
[and]
# filter_wml is slow, which is why there's already an ability=tailwind filter before this
[filter_wml]
[abilities]
[tailwind]
id=tailwind
value=1
[/tailwind]
[/abilities]
[/filter_wml]
[/and]
[/filter]
variable=utbs_tailwind1_sources
[/store_unit]
[modify_unit]
[filter]
side=$side_number
[filter_adjacent]
find_in=utbs_tailwind2_sources
[/filter_adjacent]
[/filter]
moves="$($this_unit.moves + 2)"
[/modify_unit]
[modify_unit]
[filter]
side=$side_number
[filter_adjacent]
find_in=utbs_tailwind1_sources
[/filter_adjacent]
[not]
[filter_adjacent]
find_in=utbs_tailwind2_sources
[/filter_adjacent]
[/not]
[/filter]
moves="$($this_unit.moves + 1)"
[/modify_unit]
{CLEAR_VARIABLE utbs_tailwind1_sources,utbs_tailwind2_sources}
[/event]
#enddef
#define STR_TAILWIND_RESTRICT_1
_ "At the start of the turn this unit increases movement points of surrounding units by +1"#enddef
#define STR_TAILWIND_RESTRICT_2
_ "At the start of the turn this unit increases movement points of surrounding units by +2"#enddef
#define UTBS_TAILWIND_DESCRIPTION X
[dummy]
name = _ "tailwind +"+{X}
description = {STR_TAILWIND_RESTRICT_{X}}
[/dummy]
#enddef
# These are all direct clones of the mainline healing abilities, except that
# they are set to exclude units suffering from dehydration. Dehydration is only
# delayed by healers, so they must not actually heal a dehydrated unit any
@ -243,11 +671,7 @@ Marksman attacks are only affected if the chance to hit is greater than 60%."
[filter]
ability=disengage
[not]
[filter_wml]
moves=$this_unit.max_moves
[/filter_wml]
[/not]
formula = "self.moves<self.max_moves"
[/filter]
{VARIABLE unit.moves 0}
@ -748,3 +1172,16 @@ Marksman attacks are only affected if the chance to hit is greater than 60%."
{CLEAR_VARIABLE update_support_units}
[/event]
#enddef
[resource]
id=utbs_ability_events
{UTBS_TAILWIND_EVENTS}
{WEAPON_SPECIAL_RAY_EVENTS}
{WEAPON_SPECIAL_NOVA_EVENTS}
{WEAPON_SPECIAL_ONCE_PER_TURN_EVENTS}
{SONG_VERSE_EVENTS 0 2}
{SONG_VERSE_EVENTS 1 2}
{SONG_VERSE_EVENTS 0 3}
{SONG_VERSE_EVENTS 1 3}
{SONG_VERSE_EVENTS 2 3}
[/resource]

View file

@ -126,6 +126,12 @@
{DEFAULT_KEY pass_allied_units bool yes}
[/tag]
[/tag]
[tag]
name="tailwind"
max=infinite
super="units/unit_type/abilities/~generic~"
{SIMPLE_KEY value f_int}
[/tag]
{BASED_ON_SPECIAL "attacks"}
{BASED_ON_SPECIAL "swarm"}
{BASED_ON_SPECIAL "chance_to_hit"}