Why MEC 2 ?
The main reason of the creation of a new version of MEC is new development abilities that appeared with the newest versions of WC3.
All the programming code of MEC was rewritten in typescript, which generates LUA, a language we now can use to make WC3 maps instead of jass.
Why rewriting all the code like that ? It makes improvements of MEC lot easier to implement since now and for the future, using a language known by web developers like us and perfectly handled by our IDEs.
I want to thank Stan without who this new typescript version wouldn't be done. And thanks to him for joining me to the project and being a great help.
A limitation of MEC 1 was the "smic" system using gamecache, which couldn't work anymore with Reforged. MEC 2 "smic" command is compatible Reforged with the use of the new "Preload" natives.
MEC2 is designed for Reforged only.
There are lots of new native functions added by Blizzard these last years, MEC 2 intends to exploit them.
Gameplay news
There are new gameplay possibilities :
- Follow mouse mode : get an APM of 600 without the pain of clicking
- Remove the graphical user interface
- You can target a player by a command with other ways than color :
- the player of the hero you are selecting (by typing one of the following instead of a color : s, sel, select, selected
- the player name
- the player number
- "My start commands" : commands that you program to be executed at start of each game using MEC 2
- A leaderboard for score in coop mode
- Possibility to lock your camera on your hero, or someone else's hero
- Display hero names to easily know who is who
- Ignore death messages
- Partially hide the other players heroes, to perfectly know what hero is yours
- A first person camera mode
Mapping news
There are a few improvements for mapping, and lot more will come.
- With MEC 1 you had 8 programable keyboard shortcuts depending on 8 hero skills. Now instead you have until more than one hundred shortcuts which don't require your hero to be alive. Combine this with "my start commands", and you will have all your shortcuts kept between your different games and maps.
- There are two automatic shortcuts : "ctr Z" to cancel (command -z) and "ctrl shift Z" or "ctrl y" to redo (command -y).
- Now you can control slide terrain rotation speed. In Warcraft III it was always about 1 round per second and wasn't modifiable by map makers. I found a way to change it, and now it's a variable associated with each slide terrain type.
- Creating terrain ingame with MEC1 was a pain. Now you can create terrain with a brush by holding mouse click, exactly like in a paint program. Right click for one terrain, left click for an other. Have a look in "Make commands" page of this section to learn more.
- New type of monsters : teleport monsters. They just move by teleporting.
- Possibility to add "properties to mobs". For the moment two possible ones :
- "Clear mob" : choose a monster that, when you go through it, instead of dying you "disable" a group of other monsters during a chosen amount of time. Disabled monsters are like just not here.
- "Portal mob" : two monsters connected to be a teleporter.
- Being part of a circle of monsters : you choose a monster to be the center of a circle, and other monsters to be part of a rotating circle around it. The center mob is disabled and the circle moves according to its intended move.
MEC core and custom map making
In the triggers of a map made with MEC, there are two parts :
- MEC core : the code of all functionnalities of MEC
- Custom triggers/code : the triggers customized for one map in particular
In MEC 1, the core was divided in several vJass trigger folders, but with MEC 2 it's only one LUA big custom script.
The advantage now, is that you will be able to update the MEC core of your map very easily, just with a copy paste of the new code in the custom script.
If you want to higly customize your map, more than the possibilities of MEC 2, you are not supposed to modify the MEC core, but you will have tools to interact with it.
You will have a LUA object called "MEC_core" at disposal. With it you will be able to :
- access to objects of the game : the escapers (basically players and their hero), the terrain types, the levels and all their content (monsters...) ...
- get information about the state of the game
- modify properties of MEC (gravity value, possibility or not to turn in the air, change used model for the meteors...)
- create hooks : you will be able to connect to events that will happen during the game, and do whatever you want at those moments. Examples :
- on game restart, reenable some custom triggers that you disable during the game
- after the creation of a monster unit, change its color to a random color
- at start of level 3, enable some custom trigger you specifically made for that level
Now 24 player slots with 24 different colors
- red (rd)
- blue (be)
- teal (tl)
- purple (pe)
- yellow (yw)
- orange (oe)
- green (gn)
- pink (pk)
- grey (gy)
- lightblue (lb)
- darkgreen (dg)
- brown (bn)
- maroon (mrn)
- navy (ny)
- turquoise (tqe)
- violet (vlt)
- wheat (wht)
- peach (ph)
- mint
- lavender (lvr)
- coal
- snow (snw)
- emerald (emd)
- peanut (pnt)