Drunken_God
Hopes to get back into Mapmaking with SC2 :)
- Reaction score
- 106
Basic AoS Tutorial
• 1. Introduction
• 2. The Terraining
o 2.1 Arrangements
o 2.2 Basic Terrain
o 2.3 Doodads
• 3. Player propertieso 2.2 Basic Terrain
o 2.3 Doodads
• 4. The Units
o 4.1 Buildings and Shops
o 4.2 Heroes and abilities
o 4.3 Spawns
• 5. The Triggerso 4.2 Heroes and abilities
o 4.3 Spawns
o 5.1 Initialization
o 5.2 Heropick
o 5.3 Spawn-Trigger
o 5.4 Leaderboard
o 5.5 Win/Defeat Conditions
o 5.6 Other Trigger
• 6. Finishing Toucho 5.2 Heropick
o 5.3 Spawn-Trigger
o 5.4 Leaderboard
o 5.5 Win/Defeat Conditions
o 5.6 Other Trigger
• 7. Closing words
1. Introduction
What is an AoS?:An AoS is a map type in which 2 teams or more fight against each other. The User controlled player are controlling only one hero and in each team there is a Computer controlled player who sends automatically creeps to the enemys base(s). The creeps are equal so without a hero a team can’t win. The team which beats all enemy teams wins the game (A team loses if the main building dies). The bases are protected by strong towers that the game lasts longer. The heroes are able to buy Items in their base that they get stronger.
This tutorial is very basically.
2. The Terraining
2.1. Arrangements
Firstly create a new map with width 128 and height 128 with tileset Lordaeron Summer and with Initial tile grass.2.1. Arrangements
2.2. Basic Terrain
With this view you are able to make the terrain balanced Open the Terrain Palette and create the paths for the creeps.
The red arrows are the way the creeps have to walk
2.3. Doodads
Now just create some trees to prevent heroes and creeps from walking everywhere they want to.
3. Player properties
Lets go on with the player properties: Open with Scenario-->Player properties the player properties. Now set the controller of player 1,2,3,5,6,7,9,10,11 to user, the race to human and a tick at fixed Start location. Set the controller of player 4, 8 and player 12 to computer(these are the players that own the spawned creeps and the bases) and tick fixed start location, also set the race to human. Rename them. I named them North, South-West and South-East.
• Tick “Use custom forces”
• Tick “Fixed player settings”
• Rename Force 1 to North
• Create 2 new Forces
• Rename Force 2 to South-West
• Rename Force 3 to South-East
• Move Player 5 -7 to Force South-West (move with clicked Mouse)
• Move Player 9 -11 to Force South-East (move with clicked Mouse)
• Tick allied, allied victory and shared vision for every Force
4. The Units
Now I highly recommend you to go under window-->brush list then the white thing in the left down corner disappears and you will now save very much time while editing units(names and tooltips)4.1 Buildings and Shops
Open the Object Editor by pressing the helmet then go under humanbuildingsCastle to increase the hitpoints of your main buildings and don’t forget the armor under Combat-Defense-Base
Now set the hp of your Barracks to 4000 (they shouldn’t be destroyed so easily, too)
Lets go on with the shops. Go under Neutral Passive-->Buildings-->Goblin-Merchant delete all Items sold by this shop and add things like claws of attack + 6 or ring of regeneration and most important add healing potions and ankh of reincarnation. Now change to the category Items at the top and search the healing potions. Delete the tech requirements and set the number of charges to 3(now you could change things like stock start delay and stock replenish interval to 0, that will affect how often you are able to buy the item and how long it take until it’s buyable). Now open the unit palette and go under neutral passive to place your shop.
Now I wanted to create an Allround-Well in the middle of the map(which heals mana and life). Open the category units again and search at Neutral Passive-->Buildings-->Fountain of Life and add to the abilities the ability “mana regeneration (neutral)”. If you want to give the Fountain a new name and an other model(I took the sunwell model because it looks so cool, go to the art-model file and change units to doodads, now search for the sun well). Now just place it into the middle of the map.(like we placed the shops)
Now my map looks like:
North:
South-West:
Middle:
And the whole map looks like that: (in the upper right corner is the hero pick region, just remove some trees)
4.2. Heroes and Abilities
In this example map I’m only using standard heroes but if you want to make your own one then you have to base him of a hero (otherwise he doesn’t have his attributes).
Now we need the wisp which should later pick our hero (go again under the object editor and search under NightelfUnitsWisp now delete all of his abilities and add invulnerable (neutral) remove the buildings built, too. Now place the wisps (for each player one) into the middle of the hero pick region and create the heroes that should be picked in a circle around them and change owner to Neutral Passive (you could make a tavern pick, too but I’ll explain it this way). Place the starting locations on the wisps (or anywhere you want cause we are moving the camera per trigger)
sry I forgot the wisp for player 1 ^^
4.3. Spawns
Lets go on with the spawned units, open the object editor (if you didn’t already) and modify the archers (I’m using the archers from the campaign) and the footmen like you want(maybe raise the damage). But important change the Gold bounty awarded – Base to something like 50+.
5. The Triggers
Now the most important part: the Triggers, open the trigger editor by clicking on the “a” or by pressing F4 (trigger comments in red).
5.1. Initialization
For this map we will need only 2 Init trigger:
Firstly delete the standard map initialization trigger
this will check if all 3 players in one team are playing, if not it will defeat that team (this trigger is just for preventing that the game starts without all team full of players)
Code:
Player check
Events
Time - Elapsed game time is 1.00 seconds
Conditions
Actions
[COLOR="Red"]This checks if team 1 is full of players playing and if not then it will defeat player 1-4[/COLOR]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player 1 (Red) controller) Not equal to User) or ((Player 1 (Red) slot status) Not equal to Is playing)
((Player 2 (Blue) controller) Not equal to User) or ((Player 2 (Blue) slot status) Not equal to Is playing)
((Player 3 (Teal) controller) Not equal to User) or ((Player 3 (Teal) slot status) Not equal to Is playing)
Then - Actions
Game - Defeat Player 1 (Red) with the message: Defeat!
Game - Defeat Player 2 (Blue) with the message: Defeat!
Game - Defeat Player 3 (Teal) with the message: Defeat!
Game - Defeat Player 4 (Purple) with the message: Defeat!
[COLOR="Red"]This picks all units owned by player 4 and explode them[/COLOR]
Unit Group - Pick every unit in (Units owned by Player 4 (Purple)) and do (Unit - Explode (Picked unit))
Else - Actions
[COLOR="Red"]The same for the other teams[/COLOR]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player 5 (Yellow) controller) Not equal to User) or ((Player 5 (Yellow) slot status) Not equal to Is playing)
((Player 6 (Orange) controller) Not equal to User) or ((Player 6 (Orange) slot status) Not equal to Is playing)
((Player 7 (Green) controller) Not equal to User) or ((Player 7 (Green) slot status) Not equal to Is playing)
Then - Actions
Game - Defeat Player 5 (Yellow) with the message: Defeat!
Game - Defeat Player 6 (Orange) with the message: Defeat!
Game - Defeat Player 7 (Green) with the message: Defeat!
Game - Defeat Player 8 (Pink) with the message: Defeat!
Unit Group - Pick every unit in (Units owned by Player 8 (Pink)) and do (Unit - Explode (Picked unit))
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player 9 (Gray) controller) Not equal to User) or ((Player 9 (Gray) slot status) Not equal to Is playing)
((Player 10 (Light Blue) controller) Not equal to User) or ((Player 10 (Light Blue) slot status) Not equal to Is playing)
((Player 11 (Dark Green) controller) Not equal to User) or ((Player 11 (Dark Green) slot status) Not equal to Is playing)
Then - Actions
Game - Defeat Player 9 (Gray) with the message: Defeat!
Game - Defeat Player 10 (Light Blue) with the message: Defeat!
Game - Defeat Player 11 (Dark Green) with the message: Defeat!
Game - Defeat Player 12 (Brown) with the message: Defeat!
Unit Group - Pick every unit in (Units owned by Player 12 (Brown)) and do (Unit - Explode (Picked unit))
Else - Actions
[COLOR="Red"]If all other teams are defeated this will victory the last team alive[/COLOR]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0012 <gen> is dead) Equal to True
(Castle 0026 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 1 (Red) (Show dialogs, Show scores)
Game - Victory Player 2 (Blue) (Show dialogs, Show scores)
Game - Victory Player 3 (Teal) (Show dialogs, Show scores)
Game - Victory Player 4 (Purple) (Show dialogs, Show scores)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0046 <gen> is dead) Equal to True
(Castle 0026 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 5 (Yellow) (Show dialogs, Show scores)
Game - Victory Player 6 (Orange) (Show dialogs, Show scores)
Game - Victory Player 7 (Green) (Show dialogs, Show scores)
Game - Victory Player 8 (Pink) (Show dialogs, Show scores)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0046 <gen> is dead) Equal to True
(Castle 0012 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 9 (Gray) (Show dialogs, Show scores)
Game - Victory Player 10 (Light Blue) (Show dialogs, Show scores)
Game - Victory Player 11 (Dark Green) (Show dialogs, Show scores)
Game - Victory Player 12 (Brown) (Show dialogs, Show scores)
Else - Actions
and the init
Code:
Map Init
Events
Map initialization
Conditions
Actions
[COLOR="Red"]This turns the bounty on for all computer players (you will now get gold if you kill one creep)[/COLOR]
Player - Turn Gives bounty On for Player 4 (Purple)
Player - Turn Gives bounty On for Player 8 (Pink)
Player - Turn Gives bounty On for Player 12 (Brown)
Game - Set the time of day to 8.00
5.2. Hero Pick
For the hero pick you have to make firstly a region over your hero pick area(open the region palette) for me it looks like this
Code:
Start Hero Pick
Events
Time - Elapsed game time is 0.10 seconds
Conditions
Actions
[COLOR="Red"]This pans the camera for all players to the Hero Pick Area[/COLOR]
Player Group - Pick every player in (All players) and do (Actions)
Loop - Actions
Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across Heroes <gen>
Camera - Pan camera for (Picked player) to (Center of Heroes <gen>) over 0.00 seconds
[COLOR="Red"]Then display text how to choose the hero[/COLOR]
Game - Display to (All players) the text: Choose your hero by select your wisp and click on the hero to choose.
[COLOR="Red"]Select the wisp for every player[/COLOR]
Player Group - Pick every player in (All players) and do (Selection - Select (Random unit from (Units owned by (Picked player) of type Wisp)) for (Picked player))
Create one region in each base
this trigger will run if your wisp gets an order targeting a hero in the region
Code:
Pick Hero
Events
Unit - A unit Is issued an order targeting an object
Conditions
(Unit-type of (Ordered unit)) Equal to Wisp
(Heroes <gen> contains (Target unit of issued order)) Equal to True
Or - Any (Conditions) are true
Conditions
(Target unit of issued order) Equal to Paladin 0067 <gen>
(Target unit of issued order) Equal to Archmage 0068 <gen>
(Target unit of issued order) Equal to Mountain King 0069 <gen>
(Target unit of issued order) Equal to Bloodmage 0070 <gen>
(Target unit of issued order) Equal to Blademaster 0071 <gen>
(Target unit of issued order) Equal to Far Seer 0072 <gen>
(Target unit of issued order) Equal to Tauren-Warchief 0073 <gen>
(Target unit of issued order) Equal to Deathknight 0074 <gen>
(Target unit of issued order) Equal to Lich 0075 <gen>
(Target unit of issued order) Equal to Keeper of the Grove 0076 <gen>
(Target unit of issued order) Equal to Demonhunter 0077 <gen>
(Target unit of issued order) Equal to Warden 0078 <gen>
(Target unit of issued order) Equal to Priestess of the Moon 0079 <gen>
(Target unit of issued order) Equal to Cryptlord 0080 <gen>
(Target unit of issued order) Equal to Dreadlord 0081 <gen>
Actions
Unit - Remove (Ordered unit) from the game
[COLOR="Red"]This checks in which team the owner of the wisp is and then it will move the camera and the hero to the base regions[/COLOR]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Ordered unit)) is in (All allies of Player 4 (Purple))) Equal to True
Then - Actions
Camera - Pan camera for (Owner of (Ordered unit)) to (Center of BaseNorth <gen>) over 2.00 seconds
Unit - Move (Target unit of issued order) instantly to (Center of BaseNorth <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Ordered unit)) is in (All allies of Player 8 (Pink))) Equal to True
Then - Actions
Camera - Pan camera for (Owner of (Ordered unit)) to (Center of BaseSouthWest <gen>) over 2.00 seconds
Unit - Move (Target unit of issued order) instantly to (Center of BaseSouthWest <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Owner of (Ordered unit)) is in (All allies of Player 12 (Brown))) Equal to True
Then - Actions
Camera - Pan camera for (Owner of (Ordered unit)) to (Center of BaseSouthEast <gen>) over 2.00 seconds
Unit - Move (Target unit of issued order) instantly to (Center of BaseSouthEast <gen>)
Else - Actions
Unit - Change ownership of (Target unit of issued order) to (Owner of (Ordered unit)) and Change color
5.3. Spawn Trigger
This is the spawn trigger it will run every 15 seconds 3 times (because of for each integer b from 1 to 3 do) and it will check if the enemy castle is alive and if the own barracks are alive,too then it will create 3 footmans and 3 archers and order them to attack-move to the enemy castle
Code:
Spawn
Events
Time - Every 15.00 seconds of game time
Conditions
Actions
For each (Integer B) from 1 to 3, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0015 <gen> is alive) Equal to True
(Castle 0023 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 4 (Purple) at (Center of Region 004 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0023 <gen>)
Unit - Create 1 Archer for Player 4 (Purple) at (Center of Region 004 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0023 <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0014 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 4 (Purple) at (Center of Region 005 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Unit - Create 1 Archer for Player 4 (Purple) at (Center of Region 005 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0013 <gen> is alive) Equal to True
(Castle 0024 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 4 (Purple) at (Center of Region 006 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0024 <gen>)
Unit - Create 1 Archer for Player 4 (Purple) at (Center of Region 006 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0024 <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0025 <gen> is alive) Equal to True
(Castle 0024 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 8 (Pink) at (Center of Region 010 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0024 <gen>)
Unit - Create 1 Archer for Player 8 (Pink) at (Center of Region 010 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0024 <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0026 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 8 (Pink) at (Center of Region 011 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Unit - Create 1 Archer for Player 8 (Pink) at (Center of Region 011 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0027 <gen> is alive) Equal to True
(Castle 0012 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 8 (Pink) at (Center of Region 012 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0012 <gen>)
Unit - Create 1 Archer for Player 8 (Pink) at (Center of Region 012 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0012 <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0018 <gen> is alive) Equal to True
(Castle 0023 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 12 (Brown) at (Center of Region 009 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0023 <gen>)
Unit - Create 1 Archer for Player 12 (Brown) at (Center of Region 009 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0023 <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0019 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 12 (Brown) at (Center of Region 008 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Unit - Create 1 Archer for Player 12 (Brown) at (Center of Region 008 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Center of Middle <gen>)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Barracks 0020 <gen> is alive) Equal to True
(Castle 0012 <gen> is alive) Equal to True
Then - Actions
Unit - Create 1 Footman for Player 12 (Brown) at (Center of Region 007 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0012 <gen>)
Unit - Create 1 Archer for Player 12 (Brown) at (Center of Region 007 <gen>) facing Default building facing degrees
Unit - Order (Last created unit) to Attack-Move To (Position of Castle 0012 <gen>)
Else - Actions
5.4. Leaderboard
This will create the leaderboard:
It picks every player and checks if the player is not an computer and if the player plays and add him then to the leaderoard
Code:
CreateLeaderboard
Events
Time - Elapsed game time is 2.00 seconds
Conditions
Actions
Leaderboard - Create a leaderboard for (All players) titled Kills
Pick every player in (All Players) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked player) controller) Not equal to Computer
((Picked player) slot status) Equal to Is playing
Then - Actions
Leaderboard - Add (Picked player) to (Last created leaderboard) with label (Name of (Picked player)) and value 0
Else - Actions
If another player than player 4, 8 or 12 kills a unit then this trigger will count his kills and then set the value in the leaderboard to the kills (an array integer variable)
Code:
Leaderboarkill
Events
Unit - A unit Dies
Conditions
(Owner of (Killing unit)) Not equal to Player 4 (Purple)
(Owner of (Killing unit)) Not equal to Player 8 (Pink)
(Owner of (Killing unit)) Not equal to Player 12 (Brown)
Actions
Set Kills[(Player number of (Owner of (Killing unit)))] = (Kills[(Player number of (Owner of (Killing unit)))] + 1)
Leaderboard - Change the value for (Owner of (Killing unit)) in (Last created leaderboard) to Kills[(Player number of (Owner of (Killing unit)))]
Leaderboard - Sort (Last created leaderboard) by Value in Descending order
5.5. Win/Defeat Conditions
If a castle dies this will check if all enemy castles are dead and then win the killing players (and defeat the allies of owner of the dying unit)
Code:
WinLoose
Events
Unit - Castle 0023 <gen> Dies
Unit - Castle 0012 <gen> Dies
Unit - Castle 0024 <gen> Dies
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Dying unit) Equal to Castle 0012 <gen>
Then - Actions
Player Group - Pick every player in (All allies of (Owner of (Dying unit))) and do (Actions)
Loop - Actions
Game - Defeat (Picked player) with the message: Defeat!
Unit Group - Pick every unit in (Units owned by Player 4 (Purple)) and do (Unit - Explode (Picked unit))
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Dying unit) Equal to Castle 0023 <gen>
Then - Actions
Player Group - Pick every player in (All allies of (Owner of (Dying unit))) and do (Actions)
Loop - Actions
Game - Defeat (Picked player) with the message: Defeat!
Unit Group - Pick every unit in (Units owned by Player 8 (Pink)) and do (Unit - Explode (Picked unit))
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Dying unit) Equal to Castle 0024 <gen>
Then - Actions
Player Group - Pick every player in (All allies of (Owner of (Dying unit))) and do (Actions)
Loop - Actions
Game - Defeat (Picked player) with the message: Defeat!
Unit Group - Pick every unit in (Units owned by Player 12 (Brown)) and do (Unit - Explode (Picked unit))
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0023 <gen> is dead) Equal to True
(Castle 0024 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 1 (Red) (Show dialogs, Show scores)
Game - Victory Player 2 (Blue) (Show dialogs, Show scores)
Game - Victory Player 3 (Teal) (Show dialogs, Show scores)
Game - Victory Player 4 (Purple) (Show dialogs, Show scores)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0012 <gen> is dead) Equal to True
(Castle 0024 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 5 (Yellow) (Show dialogs, Show scores)
Game - Victory Player 6 (Orange) (Show dialogs, Show scores)
Game - Victory Player 7 (Green) (Show dialogs, Show scores)
Game - Victory Player 8 (Pink) (Show dialogs, Show scores)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Castle 0023 <gen> is dead) Equal to True
(Castle 0012 <gen> is dead) Equal to True
Then - Actions
Game - Victory Player 9 (Gray) (Show dialogs, Show scores)
Game - Victory Player 10 (Light Blue) (Show dialogs, Show scores)
Game - Victory Player 11 (Dark Green) (Show dialogs, Show scores)
Game - Victory Player 12 (Brown) (Show dialogs, Show scores)
Else - Actions
5.6. Other Triggers
This trigger randomes a number between 1 and 2 and then orders the entering unit to go up or down
Code:
Division
Events
Unit - A unit enters Middle <gen>
Conditions
Actions
If ((Owner of (Entering unit)) Equal to Player 4 (Purple)) then do (If ((Random integer number between 1 and 2) Equal to 1) then do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0024 <gen>)) else do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0023 <gen>))) else do (Do nothing)
If ((Owner of (Entering unit)) Equal to Player 8 (Pink)) then do (If ((Random integer number between 1 and 2) Equal to 1) then do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0012 <gen>)) else do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0024 <gen>))) else do (Do nothing)
If ((Owner of (Entering unit)) Equal to Player 12 (Brown)) then do (If ((Random integer number between 1 and 2) Equal to 1) then do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0023 <gen>)) else do (Unit - Order (Entering unit) to Attack-Move To (Position of Castle 0012 <gen>))) else do (Do nothing)
And last but not least the most important trigger for this map: The Hero Revive Trigger
This will wait the lvl x 5 seconds (you need a timer variable with array, a unit variable with array and a timer window with array)
Code:
Revive
Events
Unit - A unit Dies
Conditions
((Dying unit) is A Hero) Equal to True
Actions
Countdown Timer - Start Timer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in ((Real((Hero level of (Triggering unit)))) x 5.00) seconds
Countdown Timer - Create a timer window for (Last started timer) with title Revive in
Countdown Timer - Show Timer_Window[(Player number of (Owner of (Triggering unit)))] for (Owner of (Triggering unit))
Set DeadHero[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
Game - Display to (Player group((Owner of (Dying unit)))) the text: (Your hero will be revived in + ((String(((Level of (Dying unit)) x 5))) + seconds.))
then if the timer expires revive your hero:
Code:
ReviveAction
Events
Time - Timer[1] expires
Time - Timer[2] expires
Time - Timer[3] expires
Time - Timer[5] expires
Time - Timer[6] expires
Time - Timer[7] expires
Time - Timer[9] expires
Time - Timer[10] expires
Time - Timer[11] expires
Conditions
Actions
For each Integer A from 1 to 11 do actions
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Integer((Remaining time for Timer[(Integer A)]))) Equal to 0
(DeadHero[(Integer A)] is dead) Equal to True
Then - Actions
Countdown Timer - Hide Timer_Window[(Integer A)] for (Player((Integer A)))
Countdown Timer - Destroy Timer_Window[(Integer A)]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player((Integer A))) is in (All allies of Player 4 (Purple))) Equal to True
Then - Actions
Hero - Instantly revive DeadHero[(Integer A)] at (Center of BaseNorth <gen>), Hide revival graphics
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player((Integer A))) is in (All allies of Player 8 (Pink))) Equal to True
Then - Actions
Hero - Instantly revive DeadHero[(Integer A)] at (Center of BaseSouthEast <gen>), Hide revival graphics
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Player((Integer A))) is in (All allies of Player 12 (Brown))) Equal to True
Then - Actions
Hero - Instantly revive DeadHero[(Integer A)] at (Center of BaseSouthWest <gen>), Hide revival graphics
Else - Actions
Camera - Pan camera for (Player((Integer A))) to (Position of DeadHero[(Integer A)]) over 2.00 seconds
Else - Actions
6. Finishing Touch
Open the map properties Scenario-->Map Description
And change the Name of your map (will be displayed ingame) and the Description afterwards change the category to Loading Screen and set the loading screen graphic to anything. Now change the title and such things to what you want.
7. Closing words
Now you are able to make your own Aoen of Strife, have fun map makingFor more experienced users:
Multiboards
Tooltips
Trigger Enhanced Spells
Leak Removal(very important)
Tutorial map attached.
PS: pls correct my english(if im wrong)