For everyone not knowing what is meant with 'Taunt': Forcing hostile units to attack one of our units for a short (or longer) time (e.g. Axe in DotA)
Maybe some of you will now think why it should be necessary to do so. At least there already is a 'Taunt'-ability existing in the object editor. All I can tell you is: Forget this one. It doesn't work. Most values of this given spell won't have any other effect if being changed (if you are at least able to enter values that would make sense) and as soon as a player has control of his lampooned units, he can interrupt the effect of 'Taunt' with just one mouse click. In short: Creating an ability like 'Berserker Call' from Axe in DotA with the given 'Taunt'-spell is not possible. Let's do it like this and it will work fine:
Preparations:
Choose a dummy ability that is needed to release our 'Taunt'. In our case you could use 'Warstomp' of the Tauren Chieftrain for instance. Do not use the given 'Taunt'-spell in the object editor. This will lead to misfunctions, like your own units will start to attack. Manipulate the dummy ability (like Warstomp) so it doesn't have any effects.
Create a variable to store the unit that should make use of our 'Taunt'-ability. For this example I will create a variable called 'axe' of type 'unit'. Before this unit makes use of our custom spell, be sure, that you have assigned it to this variable in any way.
Create a variable of type unit-group, where we will store every unit that is affected when using 'Taunt'. My variable for this case is called 'targets' here.
Create a variable for a countdown-timer called 'tauntDuration' here. With this timer, you set the time your 'taunt' should keep enemies attacking.
And thats how our first trigger should look like. It will be applied if 'Taunt' is used by our 'axe'.
Events: Unit - A unit owned by player 1 (red) starts the effect of an ability Conditions: (Ability being cast) equal to Taunt Actions Set targets = (Units within 450.00 of (position of (Triggering unit)) matching (Owner of (Matching unit) unequal to player 1 (red)) Countdown-Timer - start tauntDuration as singular that will expire in 5 seconds Trigger - Turn on forcingToAttack
So far so good. The trigger forcingToAttack I turned on in the last line will be done now.
Events: Time - Every 0.25 seconds of game time Conditions: Actions: Unit-group - Order targets to attack axe
We need the periodic event here, otherwise the hostile player(s) could just give his units any orders to escape.
Last thing to to is releasing the affected hostile units.
Events: Time - tauntDuration expires Conditions: Actions: Trigger - Turn off forcingToAttack