UtBS - Update and Fixes (#7450)

* UtBS unit balance changes

* UtBS xp and recall cost changes

* Requested fixes and improvements
This commit is contained in:
Hejnewar 2023-03-16 22:04:20 +01:00 committed by GitHub
parent c13e128f71
commit 2b01dd8d74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 233 additions and 37 deletions

View file

@ -1441,4 +1441,7 @@
#enddef
{UTBS_INCLUDE utils/deaths.cfg}
#undef UTBS_GARAK_MUST_LIVE
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -1920,4 +1920,7 @@
#enddef
{UTBS_INCLUDE utils/deaths.cfg}
#undef UTBS_GARAK_MUST_LIVE
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -2070,4 +2070,7 @@
#enddef
{UTBS_INCLUDE utils/deaths.cfg}
#undef UTBS_GARAK_MUST_LIVE
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -1139,4 +1139,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -2705,4 +2705,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -1763,4 +1763,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -2012,4 +2012,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -649,4 +649,6 @@
[/option]
[/message]
[/event]
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -635,4 +635,7 @@
[/option]
[/message]
[/event]
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -4687,4 +4687,6 @@
[/time_area]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -2813,4 +2813,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -716,4 +716,6 @@
{NEW_GOLD_CARRYOVER 100}
[/endlevel]
[/event]
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -1518,4 +1518,6 @@
[/event]
{UTBS_INCLUDE utils/deaths.cfg}
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -1523,4 +1523,6 @@
#enddef
{UTBS_INCLUDE utils/deaths.cfg}
#undef UTBS_IN_FINAL_FIGHT
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -544,4 +544,6 @@
linger_mode=no
[/endlevel]
[/event]
{UTBS_XP_MODIFIER}
{UTBS_CORRECT_RECALL_COST}
[/scenario]

View file

@ -11,7 +11,7 @@
{TRAIT_RESILIENT}
image=units/quenoth/champion.png
profile="portraits/quenoth/champion.webp"
hitpoints=68
hitpoints=64
movement_type=quenoth_foot
movement=5
experience=150
@ -19,7 +19,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=63
cost=60
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}
@ -35,6 +35,7 @@
attacks_used=4
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 4}
[/specials]
[/attack]
[attack]
@ -46,6 +47,9 @@
number=3
icon=attacks/glaive.png
attacks_used=3
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 3}
[/specials]
[/attack]
[attack]
name=glaive
@ -58,6 +62,7 @@
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 2}
[/specials]
[/attack]
[attack]
@ -69,6 +74,9 @@
number=1
icon=attacks/glaive.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 1}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/champion-defend2.png" "units/quenoth/champion-defend1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]

View file

@ -14,7 +14,7 @@
level=3
alignment=lawful
advances_to=Quenoth Shyde
cost=52
cost=58
usage=healer
[abilities]
{UTBS_ABILITY_CURES}

View file

@ -36,6 +36,7 @@
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 2}
[/specials]
[/attack]
[attack]
@ -51,6 +52,7 @@
attacks_used=1
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 1}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/fighter-defend-2.png" "units/quenoth/fighter-defend-1.png" {SOUND_LIST:ELF_HIT}}

View file

@ -14,7 +14,7 @@
hitpoints=45
movement_type=quenoth_foot
movement=6
experience=73
experience=81
level=2
alignment=lawful
advances_to=Quenoth Ranger
@ -37,6 +37,9 @@
number=4
icon=attacks/sword-elven.png
attacks_used=4
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 4}
[/specials]
[/attack]
[attack]
name=blowgun
@ -49,6 +52,7 @@
attacks_used=2
[specials]
{WEAPON_SPECIAL_POISON}
{WEAPON_SPECIAL_USES_ATTACKS 2}
[/specials]
[/attack]
[attack]
@ -62,6 +66,9 @@
number=1
icon=attacks/sword-elven.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 1}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/flanker-defend2.png" "units/quenoth/flanker-defend1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]

View file

@ -6,7 +6,7 @@
image=units/quenoth/outrider.png
profile="portraits/quenoth/outrider.webp"
race=quenoth
hitpoints=54
hitpoints=59
movement_type=quenoth_horse
[resistance]
pierce=120
@ -32,7 +32,7 @@
#textdomain wesnoth-utbs
type=blade
range=melee
damage=11
damage=10
number=4
icon=attacks/sword-elven.png
movement_used=0

View file

@ -39,7 +39,7 @@
icon=attacks/sword-elven.png
attacks_used=6
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 6}
[/specials]
[/attack]
[attack]
@ -53,6 +53,7 @@
attacks_used=2
[specials]
{WEAPON_SPECIAL_POISON}
{WEAPON_SPECIAL_USES_ATTACKS 2}
[/specials]
[/attack]
[attack]
@ -67,7 +68,7 @@
icon=attacks/sword-elven.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 1}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/ranger-defend2.png" "units/quenoth/ranger-defend1.png" {SOUND_LIST:ELF_HIT}}

View file

@ -14,7 +14,7 @@
level=2
alignment=lawful
advances_to=Quenoth Druid
cost=29
cost=35
usage=healer
[abilities]
{UTBS_ABILITY_CURES}

View file

@ -10,11 +10,11 @@
hitpoints=36
movement_type=quenoth_foot
movement=6
experience=80
experience=96
level=2
alignment=lawful
advances_to=Quenoth Sun Sylph
cost=30
cost=37
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}

View file

@ -15,7 +15,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=62
cost=68
usage=healer
[abilities]
{UTBS_ABILITY_HEALS}

View file

@ -15,7 +15,7 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=62
hitpoints=72
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
movement=5
@ -24,7 +24,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=70
cost=83
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."
@ -39,7 +39,7 @@
description= _"ram"
type=impact
range=melee
damage=11
damage=13
number=3
icon=attacks/ram.png
[specials]

View file

@ -15,7 +15,7 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=59
hitpoints=71
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
@ -32,7 +32,7 @@
alignment=lawful
advances_to=null
{AMLA_DEFAULT}
cost=70
cost=79
usage=mixed fighter
undead_variation=beast_rider
description= _ "From the journal of Syniel, the Sand Skipper:
@ -52,7 +52,7 @@ I woke up today in the village, tired, but alive. My friends told me that the ta
description= _"trample"
type=impact
range=melee
damage=12
damage=11
number=2
icon=attacks/trample.png
[specials]
@ -66,7 +66,7 @@ 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=9
damage=11
number=3
icon=attacks/javelin-human.png
[specials]

View file

@ -18,7 +18,7 @@
hitpoints=42
movement_type=quenoth_beast
movement=5
experience=51
experience=59
level=1
alignment=lawful
advances_to=Tauroch Vanguard,Tauroch Stalwart

View file

@ -15,7 +15,7 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=48
hitpoints=54
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
[defense]
@ -27,11 +27,11 @@
impact=70
[/resistance]
movement=5
experience=85
experience=119
level=2
alignment=lawful
advances_to=Tauroch Protector
cost=37
cost=47
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."
@ -59,7 +59,7 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=7
damage=8
number=3
icon=attacks/javelin-human.png
[specials]

View file

@ -15,15 +15,15 @@
{TRAIT_RESILIENT}
{TRAIT_DEXTROUS}
{TRAIT_HEALTHY}
hitpoints=50
hitpoints=53
movement_type=quenoth_beast
#mostly like a foot Elf, but they are bad at defending in villages
movement=5
experience=85
experience=122
level=2
alignment=lawful
advances_to=Tauroch Flagbearer
cost=37
cost=47
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."
@ -52,7 +52,7 @@
#textdomain wesnoth-utbs
type=pierce
range=ranged
damage=6
damage=7
number=3
icon=attacks/javelin-human.png
[specials]

View file

@ -14,7 +14,7 @@
hitpoints=52
movement_type=quenoth_foot
movement=5
experience=77
experience=81
level=2
alignment=lawful
advances_to=Quenoth Champion
@ -34,6 +34,7 @@
attacks_used=4
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 4}
[/specials]
[/attack]
[attack]
@ -45,6 +46,9 @@
number=3
icon=attacks/glaive.png
attacks_used=3
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 3}
[/specials]
[/attack]
[attack]
name=glaive
@ -57,6 +61,7 @@
attacks_used=2
[specials]
{WEAPON_SPECIAL_FIRSTSTRIKE}
{WEAPON_SPECIAL_USES_ATTACKS 2}
[/specials]
[/attack]
[attack]
@ -68,6 +73,9 @@
number=1
icon=attacks/glaive.png
attacks_used=1
[specials]
{WEAPON_SPECIAL_USES_ATTACKS 1}
[/specials]
[/attack]
{DEFENSE_ANIM "units/quenoth/warrior-defend-2.png" "units/quenoth/warrior-defend-1.png" {SOUND_LIST:ELF_HIT}}
[attack_anim]

View file

@ -1,5 +1,78 @@
#textdomain wesnoth-help
#define STR_USES_ATTACKS_NAME_1
_ "uses 1 attack"#enddef
#define STR_USES_ATTACKS_NAME_2
_ "uses 2 attacks"#enddef
#define STR_USES_ATTACKS_NAME_3
_ "uses 3 attacks"#enddef
#define STR_USES_ATTACKS_NAME_4
_ "uses 4 attacks"#enddef
#define STR_USES_ATTACKS_NAME_5
_ "uses 5 attacks"#enddef
#define STR_USES_ATTACKS_NAME_6
_ "uses 6 attacks"#enddef
#define STR_USES_ATTACKS_RESTRICT_1
_ "This attack uses 1 attack"#enddef
#define STR_USES_ATTACKS_RESTRICT_2
_ "This attack uses 2 attacks"#enddef
#define STR_USES_ATTACKS_RESTRICT_3
_ "This attack uses 3 attacks"#enddef
#define STR_USES_ATTACKS_RESTRICT_4
_ "This attack uses 4 attacks"#enddef
#define STR_USES_ATTACKS_RESTRICT_5
_ "This attack uses 5 attacks"#enddef
#define STR_USES_ATTACKS_RESTRICT_6
_ "This attack uses 6 attacks"#enddef
#define WEAPON_SPECIAL_USES_ATTACKS X
[disable]
id = uses_attacks
name = {STR_USES_ATTACKS_NAME_{X}}
description = {STR_USES_ATTACKS_RESTRICT_{X}}
[filter_self]
formula = "self.max_attacks < {X}"
[/filter_self]
active_on = offense
[/disable]
#enddef
#define WEAPON_SPECIAL_USES_ATTACKS_EVENTS
[event]
name = attack end
id = uses_attacks
first_time_only = no
[filter_attack]
special_id = uses_attacks
[/filter_attack]
[modify_unit]
[filter]
x,y = $x1,$y1
[/filter]
[object]
[effect]
apply_to = max_attacks
increase = -$weapon.attacks_used
[/effect]
duration = turn
[/object]
[/modify_unit]
[/event]
#enddef
#define WEAPON_SPECIAL_SONG_VERSE ACTIVE_ON X DISTINGUISHER
[disable]
id = verse_{DISTINGUISHER}
@ -236,18 +309,46 @@ _ "third verse"#enddef
name = turn end
first_time_only = no
[modify_unit]
[store_unit]
[filter]
[has_attack]
special_id = once_per_turn_$weapon.name
special_id = once_per_turn
[/has_attack]
[/filter]
[set_variable]
name = $weapon.name|_used
value = 0
[/set_variable]
[/modify_unit]
variable = opts_units
[/store_unit]
[foreach]
array = opts_units
variable = current_opts_unit
[do]
[foreach]
array = current_opts_unit.attack
variable = possibly_opt_attack
[do]
[if]
[variable]
name = possibly_opt_attack
as_type = weapon
formula = "index_of('once_per_turn', value.specials)!=-1"
[/variable]
[then]
[modify_unit]
[filter]
find_in = current_opts_unit
[/filter]
[set_variable]
name = $possibly_opt_attack.name|_used
value = 0
[/set_variable]
[/modify_unit]
[/then]
[/if]
[/do]
[/foreach]
[/do]
[/foreach]
[/event]
#enddef
@ -1178,6 +1279,7 @@ Marksman attacks are only affected if the chance to hit is greater than 60%."
{UTBS_TAILWIND_EVENTS}
{WEAPON_SPECIAL_RAY_EVENTS}
{WEAPON_SPECIAL_NOVA_EVENTS}
{WEAPON_SPECIAL_USES_ATTACKS_EVENTS}
{WEAPON_SPECIAL_ONCE_PER_TURN_EVENTS}
{SONG_VERSE_EVENTS 0 2}
{SONG_VERSE_EVENTS 1 2}

View file

@ -134,3 +134,36 @@ if(red <= green and green <= blue + 3, ({NEWCHAN} / 255.0)^2 * 255.0, {ORIGCHAN}
[/object]
[/event]
#enddef
#define UTBS_XP_MODIFIER
experience_modifier={ON_DIFFICULTY 100 150 200}
#enddef
#define UTBS_CORRECT_RECALL_COST
[event]
name = start
[store_unit]
[filter]
side = 1, 2
x,y = recall,recall
[/filter]
variable = recall_to_correct
[/store_unit]
[foreach]
array = recall_to_correct
[do]
[store_unit_type]
type = $this_item.type
variable = utbs_unit_type
[/store_unit_type]
[modify_unit]
[filter]
find_in = this_item
[/filter]
recall_cost = "$($utbs_unit_type.cost*{ON_DIFFICULTY 0.33 0.66 1})"
[/modify_unit]
{CLEAR_VARIABLE utbs_unit_type}
[/do]
[/foreach]
[/event]
#enddef

View file

@ -3,7 +3,8 @@
#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."
# the note should be changed to better reflect the current state of this campaign and faction
story= _ "Note: This campaign is probably not appropriate for beginners. It changes certain Wesnoth standards, such as the elves stats, the day/night cycle, recall costs and general approach to the difficulty levels. 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]
[part]
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."