Cleaned up the unit creation macros (esp random placement),

and removed all references to the CREATE_UNIT macro from scenario 2.
This commit is contained in:
Jan Rietema 2007-09-18 21:48:36 +00:00
parent dade42471b
commit 16b4ad8fce
2 changed files with 160 additions and 160 deletions

View file

@ -396,31 +396,22 @@
#define SCORPION_PLACEMENT
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT_AREA 29 62 2}
#ifdef EASY
{VARIABLE number_of_scorpions 4}
#endif
#ifdef NORMAL
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{VARIABLE number_of_scorpions 6}
#endif
#ifdef HARD
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{RANDOM_PLACEMENT 29 62 2 ({CREATE_UNIT 3 "Giant Scorpion" 1 1 "Scorpion" (user_description=_"Scorpion"
ai_special="guardian")})}
{VARIABLE number_of_scorpions 8}
#endif
{PLACE_UNITS_RANDOMLY $number_of_scorpions 3 "Giant Scorpion" "Scorpion" (ai_special="guardian")}
{CLEAR_VARIABLE number_of_scorpions}
{CLEAR_PLACEMENT_AREA}
#enddef
@ -528,10 +519,6 @@
description=Scorpion
[/have_unit]
#!***Some scorpions alive, do nothing***
[then]
[/then]
[else]
[item]
@ -590,26 +577,12 @@
#define OGRE_PLACEMENT
{RANDOM_PLACEMENT 17 49 2 ({CREATE_UNIT 3 "Ogre" 1 1 "Hunting Ogre" (user_description=_"Hunting Ogre"
role="Hunting Ogre"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 17 49 2 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Hunting Ogre" (user_description=_"Hunting Ogre"
role="Hunting Ogre"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 17 49 2 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Hunting Ogre" (user_description=_"Hunting Ogre"
role="Hunting Ogre"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 17 49 2 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Hunting Ogre" (user_description=_"Hunting Ogre"
role="Hunting Ogre"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 17 49 2 ({CREATE_UNIT 3 "Ogre" 1 1 "Hunting Ogre" (user_description=_"Hunting Ogre"
role="Hunting Ogre"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT_AREA 17 49 2}
{PLACE_UNITS_RANDOMLY 3 3 "Young Ogre" "Hunting Ogre" (ai_special="guardian")}
{PLACE_UNITS_RANDOMLY 2 3 "Ogre" "Hunting Ogre" (ai_special="guardian")}
{CLEAR_PLACEMENT_AREA}
#enddef
@ -692,6 +665,8 @@
#endif
{SETUP_ENEMY_THIRST 3 $ogre_thirst}
{VARIABLE ogres_killed 0}
[event]
name=attack
[filter]
@ -838,63 +813,41 @@
[event]
name=turn 5
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Trapper" 1 1 "Black Lieutenant" (user_description=_"Black Lieutenant"
role="Black Lieutenant"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Thug" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Thug" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Poacher" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Poacher" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT_AREA 6 43 3}
#ifdef EASY
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Thug" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Poacher" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{VARIABLE trappers 1}
{VARIABLE thugs 3}
{VARIABLE poachers 3}
{VARIABLE bandits 0}
#endif
#ifdef NORMAL
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Bandit" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Thug" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Poacher" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{VARIABLE trappers 1}
{VARIABLE thugs 3}
{VARIABLE poachers 3}
{VARIABLE bandits 1}
#endif
#ifdef HARD
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Trapper" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Bandit" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{RANDOM_PLACEMENT 6 43 3 ({CREATE_UNIT 2 "Bandit" 1 1 "Patrol Bandit" (user_description=_"Black Hand Bandit"
random_traits="no"
ai_special="guardian")})}
{VARIABLE trappers 2}
{VARIABLE thugs 2}
{VARIABLE poachers 2}
{VARIABLE bandits 2}
#endif
{PLACE_UNITS_RANDOMLY $trappers 2 "Trapper" "Black Lieutenant" (ai_special="guardian")}
{PLACE_UNITS_RANDOMLY $thugs 2 "Thug" "Black Hand Bandit" (ai_special="guardian")}
{PLACE_UNITS_RANDOMLY $poachers 2 "Poacher" "Black Hand Bandit" (ai_special="guardian")}
{PLACE_UNITS_RANDOMLY $bandits 2 "Bandit" "Black Hand Bandit" (ai_special="guardian")}
{CLEAR_VARIABLE trappers}
{CLEAR_VARIABLE thugs}
{CLEAR_VARIABLE poachers}
{CLEAR_VARIABLE bandits}
{CLEAR_PLACEMENT_AREA}
{SETUP_ENEMY_THIRST 2 0}
{VARIABLE ogres_killed 0}
[if]
[have_unit]
side=1
@ -1096,41 +1049,41 @@
{ADD x_coord 7}
{ADD y_coord -1}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Skeleton" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Revenant" 1 1 "Go'hag" (user_description=_"Go'hag"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Skeleton Archer" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Bone Shooter" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
#ifdef EASY
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Skeleton" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Skeleton Archer" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT_AREA $x_coord $y_coord 3}
#ifdef EASY
{VARIABLE skeletons 2}
{VARIABLE archers 2}
{VARIABLE shooters 1}
{VARIABLE revenants 0}
#endif
#ifdef NORMAL
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Revenant" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Skeleton Archer" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{VARIABLE skeletons 1}
{VARIABLE archers 2}
{VARIABLE shooters 1}
{VARIABLE revenants 1}
#endif
#ifdef HARD
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Revenant" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{RANDOM_PLACEMENT $x_coord $y_coord 3 ({CREATE_UNIT 4 "Bone Shooter" 1 1 "Undead Raider" (user_description=_"Undead Raider"
role="ElyssaUndead")})}
{VARIABLE skeletons 1}
{VARIABLE archers 1}
{VARIABLE shooters 2}
{VARIABLE revenants 1}
#endif
{PLACE_UNITS_RANDOMLY 1 4 "Revenant" "Go'hag" (role="ElyssaUndead")}
{PLACE_UNITS_RANDOMLY $skeletons 4 "Skeleton" "Undead Raider" (role="ElyssaUndead")}
{PLACE_UNITS_RANDOMLY $archers 4 "Skeleton Archer" "Undead Raider" (role="ElyssaUndead")}
{PLACE_UNITS_RANDOMLY $revenants 4 "Revenant" "Undead Raider" (role="ElyssaUndead")}
{PLACE_UNITS_RANDOMLY $shooters 4 "Bone Shooter" "Undead Raider" (role="ElyssaUndead")}
{CLEAR_VARIABLE skeletons}
{CLEAR_VARIABLE archers}
{CLEAR_VARIABLE shooters}
{CLEAR_VARIABLE revenants}
{CLEAR_PLACEMENT_AREA}
{CLEAR_VARIABLE x_coord}
{CLEAR_VARIABLE y_coord}
@ -1322,17 +1275,13 @@
role=wraith
[/unit]
{CREATE_UNIT 4 "Ghost" 33 25 "Honor Guard" (user_description=_"Honor Guard"
role=Wraith)}
{CREATE_UNIT 4 "Ghost" 35 25 "Honor Guard" (user_description=_"Honor Guard"
role=Wraith)}
{RANDOM_TRAIT_UNIT 4 "Ghost" 33 25 "Honor Guard" (role=Wraith)}
{RANDOM_TRAIT_UNIT 4 "Ghost" 35 25 "Honor Guard" (role=Wraith)}
#ifdef EASY
#else
{CREATE_UNIT 4 "Ghost" 33 26 "Honor Guard" (user_description=_"Honor Guard"
role=Wraith)}
{CREATE_UNIT 4 "Ghost" 35 26 "Honor Guard" (user_description=_"Honor Guard"
role=Wraith)}
{RANDOM_TRAIT_UNIT 4 "Ghost" 33 26 "Honor Guard" (role=Wraith)}
{RANDOM_TRAIT_UNIT 4 "Ghost" 35 26 "Honor Guard" (role=Wraith)}
#endif
[message]
@ -1389,38 +1338,27 @@
#!***Do ogre event***
[else]
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{RANDOM_PLACEMENT_AREA 34 27 3}
#ifdef EASY
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{VARIABLE ogres 1}
{VARIABLE young_ogres 3}
#endif
#ifdef NORMAL
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Young Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{VARIABLE ogres 2}
{VARIABLE young_ogres 2}
#endif
#ifdef HARD
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{RANDOM_PLACEMENT 34 27 3 ({CREATE_UNIT 3 "Ogre" 1 1 "Ogre Nomad" (user_description=_"Ogre Nomad"
random_traits="no")})}
{VARIABLE ogres 3}
{VARIABLE young_ogres 1}
#endif
{PLACE_UNITS_RANDOMLY $ogres 3 "Ogre" "Ogre Nomad" (random_traits="no")}
{PLACE_UNITS_RANDOMLY $young_ogres 3 "Young Ogre" "Ogre Nomad" (random_traits="no")}
{CLEAR_VARIABLE ogres}
{CLEAR_VARIABLE young_ogres}
{CLEAR_PLACEMENT_AREA}
[message]
type=Ogre
@ -2387,8 +2325,7 @@
[/filter_adjacent_location]
[/have_location]
[else]
{CREATE_UNIT 4 "Ghost" $spawn[$random].x $spawn[$random].y "Lost Soul" (user_description=_"Lost Soul"
role=LostSoul)}
{RANDOM_TRAIT_UNIT 4 "Ghost" $spawn[$random].x $spawn[$random].y "Lost Soul" (role="Lost Soul")}
{VARIABLE_OP ghosts_already_spawned add 1}
[/else]
[/if]

View file

@ -1,6 +1,69 @@
#textdomain wesnoth-utbs
# The file contains useful macros I use within the campaign
#define RANDOM_TRAIT_UNIT SIDE TYPE X Y NAME OTHER
[unit]
side={SIDE}
type={TYPE}
x={X}
y={Y}
description={NAME}
user_description=_{NAME}
upkeep=full
animate=yes
{OTHER}
[/unit]
#enddef
#define RANDOM_PLACEMENT_AREA X Y RADIUS
# set a placement area for subsequent random placement of units
[store_locations]
x,y={X},{Y}
radius={RADIUS}
variable=random_placement_locations
[/store_locations]
{VARIABLE_OP random_string format "0..$random_placement_locations.length"}
#enddef
#define PLACE_UNITS_RANDOMLY NUM SIDE TYPE NAME OTHER
{VARIABLE number {NUM}}
{VARIABLE i 0}
[while]
[variable]
name=i
less_than=$number
[/variable]
[do]
{RANDOM $random_string}
{VARIABLE random_placement_x $random_placement_locations[$random].x}
{VARIABLE random_placement_y $random_placement_locations[$random].y}
[unit]
side={SIDE}
type={TYPE}
x=$random_placement_x
y=$random_placement_y
description={NAME}
role={NAME}
user_description=_{NAME}
upkeep=full
animate=yes
{OTHER}
[/unit]
{VARIABLE_OP i add 1}
[/do]
[/while]
#enddef
#define CLEAR_PLACEMENT_AREA
{CLEAR_VARIABLE random_string}
{CLEAR_VARIABLE random_placement_x}
{CLEAR_VARIABLE random_placement_y}
{CLEAR_VARIABLE random_placement_locations}
#enddef
#!***Macro to random place unit within area***
#define RANDOM_PLACEMENT X Y RADIUS UNIT
[store_locations]