Macro Reference
翻訳と言うよりも列挙に近い。
■Ability macros
これはユニットのSingleWML記述に含まれる。
[abilities]節内
ABILITY_HEALS
ABILITY_UNPOISON
ABILITY_CURES
ABILITY_REGENERATES
ABILITY_STEADFAST
ABILITY_LEADERSHIP_LEVEL_1
ABILITY_LEADERSHIP_LEVEL_2
ABILITY_LEADERSHIP_LEVEL_3
ABILITY_LEADERSHIP_LEVEL_4
ABILITY_LEADERSHIP_LEVEL_5
ABILITY_SKIRMISHER
ABILITY_ILLUMINATES
ABILITY_TELEPORT
ABILITY_AMBUSH
ABILITY_NIGHTSTALK
ABILITY_CONCEALMENT
ABILITY_SUBMERGE
ABILITY_FEEDING
[specials]節内
WEAPON_SPECIAL_BERSERK
WEAPON_SPECIAL_BACKSTAB
WEAPON_SPECIAL_PLAGUE_TYPE TYPE
(with type specifier)
WEAPON_SPECIAL_PLAGUE
WEAPON_SPECIAL_SLOW
WEAPON_SPECIAL_PETRIFY
WEAPON_SPECIAL_MARKSMAN
WEAPON_SPECIAL_MAGICAL
WEAPON_SPECIAL_SWARM
WEAPON_SPECIAL_CHARGE
WEAPON_SPECIAL_DRAIN
WEAPON_SPECIAL_FIRSTSTRIKE
WEAPON_SPECIAL_POISON
■AI
MODIFY_AI_ADD_ASPECT SIDE ASPECT_ID FACET
例:
{MODIFY_AI_ADD_ASPECT 1 aggression (id=always value=0.5)} {MODIFY_AI_ADD_ASPECT 1 leader_goal (id=always [value]x=1 y=2[/value])}
MODIFY_AI_ADD_STAGE SIDE STAGE
MODIFY_AI_ADD_GOAL SIDE GOAL
MODIFY_AI_ADD_CANDIDATE_ACTION SIDE STAGE_ID
CANDIDATE_ACTION
MODIFY_AI_DELETE_ASPECT SIDE ASPECT_ID FACET_ID
例:
{MODIFY_AI_DELETE_ASPECT 1 aggression night}
MODIFY_AI_DELETE_STAGE SIDE STAGE_ID
例:
{MODIFY_AI_DELETE_STAGE 1 fallback}
{MODIFY_AI_DELETE_STAGE 1 3}
MODIFY_AI_DELETE_GOAL SIDE GOAL_ID
例:
{MODIFY_AI_DELETE_GOAL 1 kill_undead}
{MODIFY_AI_DELETE_GOAL 1 0}
MODIFY_AI_DELETE_CANDIDATE_ACTION SIDE STAGE_ID CANDIDATE_ACTION_ID
例:
{MODIFY_AI_DELETE_CANDIDATE_ACTION 1 special_poisoning_formula} {MODIFY_AI_DELETE_CANDIDATE_ACTION 1 0}
AI_ASPECT ASPECT_ID FACET
AI_SIMPLE_ASPECT ASPECT_ID FACET_ID VALUE
AI_SIMPLE_ALWAYS_ASPECT ASPECT_ID VALUE
AI_SIMPLE_ASPECT_FOR_TIME_OF_DAY ASPECT_ID FACET_ID TIMEOFDAY VALUE
AI_SIMPLE_NIGHT_ASPECT ASPECT_ID VALUE
AI_SIMPLE_DAY_ASPECT ASPECT_ID VALUE
AI_SIMPLE_ASPECT_VALUE ASPECT_ID FACET_ID VALUE
AI_SIMPLE_ALWAYS_ASPECT_VALUE ASPECT_ID VALUE
AI_SIMPLE_ASPECT_FOR_TIME_OF_DAY_VALUE ASPECT_ID FACET_ID TIMEOFDAY VALUE
AI_SIMPLE_NIGHT_ASPECT_VALUE ASPECT_ID VALUE
AI_SIMPLE_DAY_ASPECT_VALUE ASPECT_ID VALUE
MODIFY_AI_ADD_SIMPLE_ASPECT SIDE ASPECT_ID FACET_ID VALUE
MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT SIDE ASPECT_ID VALUE
MODIFY_AI_ADD_SIMPLE_ASPECT_FOR_TIME_OF_DAY SIDE ASPECT_ID FACET_ID TIMEOFDAY VALUE
MODIFY_AI_ADD_SIMPLE_NIGHT_ASPECT SIDE ASPECT_ID
VALUE
MODIFY_AI_ADD_SIMPLE_DAY_ASPECT SIDE ASPECT_ID VALUE
MODIFY_AI_ADD_SIMPLE_ASPECT_VALUE SIDE ASPECT_ID FACET_ID VALUE
MODIFY_AI_ADD_SIMPLE_ALWAYS_ASPECT_VALUE SIDE ASPECT_ID VALUE
MODIFY_AI_ADD_SIMPLE_ASPECT_FOR_TIME_OF_DAY_VALUE SIDE ASPECT_ID FACET_ID TIMEOFDAY VALUE
MODIFY_AI_ADD_SIMPLE_NIGHT_ASPECT_VALUE SIDE ASPECT_ID VALUE
MODIFY_AI_ADD_SIMPLE_DAY_ASPECT_VALUE SIDE ASPECT_ID VALUE
AI_NO_SCOUTS
AI_NEW_SYNTAX
use stable 1.8 ai syntax
AI_SCALE_ATTACK_DEPTH_BY_DIFFICULTY
AI_NO_RECRUITMENT
AI_SIMPLE_FORMULA_AI_EXPERIMENTAL_RECRUITMENT enable new formula-ai
recruitment made by Dragonking (experimental!)
AI_ASPECT_LEADER_GOAL_MOVE_TO X Y
AI_ASPECT_LEADER_GOAL_MOVE_TO_AND_STAY_THERE X Y
CLEAR_AI_ALWAYS_ASPECT_LEADER_GOAL SIDE
■AI candidate actions
AI_CA_POISONING
■AI controller
AI_CONTROLLER AFFIX PLAYER_SIDE ALLY_SIDES
VARIABLES
AI_CONTROLLER_FUTURE_STRINGS
■AMLA
このファイルはAfter Max Level Advancement(AMLA)のためのマクロを含む。
LEADING_ANIM FULL_IMAGE HALFWAYS_IMAGE
DEFENSE_ANIM REACTION_IMAGE BASE_IMAGE HIT_SOUND
DEFENSE_ANIM_FILTERED REACTION_IMAGE BASE_IMAGE HIT_SOUND FILTER
DEFENSE_ANIM_RANGE REACTION_IMAGE BASE_IMAGE HIT_SOUND RANGE
DEFENSE_ANIM_ELVEN_RANGE REACTION_IMAGE BASE_IMAGE HIT_SOUND RANGE
STANDARD_IDLE_FILTER
MISSILE_FRAME_WAIL
MISSILE_FRAME_LIGHT_BEAM
MISSILE_FRAME_FIRE_BREATH N_OFFSET S_OFFSET N_DIAGONAL_OFFSET S_DIAGONAL_OFFSET
MISSILE_FRAME_FIRE_BREATH_N OFFSET
MISSILE_FRAME_FIRE_BREATH_S OFFSET
MISSILE_FRAME_FIRE_BREATH_N_DIAGONAL OFFSET
MISSILE_FRAME_FIRE_BREATH_S_DIAGONAL OFFSET
MISSILE_FRAME_FAERIE_FIRE
MISSILE_FRAME_FIREBALL
MISSILE_FRAME_HATCHET
■conditional-utils
MPシナリオのための条件文
省略
■deprecated-utils
取り除かれるべくスケジュールされるガラクタ。
DEPRECATE MACRO_NAME VERSION_NAME
ADD_HERO_ICON FILTER
REMOVE_HERO_ICON FILTER
■event-utils
このファイルは一般的なWMLイベントのためのショートカット(prestart, side
turnなど)。イベントをより早く少ないスペースで記述するために用いられる。
ON_EVENT NAME ACTION_WML
ON_PRESTART ACTION_WML
例:side2に13,15の村の所有権を持たせてシナリオを始めたい時
{ON_PRESTART (
[capture_village]
side=2
x,y=13,15
[/capture_village]
)}ON_START ACTION_WML
例:シナリオが始まる時にダイアログを表示したい時
{ON_START (
[message]
speaker=Konrad
message= _ "Hey, I can see some enemies up ahead!"
[/message]
[message]
speaker=Delfador
message= _ "Yes, so it would seem. Charge!"
[/message]
)}
ON_SIDETURN ACTION_WML
例:各プレイヤーのゴールドを固定量にしたい時
{ON_SIDETURN (
[modify_side]
side=3
gold=0
[/modify_side]
)}
ON_TURN TURN ACTION_WML
例:ターン3にプレイヤー1に属するウーズを作りたい時
{ON_TURN 3 (
[unit]
side=1
type=wose
x,y=12,4
[/unit]
)}
ON_VICTORY ACTION_WML
例:プレイヤーを祝福したい時
{ON_VICTORY (
[message]
speaker=narrator
message="Congratulations!"
[/message]
)}
ON_DEFEAT ACTION_WML
例:プレイヤーにより易しい難易度を薦めたい時
{ON_DEFEAT (
[message]
speaker=narrator
message="Aww.. you lost. Try again with 800g and +40g income?"
[/message]
)}
ALLOW_UNDO
例:あるメモを読むことをアンドゥできるようにしたい時
{ON_TILE 5 7 () (
[message]
speaker=narrator
message="This is a note."
[/message]
{ALLOW_UNDO}
)}
ON_TILE_ONCE X Y FILTER ACTION_WML
例:一度だけ読めるテキストメッセージを作りたい時
{ON_TILE_ONCE 5 7 () (
[message]
speaker=narrator
message="This is a note."
[/message]
)}
CALL_FUNCTION FNAME PARAMS
一連のパラメーターで発生するイベント。
例:
{CALL_FUNCTION my_event a,b,c=1,2,3}
■image-utils
画像、オーバーレイ、表示効果のための実用的マクロ
MAGENTA_IS_THE_TEAM_COLOR
IS_HERO
IS_LOYAL
NEW_JOURNEY X Y
OLD_JOURNEY X Y
NEW_BATTLE X Y
OLD_BATTLE X Y
NEW_REST X Y
OLD_REST X Y
PLACE_IMAGE IMAGE X Y
REMOVE_IMAGE X Y
例:
{REMOVE_IMAGE 14 5}
TEAM_COLOR_OVERRIDE FILTER TEAMCOLOR
MAKE_HERO ID_STRING
UNMAKE_HERO ID_STRING
ANIMATED_CAMPFIRE X Y
ANIMATED_BRAZIER X Y
FLAG_VARIANT NAME
■interface-utils
インターフェイスショートカットマクロ。
MESSAGE SPEAKER IMAGE CAPTION TEXT
例:アンデッドになんらかの感情を表明する妖精みたいなナレーターを使いたい時
{MESSAGE narrator "units/elves-wood/shyde.png" _ "Faery" _ "Aarr! Them be undeadies! Loooks at them.."}
FLOATING_TEXT FILTER COLOUR TEXT
例:あるユニットが8ダメージを受けるトラップに掛かった時
{FLOATING_TEXT x,y=$x1,$y1 255,0,0 "8"}
HIGHLIGHT_IMAGE X Y IMAGE BACKGROUND
CLEAR_FOG SIDE X Y RADIUS
UNCLEAR_FOG
SET_LABEL X Y STRING
例:
{SET_LABEL 4 7 _ "There be dragons here!"}
REMOVE_LABEL X Y
例:
{REMOVE_LABEL 4 7}
SET_LABEL_PERSISTENT X Y STRING
例:
{SET_LABEL_PERSISTENT 4 7 _ "There really will be dragons here!!"}
SET_IMAGE_AND_LABEL_PERSISTENT X Y IMAGE STRING
FAKE_UNIT_MOVE X1 X2 Y1 Y2 SIDE TYPE MODIFIERS
例:
{FAKE_UNIT_MOVE 1 2 1 2 1 (Dark Adept) (
gender=female
variation=fancy
)}
SCROLL X Y
SCROLL_TO X Y
QUAKE SOUND
EARTHQUAKE ACTION_WML
例:
{EARTHQUAKE (
[kill]
canrecruit=no
animate=yes
[/kill]
)}
COLOR_ADJUST RED GREEN BLUE
例:
{COLOR_ADJUST 0 0 100}
FLASH_WHITE ACTION_WML
FLASH_RED ACTION_WML
FLASH_GREEN ACTION_WML
FLASH_BLUE ACTION_WML
THUNDER ACTION_WML
例:
{THUNDER (
[store_unit]
[filter]
side=3
[/filter]
variable=player3
kill=yes
[/store_unit]
)}
FADE_TO_BLACK
FADE_TO_BLACK_HOLD TIME
FADE_IN
DEBUG TEXT
例:
{DEBUG "inconsistency: $unit.id is not loyal!"}
LOG TEXT
例:
{LOG "player moved to forbidden location"}
WARNING TEXT
例:
{WARNING "malformed unit data"}
ERROR TEXT
例:
{ERROR "could not respawn hero at 2,4"}
■items
アイテムやオブジェクトのためのマクロ。
PICKUPPABLE_ITEM ID X Y CAN_TAKE_FILTER IMAGE MESSAGE CANNOT_TAKE_MESSAGE OBJECT
例:
{PICKUPPABLE_ITEM ring_of_hp 8 12 race=human items/ring-red.png
_"$unit.name finds a pretty ring. Should he pick it up?"
_"$unit.name finds a pretty ring. But only a human can take it!" (
[object]
name= _ "Ring of HP"
image=items/ring-red.png
description= _ "This ring grants the wearer +10 max hp!"
[effect]
apply_to=hitpoints
increase_total=10
[/effect]
[/object]
)}
LIGHTNING_ANIMATION NAME_STRING DIRECTION_NUMBER
■scenario-utils
シナリオの目的操作のための実用的マクロ
SET_OBJECTIVES SIDE SUMMARY NOTE CONDITION_WML
例:
{SET_OBJECTIVES 0 "Survive for 3 turns" () ()}
VICTORY_CONDITION DESCRIPTION
例:
{SET_OBJECTIVES 0 "Kill eachother." (
{VICTORY_CONDITION "Kill all other players."}
)}
DEFEAT_CONDITION DESCRIPTION
例:
{SET_OBJECTIVES 0 "Survive." (
{DEFEAT_CONDITION "Death of your leader."}
)}
SIDE_PLAYER SIDE TEAM DESCRIPTION GOLD INCOME SIDE_WML
例:
{SIDE_PLAYER 1 "Good Guys" "Good Guy #1" 200 -2 ()}
SIDE_COMPUTER SIDE TEAM DESCRIPTION GOLD INCOME SIDE_WML AI_WML
例:
{SIDE_COMPUTER 4 "Evil Guys" "Evil One" 666 999 (
aggression=0.95
)}
NO_MAP_DATA
AI_CANT_PLAY SIDES
例:
{AI_CANT_PLAY 1,2,3,4}
■side-utils
LIMIT_CONTEMPORANEOUS_RECRUITS SIDE TYPE LIMIT_NUMBER
例:
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 "Troll Rocklobber" 2}
LIMIT_RECRUITS SIDE TYPE LIMIT_NUMBER
例:
{LIMIT_RECRUITS 2 Draug 1}
CAPTURE_FILTERED_VILLAGES SIDE FILTER
CAPTURE_VILLAGES_OF_TYPE TERRAIN SIDE X Y
RADIUS
CAPTURE_VILLAGES SIDE X Y RADIUS
STARTING_VILLAGES SIDE RADIUS
STARTING_VILLAGES_AREA SIDE X Y RADIUS
STARTING_VILLAGES_ALL SIDE
TRANSFER_VILLAGE_OWNERSHIP FROM_SIDE
TO_SIDE
MAKE_AI_SIDE_PERSISTENT SIDE
RECALL_AI_SIDE SIDE
■sound-utils
音楽コントロールのマクロ、およびサウンドソースリストの宣言
DEFAULT_MUSIC_PLAYLIST
SCENARIO_MUSIC MUSIC
EXTRA_SCENARIO_MUSIC MUSIC
例:
{SCENARIO_MUSIC battle.ogg}
{EXTRA_SCENARIO_MUSIC knolls.ogg}
{EXTRA_SCENARIO_MUSIC frantic.ogg}
INTRO_AND_SCENARIO_MUSIC INTRO_MUSIC
SCENARIO_MUSIC
INCIDENTAL_MUSIC MUSIC
APPEND_MUSIC MUSIC
REPLACE_SCENARIO_MUSIC MUSIC
SOUND:SLOW
SOUND:POISON
SOUND:HIT_AND_MISS HITSOUND MISSSOUND TIME
■teleport-utils
ユニットをテレポートさせるマクロ
TELEPORT_UNIT FILTER X Y
例:サイド3のリーダーを4,5に
{TELEPORT_UNIT (
side=3
canrecruit=yes
) 4 5}
TELEPORT_TILE OLDX OLDY NEWX NEWY
例:1,1のユニットを4,5に
{TELEPORT_TILE 1 1 4 5}
■terrain-utils
地形やオーバーレイを操作する実用的マクロ
MODIFY_TERRAIN TERRAIN X_SPAN Y_SPAN
例:14,15と14,16を草原に
{MODIFY_TERRAIN Gg (14,14) (15,16)}
MODIFY_TERRAIN_MASK X Y MASK_VALUE
RULES_WML
SCATTER_IMAGE FILTER NUMBER IMAGE
例:草原の上に松の木の20個のコピーをばらまく
{SCATTER_IMAGE (terrain=Gg) 20 scenery/pine1.png}
■traits
SingleWML記述の[modifications]節のための性質
TRAIT_LOYAL
TRAIT_UNDEAD
TRAIT_MECHANICAL
TRAIT_STRONG
TRAIT_DEXTROUS
TRAIT_QUICK
TRAIT_INTELLIGENT
TRAIT_RESILIENT
TRAIT_HEALTHY
TRAIT_FEARLESS
TRAIT_FEARLESS_MUSTHAVE
TRAIT_WEAK
TRAIT_SLOW
TRAIT_DIM
TRAIT_AGED
■unit-utils
このファイルはWML作者のための実用マクロを含んでいる。
UNIT SIDE TYPE X Y WML
GENERIC_UNIT SIDE TYPE X Y
NOTRAIT_UNIT SIDE TYPE X Y
例:
{NOTRAIT_UNIT 1 (Elvish Fighter) 19 16}
LOYAL_UNIT SIDE TYPE X Y
例:
{LOYAL_UNIT 1 (Elvish Fighter) 19 16}
LOYAL_UNDEAD_UNIT SIDE TYPE X Y
NAMED_UNIT SIDE TYPE
X Y ID_STRING NAME_STRING WML
NAMED_LOYAL_UNIT SIDE TYPE X Y ID_STRING NAME_STRING
例:
{LOYAL_UNIT 1 (Elvish Fighter) 19 16 (Myname) ( _ "Myname")}
NAMED_GENERIC_UNIT
SIDE TYPE X Y ID_STRING NAME_STRING
NAMED_NOTRAIT_UNIT SIDE TYPE X Y ID_STRING NAME_STRING
例:
{NAMED_NOTRAIT_UNIT 1 (Elvish Fighter) 20 22 (Mochi) (_"Mochi") }
GUARDIAN
NO_UPKEEP
RECALL_OR_CREATE_UNIT WML ID_STRING
RECALL_OR_CREATE TYPE ID_STRING
STORE_UNIT_VAR FILTER VAR TO_VAR
例:
{STORE_UNIT_VAR (id=James) side side_of_James}
{MODIFY_UNIT (race=orc) side $side_of_James}
ADVANCE_UNIT FILTER ADVANCETO
例:
{ADVANCE_UNIT type=Spearman Cavalryman}
xample to advance your leader normally:
{ADVANCE_UNIT canrecruit,side=yes,1 ""}
TRANSFORM_UNIT T_FILTER TRANSFORMTO
例:
{TRANSFORM_UNIT type=Spearman Cavalryman}
■utils
このファイルはWML作者のための一般的実用マクロを含む
QUANTITY NAME EASY_VALUE NORMAL_VALUE
HARD_VALUE
TURNS EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
GOLD EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
INCOME EASY_AMOUNT NORMAL_AMOUNT HARD_AMOUNT
NO_INCOME
ATTACK_DEPTH EASY_VALUE NORMAL_VALUE
HARD_VALUE
NO_SCOUTS
RANDOM THING
VARIABLE VAR VALUE
VARIABLE_OP VAR OP_NAME VALUE
CLEAR_VARIABLE VAR
FOREACH ARRAY VAR
NEXT VAR
REPEAT NUMBER BODY_WML
例:
{REPEAT 5 (
{QUAKE "rumble.ogg"}
)}
LOOKUP_INDEX FROM_ARRAY WHERE_KEY WHERE_VALUE
SAVE_AS
Call this to lookup an array element that has a particular key-value
pair
then it saves the index of that element, or
if the key-value pair is not found it saves the array's length
LOOKUP_VALUE FROM_ARRAY WHERE_KEY WHERE_VALUE SAVE_KEY DEFAULT
SAVE_AS
例:
Call this to look up an array element that has a particular key-value
pair
then it saves another key from that same element.
DEBUG_MSG MESSAGE
MODIFY_UNIT FILTER VAR VALUE
例:
{MODIFY_UNIT type=Spearman side 2}
MOVE_UNIT_BY FILTER X_OFFSET Y_OFFSET
MOVE_UNIT FILTER TO_X TO_Y
FULL_HEAL FILTER
PUT_TO_RECALL_LIST FILTER
例:
[event]
name=moveto
[filter]
x,y=20,38
[/filter]
{PUT_TO_RECALL_LIST x,y=20,38}
[/event]
TIME_ACTIONS CONTENT_WML
例:
[event]
name=start
{TIME_ACTIONS (
{MODIFY_UNIT race=orc name ( _ "Azir")}
)}
{DEBUG_MSG "Renaming all orcs to Azir took $timed_actions_ms|ms."}
[/event]
例:
{RECRUIT_UNIT_VARIATIONS 2 "Walking Corpse" none,none,drake,dwarf}
NEUTRAL_SIDE SIDE
SCATTER_UNITS NUMBER TYPES PADDING_RADIUS SLF UNIT
例:
{SCATTER_UNITS 20 "Elvish Fighter,Elvish Archer,Elvish Shaman" 3 (
terrain=Gs^Fp
x=10-30
y=20-40
[not]
[filter]
[/filter]
[/not]
[not]
[filter_adjacent_location]
[filter]
[/filter]
[/filter_adjacent_location]
[/not]
) (
side=2
generate_name=yes
random_traits=yes
[modifications]
{TRAIT_LOYAL}
[/modifications]
)}
FORCE_CHANCE_TO_HIT FILTER FILTER_SECOND CTH EXTRA_CONDITIONS
例:
{FORCE_CHANCE_TO_HIT id=Konrad id="Li'sar" 100 (
[variable]
name=turn_number
greater_than=10
[/variable]
)}