Compare commits
15 commits
master
...
Dalas121-p
Author | SHA1 | Date | |
---|---|---|---|
![]() |
956cf39972 | ||
![]() |
3007081a84 | ||
![]() |
9850350d80 | ||
![]() |
de6a3e1855 | ||
![]() |
5d7f90015d | ||
![]() |
b0b0412879 | ||
![]() |
45e81e8051 | ||
![]() |
3950ddf5cd | ||
![]() |
414689375e | ||
![]() |
feb9914bbf | ||
![]() |
b4977fb154 | ||
![]() |
67c6fefa29 | ||
![]() |
73ce39f520 | ||
![]() |
2dfa53c838 | ||
![]() |
d2e87f3dfb |
3 changed files with 277 additions and 310 deletions
|
@ -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}
|
||||
|
|
|
@ -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
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Reference in a new issue