wesnoth/data/utils.cfg
2006-05-12 03:09:17 +00:00

334 lines
5.7 KiB
INI

#this file contains utility macros
#macro to define a 'quantity' differently based on difficulty levels
#define QUANTITY ATTRIBUTE ON_EASY ON_NORMAL ON_HARD
#ifdef EASY
{ATTRIBUTE}={ON_EASY}
#endif
#ifdef NORMAL
{ATTRIBUTE}={ON_NORMAL}
#endif
#ifdef HARD
{ATTRIBUTE}={ON_HARD}
#endif
#enddef
#macro to define AI attack depth for different difficulty levels
#define ATTACK_DEPTH ON_EASY ON_NORMAL ON_HARD
{QUANTITY attack_depth {ON_EASY} {ON_NORMAL} {ON_HARD}}
#enddef
#macro to define number of turns for different difficulty levels
#define TURNS ON_EASY ON_NORMAL ON_HARD
{QUANTITY turns {ON_EASY} {ON_NORMAL} {ON_HARD}}
#enddef
#macro to make an AI team not recruit scouts
#define NO_SCOUTS
villages_per_scout=0
#enddef
#macro to add a hero icon to the unit
#define IS_HERO
overlays="misc/hero-icon.png"
#enddef
#macro which will let you go {GOLD x y z} to set
#the gold depending on easy/medium/hard - x/y/z
#define GOLD ON_EASY ON_NORMAL ON_HARD
{QUANTITY gold {ON_EASY} {ON_NORMAL} {ON_HARD}}
#enddef
#define INCOME ON_EASY ON_NORMAL ON_HARD
#ifdef EASY
income={ON_EASY}
#endif
#ifdef NORMAL
income={ON_NORMAL}
#endif
#ifdef HARD
income={ON_HARD}
#endif
#enddef
#define DOT X Y
[image]
x,y={X},{Y}
file=misc/dot.png
delay=500
[/image]
#enddef
#define CROSS X Y
[image]
x,y={X},{Y}
file=misc/cross.png
delay=500
[/image]
#enddef
#macro to quickly pick a random value (in the $random variable, to avoid
#cluterring up savegames with such temporary variables)
#define RANDOM RANGE
[set_variable]
name=random
random={RANGE}
[/set_variable]
#enddef
#macro to initialize a variable
#define VARIABLE VAR VALUE
[set_variable]
name={VAR}
value={VALUE}
[/set_variable]
#enddef
#macro to do mathematical operations on variables
#define VARIABLE_OP VAR OP ARG
[set_variable]
name={VAR}
{OP}={ARG}
[/set_variable]
#enddef
#define CLEAR_VARIABLE VAR
[clear_variable]
name={VAR}
[/clear_variable]
#enddef
#macro to iterate over an array
#define FOREACH ARRAY VAR
{VARIABLE {VAR} 0}
[while]
[variable]
name={VAR}
less_than=${ARRAY}.length
[/variable]
[do]
#enddef
#define NEXT VAR
[set_variable]
name={VAR}
add=1
[/set_variable]
[/do]
[/while]
{CLEAR_VARIABLE {VAR}}
#enddef
#define DEBUG_MSG MSG
[message]
speaker=narrator
message={MSG}
[/message]
#enddef
#macro to make a side start a scenario with villages
#define STARTING_VILLAGES SIDE RADIUS
[event]
name=prestart
[store_starting_location]
side={SIDE}
variable=temp_starting_location
[/store_starting_location]
[store_locations]
x,y=$temp_starting_location.x,$temp_starting_location.y
radius={RADIUS}
variable=temp_starting_locs
#all the types of villages
terrain=AaBbDeLptUvVZY
[/store_locations]
{FOREACH temp_starting_locs i}
{VARIABLE_OP temp_x_var to_variable temp_starting_locs[$i].x}
{VARIABLE_OP temp_y_var to_variable temp_starting_locs[$i].y}
[capture_village]
side={SIDE}
x,y=$temp_x_var,$temp_y_var
[/capture_village]
{NEXT i}
{CLEAR_VARIABLE temp_x_var}
{CLEAR_VARIABLE temp_y_var}
{CLEAR_VARIABLE temp_starting_location}
{CLEAR_VARIABLE temp_starting_locs}
{CLEAR_VARIABLE i}
[/event]
#enddef
#define MENU_IMG_TXT IMG TXT
"&"+{IMG}+"="+{TXT}#enddef
#define MENU_IMG_TXT2 IMG TXT1 TXT2
"&"+{IMG}+"="+{TXT1}+"="+{TXT2}#enddef
#
#USAGE {UNIT (Elvish Fighter) (Myname) ( _ "Myname") 1 1 1}
#
#define UNIT TYPE DESCRIPTION UDESCRIPTION SIDE X Y
[unit]
type={TYPE}
description={DESCRIPTION}
user_description={UDESCRIPTION}
side={SIDE}
x={X}
y={Y}
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
#enddef
#define UNDEAD_UNIT TYPE SIDE X Y
[unit]
type={TYPE}
side={SIDE}
x={X}
y={Y}
[modifications]
{TRAIT_UNDEAD}
{TRAIT_LOYAL}
[/modifications]
[/unit]
#enddef
#define PLACE_IMAGE IMAGE_FILE X Y
[item]
x={X}
y={Y}
image={IMAGE_FILE}
[/item]
#enddef
#define TREMOR
[sound]
name="rumble.ogg"
[/sound]
[scroll]
x=5
y=0
[/scroll]
[scroll]
x=-10
y=0
[/scroll]
[scroll]
x=5
y=5
[/scroll]
[scroll]
x=0
y=-10
[/scroll]
[scroll]
x=0
y=5
[/scroll]
#enddef
#macro to easily replace image_defensive and image_defensive_range
#define IMAGE_DEFENSIVE IMAGE_FILE
[defend]
[frame]
begin=-150
end=150
image={IMAGE_FILE}
[/frame]
[/defend]
#enddef
#define IMAGE_DEFENSIVE_RANGE IMAGE_FILE
[defend]
range=ranged
[frame]
begin=-150
end=150
image={IMAGE_FILE}
[/frame]
[/defend]
#enddef
#define IMAGE_DEFENSIVE_SHORT IMAGE_FILE
[defend]
range=melee
[frame]
begin=-150
end=150
image={IMAGE_FILE}
[/frame]
[/defend]
#enddef
# a macro to define a common set of magenta color values which different
# units can be color shifted by using the team color system
#define MAGENTA_IS_THE_TEAM_COLOR
flag_rgb=244,154,193,63,0,22,85,0,42,105,0,57,123,0,69,140,0,81,158,0,93,177,0,105,195,0,116,214,0,127,236,0,140,238,61,150,239,91,161,241,114,172,242,135,182,246,173,205,248,193,217,250,213,229,253,233,241
#enddef
#define DEFAULT_MUSIC_PLAYLIST
[music]
name=gameplay01.ogg
ms_before=12000
[/music]
[music]
name=gameplay02.ogg
ms_before=12000
append=yes
[/music]
[music]
name=gameplay03.ogg
ms_before=12000
append=yes
[/music]
[music]
name=main_menu.ogg
ms_before=12000
append=yes
[/music]
[music]
name=wesnoth-1.ogg
ms_before=12000
append=yes
[/music]
[music]
name=wesnoth-2.ogg
ms_before=12000
append=yes
[/music]
#enddef
#define COLOR_HEAL
green=255
#enddef
#define COLOR_HARM
red=255
#enddef
#define COLOR_WHITE
red=255
green=255
blue=255
#enddef