Tutorial How to make a Basic AoS Style map

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 properties
• 4. The Units
o 4.1 Buildings and Shops
o 4.2 Heroes and abilities
o 4.3 Spawns​
• 5. The Triggers
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 Touch
• 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.
mapcreationli6.jpg
Turn off the grid by pressing g (its only confusing). Now change the camera perspective to View entire map
viewentiremapyn1.jpg

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
pathingcreepssf0.jpg

2.3. Doodads

Now just create some trees to prevent heroes and creeps from walking everywhere they want to.
doodadsrt1.jpg
Afterwards press Ctrl+Shift+C to get your standard view back. Create more doodads(like post signs, barrels or barricades) to improve the look of your map

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.
playerpropsow4.jpg
Now press on Forces and do that:
• 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
forcesrz3.jpg
That should ally them and give each team shared vision now only push OK


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 humanbuildingsCastle to increase the hitpoints of your main buildings and don’t forget the armor under Combat-Defense-Base
castledt9.jpg
Set the Hp of your towers to 2000 and the Combat-Attack 1-Damage Base to 60
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.
neutralpassivekz1.jpg

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:
basetowerspg4.jpg

South-West:
baserr3.jpg

Middle:
middle2mr8.jpg

And the whole map looks like that: (in the upper right corner is the hero pick region, just remove some trees)
wholemapya6.jpg

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 NightelfUnitsWisp 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)
heroeswispsmm6.jpg
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
regionpu1.jpg

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
ingamescreenie (never mind that name :)):
leaderboardzt7.jpg

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)
variablessi2.jpg
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.
loadingscreenuc1.jpg


7. Closing words
Now you are able to make your own Aoen of Strife, have fun map making
For more experienced users:
Multiboards
Tooltips
Trigger Enhanced Spells
Leak Removal(very important)


Tutorial map attached.

PS: pls correct my english(if im wrong)
 

Attachments

  • AOS.w3x
    131 KB · Views: 752

chango

New Member
Reaction score
1
Nice Work

Very good tutorial :D.

It's nice to see people put effort to help noobs like me to learn new things.

Thanks.
 

Insane!

Shh I didn't edit this, go away.
Reaction score
122
i didnt know what an aos was, nor how to make one until this came along
 

Hatebreeder

So many apples
Reaction score
381
Actually, you use Grids to make things even.
Lets say, you make an AoS.
Wouldn't it be kinda crappy if your opponents to the left come earlier than the ones that come from the right?
I'm just saying that Grids are important if you want to make things Symetical, or just to keep distances equal.
Nonetheless, it explains a Wide range of what you need to make an AoS, Good Jop indeed.
 

duyen

New Member
Reaction score
214
You mine as well tell people what an AoS is, something like, a type of map based off a game called Aeon of Strife, which in you control a hero and there are creeps on your side and creeps your against etc...
 

Quauhtli

I have the right to remain silent.
Reaction score
62
Instead of your strg thingie you can also just click the mouse wheel button (much easier faster and no need for pressing all those buttons when you can just be lazy, keep your hand on your mouse, and click. ah life is good isn't it (feel free to quote me:p))
 

0zaru

Learning vJASS ;)
Reaction score
60
I would suggest some links to How to Make multiboards and some other things. Nice tut, looks nice.
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
added some links (now its the perfect noobtutorial:p)
PS:will this get approved?

EDIT: i added some pictures in the trigger section (because there my tut got unnoobish)
PS: could a mod remove my spammy bumps pls?
 

Sil3nt

SUP?
Reaction score
134
Not a bad tutorial. Too bad Aos maps are unpopularish because of dota =(

A few things that could be added, but not really neccesary.
-Creep upgrades
-link to make recipes
-super creeps
-different types of spawn towers.
 

Sim

Forum Administrator
Staff member
Reaction score
534
Well, there's certainly 1 problem with this tutorial, and that is the fact an AoS template already exists, and it pretty much covers it all. The DotA template by AceHart and SD_Ryoko is really well made.
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
but if you got only a template (as noob) you dont understand it really
 

Tinki3

Special Member
Reaction score
418
> but if you got only a template (as noob) you dont understand it really

Noobs aren't going to understand this any better.
All they would really care about is getting their hands on the demo map.

Speaking of demo maps, maybe this would serve better as one, rather than a tutorial.
 
P

para_din

Guest
Nice tutorial ;) +rep

EDIT: (Especially the terraining part, make it a lot easier.)
 

WindexIsBack

New Member
Reaction score
100
I'm going to have to say the purpose of this tutorial, even if it's a medium tutorial; is very, very bad.

AoS is already a bland and copy-cat genre with very few gems in a chest of shit. Creating tutorials on a certain map type not only encourages this, amplifies the effect.

Also, the terrain (I understand it was done quickly) is rather bad even by tutorials rating. Where's the creativity?
 
P

para_din

Guest
The reason i like terraining part is because of its simplycity. You dont have to follow this guide 100%, but you get a feeling of how it is done, after you have made the main shape you can begin to make the smaller things, like raising/lowering terrain.


True AoS is kinda the same thing in different qualities.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      • Ghan
        Administrator - Servers are fun

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top