Campaign/Forgotten Legacy/Unit Utils
From The Battle for Wesnoth Wiki
# I'm putting The Forgotten Legacy's common unit macros in here.
# I've shamlessly copied Southguard's macro file which in turn
# had pillaged from The Rise of Wesnoth and the Useful WML Fragemnts Wiki
#define OFFENSIVE_SAURIAN
[defense]
shallow_water=70
forest=50
hills=60
mountains=60
castle=50
cave=50
[/defense]
#enddef
#define AMLA_BARBED_LANCE ATTACK
[advancement]
max_times=1
id=sg_barbs
description= _ "Place barbs on your weapon. (slow)"
[effect]
apply_to=attack
name={ATTACK}
set_special=slow
increase_attacks=1
[/effect]
[effect]
apply_to=max_experience
increase=12
[/effect]
[/advancement]
#enddef
#define AMLA_MACE
[advancement]
max_times=1
id=sg_mace
description= _ "Wield a mace. (impact)"
[effect]
apply_to=new_attack
name=mace
icon=mace.png
range=short
type=impact
damage=7
number=2
[/effect]
[effect]
apply_to=max_experience
increase=12
[/effect]
[/advancement]
#enddef
#define AMLA_COURAGEOUS ATTACK
[advancement]
max_times=2
id=sg_courageous
description= _ "Add a swing to your attack."
[effect]
apply_to=attack
name={ATTACK}
increase_attacks=1
[/effect]
[effect]
apply_to=max_experience
increase=6
[/effect]
[/advancement]
#enddef
#define FL_STRONG
[trait]
id=strong
name= _ "strong"
[effect]
apply_to=attack
range=short
increase_damage=2
[/effect]
[effect]
apply_to=hitpoints
increase_total=2
heal_full=yes
[/effect]
[/trait]
#enddef
#define FL_DEXTROUS
[trait]
id=strong
name= _ "dextrous"
[effect]
apply_to=attack
range=long
increase_damage=1
[/effect]
[/trait]
#enddef
#define FL_RESILIENT
[trait]
id=resilient
name= _ "resilient"
[effect]
apply_to=hitpoints
increase_total=7
#make sure the unit starts at full health
heal_full=yes
[/effect]
[/trait]
#enddef
#define FL_ELITE
[trait]
id=elite
name= _ "Elite Guard"
[effect]
apply_to=hitpoints
increase_total=+20%
[/effect]
[effect]
apply_to=hitpoints
increase_total=20
#make sure the unit starts at full health
heal_full=yes
[/effect]
[effect]
apply_to=loyal
[/effect]
[effect]
apply_to=attack
range=short
increase_damage=6
[/effect]
[/trait]
#enddef
#define FL_QUICK
[trait]
id=quick
name= _ "quick"
[effect]
apply_to=movement
increase=1
[/effect]
[effect]
apply_to=hitpoints
increase_total=-10%
heal_full=yes
[/effect]
[/trait]
#enddef
#define FL_AGILE
[trait]
id=dextrous
name= _ "dextrous"
[effect]
apply_to=attack
range=long
increase_damage=-10%
[/effect]
[effect]
apply_to=attack
range=long
increase_attacks=1
[/effect]
[/trait]
#enddef
#define FL_INTELLIGENT
[trait]
id=intelligent
name= _ "intelligent"
[effect]
apply_to=max_experience
increase=-20%
[/effect]
[/trait]
#enddef
#define FL_LOYAL
[trait]
id=loyal
name= _ "loyal"
[effect]
apply_to=loyal
[/effect]
[/trait]
#enddef
#define FL_UNIT TYPE DESCRIPTION SIDE X Y
[unit]
type={TYPE}
side={SIDE}
description={DESCRIPTION}
x,y={X},{Y}
traits_description= _ "loyal"
random_traits=yes
[modifications]
{FL_LOYAL}
[/modifications]
[/unit]
#enddef
#define FL_AMBUSHER TYPE DESCRIPTION SIDE X Y
[unit]
type={TYPE}
side={SIDE}
description={DESCRIPTION}
x,y={X},{Y}
random_traits=yes
[status]
ambush=on
[/status]
[/unit]
#enddef
#define FL_FOREST_GUARD TYPE DESCRIPTION SIDE X Y
[unit]
type={TYPE}
side={SIDE}
description={DESCRIPTION}
x,y={X},{Y}
ai_special=guardian
random_traits=yes
[status]
ambush=on
[/status]
[/unit]
#enddef
#define FL_GUARD TYPE DESCRIPTION SIDE X Y
[unit]
type={TYPE}
description={DESCRIPTION}
side={SIDE}
x,y={X},{Y}
ai_special=guardian
random_traits=yes
[/unit]
#enddef
#define PUFF_OF_SMOKE X Y
{VARIABLE smoke_image_num 1}
{REPEAT}
{VARIABLE_OP smoke_image_filename format puff_of_smoke/smoke_$smoke_image_num|.png}
[item]
x,y={X},{Y}
halo=$smoke_image_filename
[/item]
[redraw][/redraw]
[delay]
time=25
[/delay]
[removeitem]
x,y={X},{Y}
[/removeitem]
{VARIABLE_OP smoke_image_num add 1}
{TIMES 12}
{redraw}
#enddef
This page was last edited on 23 March 2008, at 12:50.