Compare commits

...
Sign in to create a new pull request.

15 commits

Author SHA1 Message Date
Dalas121
956cf39972
Update amla.cfg 2024-12-24 13:52:37 -06:00
Dalas121
3007081a84
Update amla.cfg 2024-12-22 15:24:09 -06:00
Dalas121
9850350d80
Update amla.cfg 2024-12-22 09:38:32 -06:00
Dalas121
de6a3e1855
Update amla.cfg 2024-12-20 20:48:46 -06:00
Dalas121
5d7f90015d
Update amla.cfg 2024-12-20 19:32:57 -06:00
Dalas121
b0b0412879
Update amla.cfg 2024-12-19 09:17:44 -06:00
Dalas121
45e81e8051
Update amla.cfg 2024-12-18 13:56:47 -06:00
Dalas121
3950ddf5cd
Update _main.cfg 2024-12-18 13:56:42 -06:00
Dalas121
414689375e
Update amla.cfg 2024-12-07 18:42:19 -06:00
Dalas121
feb9914bbf
Update amla.cfg 2024-12-06 09:59:46 -06:00
Dalas121
b4977fb154
Update amla.cfg 2024-12-06 09:58:55 -06:00
Dalas121
67c6fefa29
Update data/core/macros/amla.cfg
Co-authored-by: Gunter Labes <soliton@wesnoth.org>
2024-12-06 09:55:49 -06:00
Dalas121
73ce39f520
Delete data/campaigns/Eastern_Invasion/utils/amlas.cfg 2024-12-06 08:31:29 -06:00
Dalas121
2dfa53c838
Update _main.cfg 2024-12-06 08:31:14 -06:00
Dalas121
d2e87f3dfb
Update amla.cfg 2024-12-06 08:21:47 -06:00
3 changed files with 277 additions and 310 deletions

View file

@ -174,9 +174,12 @@
[/entry]
[/about]
[load_resource]
id=use_stronger_amlas
[/load_resource]
#ifdef CAMPAIGN_EASTERN_INVASION
{GLOBAL__ANIMATIONS_RECRUIT}
{GLOBAL__UNIVERSAL_AMLAS}
{GLOBAL__ABILITY_TERROR}
{GLOBAL__TRAIT_DESERTER}
{GLOBAL__IMPLMENTATION_SHIELD_OF_THE_SENTINEL}

View file

@ -1,296 +0,0 @@
#textdomain wesnoth-ei
#define DEFAULT_AMLA_EFFECTS
[effect]
apply_to=max_experience
increase=20%
[/effect]
[effect]
apply_to=hitpoints
heal_full=yes
[/effect]
[effect]
apply_to=status
remove=poisoned
[/effect]
[effect]
apply_to=status
remove=slowed
[/effect]
#enddef
#define GLOBAL__UNIVERSAL_AMLAS
#############################
# EXPLAIN AMLAS
#############################
[event]
name=explain_amlas
[filter_condition]
{VARIABLE_CONDITIONAL finished_explaining_amlas not_equals yes}
[/filter_condition]
[message]
speaker=narrator
image=wesnoth-icon.png
message=_"In this campaign, whenever a max-level unit advances, they can select one of several minor bonuses!"
[/message]
{VARIABLE finished_explaining_amlas yes}
[/event]
#############################
# IMPLEMENT AMLAS
#############################
[event]
name=pre advance
first_time_only=no
[filter]
[not]
id=$amla_currently_advancing_id
[/not]
[/filter]
#--------------------
# SKIP IF NOT MAX-LEVEL
#--------------------
{STORE_UNIT_VAR id=$unit.id advances_to amla_candidate_advances_to}
[if] {VARIABLE_CONDITIONAL amla_candidate_advances_to equals ""}
[then]
[/then]
[else]
{CLEAR_VARIABLE amla_candidate_advances_to}
[return]
[/return]
[/else]
[/if]
{CLEAR_VARIABLE amla_candidate_advances_to}
#--------------------
# AVOID RECURSION
#--------------------
# modifying a unit re-triggers "pre advance", so avoid infinite recursion
{VARIABLE amla_currently_advancing_id $unit.id}
#--------------------
# EXPLAIN AMLAS
#--------------------
[fire_event]
name=explain_amlas
[/fire_event]
#--------------------
# ADD AMLAS
#--------------------
[remove_object]
object_id=universal_amlas_object
id=$unit.id
[/remove_object]
[modify_unit]
[filter]
id=$unit.id
[/filter]
[object]
id=universal_amlas_object
[effect]
apply_to=remove_advancement
amlas=amla_default
[/effect]
#--------------------
# HITPOINTS
#--------------------
[effect]
apply_to=new_advancement
[advancement]
id=hitpoints_increase
description= _ "Gain +8 hitpoints."
strict_amla=yes
max_times=-1
[effect]
apply_to=hitpoints
increase_total=8
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
#--------------------
# MELEE DAMAGE
#--------------------
[advancement]
id=melee_increase1
description= _ "Gain +4 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=1
[/has_attack]
[not]
[has_attack]
range=melee
number=2-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=4
range=melee
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[advancement]
id=melee_increase2
description= _ "Gain +2 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=2
[/has_attack]
[not]
[has_attack]
range=melee
number=3-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=2
range=melee
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[advancement]
id=melee_increase3
description= _ "Gain +1 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=3-99
[/has_attack]
[/filter]
[effect]
apply_to=attack
increase_damage=1
range=melee
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[advancement]
id=ranged_increase1
description= _ "Gain +3 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=1
[/has_attack]
[not]
[has_attack]
range=ranged
number=2-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=3
range=ranged
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[advancement]
id=ranged_increase2
description= _ "Gain +2 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=2
[/has_attack]
[not]
[has_attack]
range=ranged
number=3-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=2
range=ranged
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[advancement]
id=ranged_increase3
description= _ "Gain +1 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=3-99
[/has_attack]
[/filter]
[effect]
apply_to=attack
increase_damage=1
range=ranged
[/effect]
{DEFAULT_AMLA_EFFECTS}
[/advancement]
[/effect]
[/object]
[/modify_unit]
#--------------------
# RESET AMLAS
#--------------------
[event]
name=post advance
{CLEAR_VARIABLE amla_currently_advancing_id}
[remove_object]
object_id=universal_amlas_object
id=$unit.id
[/remove_object]
[/event]
[/event]
#enddef

View file

@ -1,6 +1,25 @@
#textdomain wesnoth-help
#this file contains macros for After Max Level Advancement (AMLA)
#define AMLA_EFFECTS_HEAL_AND_RAISE_XP
[effect]
apply_to=max_experience
increase=20%
[/effect]
[effect]
apply_to=hitpoints
heal_full=yes
[/effect]
[effect]
apply_to=status
remove=poisoned
[/effect]
[effect]
apply_to=status
remove=slowed
[/effect]
#enddef
#define AMLA_DEFAULT
# Canned definition of the default AMLA.
[advancement]
@ -12,19 +31,260 @@
[effect]
apply_to=hitpoints
increase_total=3
heal_full=yes
[/effect]
[effect]
apply_to=max_experience
increase=20%
[/effect]
[effect]
apply_to=status
remove=poisoned
[/effect]
[effect]
apply_to=status
remove=slowed
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
#enddef
#
# This is a resource intended for use in select mainline campaigns, and should not be relied upon for UMC.
# It may change in ways that aren't backwards-compatible with or that negatively affect the balance of UMC content that uses it.
#
# Include this resource in your [campaign] tag to replace the default +3hp AMLA with more powerful AMLA choices.
# All max-level units gain a +8hp AMLA option, and units with melee/ranged attacks gain options for increased melee/ranged damage.
# Units whose melee attacks all have 1 strike gain a +4 melee dmg option. Units whose melee attacks all have <=2 strikes gain a +2 melee dmg option. Otherwise, units gain a +1 melee dmg option.
# The same pattern follows for ranged attacks.
#
# The optional `use_stronger_amlas_filter` variable can be used to modify which units this macro affects. `use_stronger_amlas_filter` defaults to `side=1`
[resource]
id=use_stronger_amlas
#############################
# INITIALIZE AMLA FILTER
#############################
[event]
name=prestart
[filter_condition]
[variable]
name=use_stronger_amlas_filter
equals=$null
[/variable]
[/filter_condition]
[set_variable]
name=use_stronger_amlas_filter.side
value=1
[/set_variable]
[/event]
#############################
# IMPLEMENT AMLAS
#############################
[event]
name=unit placed,post advance
first_time_only=no
[insert_tag]
name=filter
variable=use_stronger_amlas_filter
[/insert_tag]
# skip if this unit already has active AMLAs
[filter]
[not]
[filter_wml]
[modifications]
[object]
id=universal_amlas_object
[/object]
[/modifications]
[/filter_wml]
[/not]
[/filter]
#--------------------
# ADD AMLAS IF MAX-LEVEL
#--------------------
[if]
[variable]
name=unit.advances_to
equals=""
[/variable]
[then]
#--------------------
# ADD AMLAS
#--------------------
[modify_unit]
[filter]
id=$unit.id
[/filter]
[object]
id=universal_amlas_object
[effect]
apply_to=remove_advancement
amlas=amla_default
[/effect]
[effect]
apply_to=new_advancement
#--------------------
# HITPOINTS
#--------------------
# +8 hitpoints
[advancement]
id=hitpoints_increase
description= _ "Gain +8 hitpoints."
strict_amla=yes
major_amla=yes # this makes the XP bar blue, allowing the player to differentiate between campaigns with these AMLAs (blue) and campaigns without (purple)
max_times=-1
[effect]
apply_to=hitpoints
increase_total=8
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
#--------------------
# MELEE DAMAGE
#--------------------
# +4 melee damage
[advancement]
id=melee_increase1
description= _ "Gain +4 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=1
[/has_attack]
[not]
[has_attack]
range=melee
number=2-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=4
range=melee
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
# +2 melee damage
[advancement]
id=melee_increase2
description= _ "Gain +2 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=2
[/has_attack]
[not]
[has_attack]
range=melee
number=3-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=2
range=melee
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
# +1 melee damage
[advancement]
id=melee_increase3
description= _ "Gain +1 melee damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=melee
number=3-99
[/has_attack]
[/filter]
[effect]
apply_to=attack
increase_damage=1
range=melee
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
#--------------------
# RANGED DAMAGE
#--------------------
# +4 ranged damage
[advancement]
id=ranged_increase1
description= _ "Gain +4 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=1
[/has_attack]
[not]
[has_attack]
range=ranged
number=2-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=4
range=ranged
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
# +2 ranged damage
[advancement]
id=ranged_increase2
description= _ "Gain +2 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=2
[/has_attack]
[not]
[has_attack]
range=ranged
number=3-99
[/has_attack]
[/not]
[/filter]
[effect]
apply_to=attack
increase_damage=2
range=ranged
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
# +1 ranged damage
[advancement]
id=ranged_increase3
description= _ "Gain +1 ranged damage."
strict_amla=yes
max_times=-1
[filter]
[has_attack]
range=ranged
number=3-99
[/has_attack]
[/filter]
[effect]
apply_to=attack
increase_damage=1
range=ranged
[/effect]
{AMLA_EFFECTS_HEAL_AND_RAISE_XP}
[/advancement]
[/effect]
[/object]
[/modify_unit]
[/then]
[/if]
[/event]
[/resource]