How can you make this spell MUI

Wummi

Just Relax and Smile!
Reaction score
58
The spell is called Gaze of the Eye, belonging to the hero Sauron in my map.
Yes, Sauron from Lord of the Rings.
So basically, when the hero uses this spell, he is paused, and he "summons" his gaze, which is a big circle of power. Now, the player can move that circle of power (no collision) around and it has permanent immolation and it can burn people. The "gaze" lasts for 30 seconds or if Sauron dies.

However, if 2 people use Sauron, the trigger messes up if they both use gaze of the eye at the same time.


Here's the trigger:

Trigger:
  • Gaze of the Eye
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Gaze of the Flaming Eye
    • Actions
      • Set GazeCaster = (Triggering unit)
      • Set GazePoint = (Position of (Triggering unit))
      • Trigger - Turn on GazeEyeCasterDie <gen>
      • Trigger - Turn on Gazechanneling <gen>
      • Unit - Pause GazeCaster
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using DarkNova.mdx
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\Voodoo\VoodooAura.mdl
      • Set SpecialEffect3 = (Last created special effect)
      • Wait 31.00 seconds
      • Special Effect - Destroy SpecialEffect3
      • Camera - Pan camera for (Triggering player) to GazePoint over 0.00 seconds
      • Selection - Select GazeCaster for (Triggering player)
      • Unit - Unpause GazeCaster
      • Custom script: call RemoveLocation (udg_GazePoint)
      • Trigger - Turn off GazeEyeCasterDie <gen>
      • Trigger - Turn off Gazechanneling <gen>


Trigger:
  • Gazechanneling
    • Events
      • Time - Every 3.13 seconds of game time
    • Conditions
    • Actions
      • Animation - Play GazeCaster's Spell Slam animation


Trigger:
  • GazeEyeCasterDie
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Lord of the Ring
    • Actions
      • Unit - Unpause (Triggering unit)
      • Special Effect - Destroy SpecialEffect3
      • Set TempUnitGroup = (Units in (Playable map area) owned by (Owner of GazeCaster))
      • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is Summoned) Equal to True
              • ((Picked unit) is An Ancient) Equal to True
            • Then - Actions
              • Unit - Remove (Picked unit) from the game
              • Custom script: call DestroyGroup(udg_TempUnitGroup)
            • Else - Actions
              • Custom script: call DestroyGroup(udg_TempUnitGroup)
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
612
Convert all variables to variable arrays, with the array being Player Number of Owner of Casting Unit.
 

ultimate11

Active Member
Reaction score
25
Yes use variables array and for channel add a buf to triggering unit and then vheck if unit has matching buff.
 

ultimate11

Active Member
Reaction score
25
Trigger:
  • Gaze of the Eye
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Gaze of the Flaming Eye
    • Actions
      • Set GazeCaster[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
      • Set Check[(Player number of (Owner of (Triggering unit)))] = True
      • Set GazePoint[(Player number of (Owner of (Triggering unit)))] = (Position of (Triggering unit))
      • Trigger - Turn on GazeEyeCasterDie <gen>
      • Trigger - Turn on Gazechanneling <gen>
      • Unit - Pause GazeCaster
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using DarkNova.mdx
      • Special Effect - Destroy (Last created special effect)
      • Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\Voodoo\VoodooAura.mdl
      • Set SpecialEffect3[(Player number of (Owner of (Triggering unit)))] = (Last created special effect)
      • Wait 31.00 seconds
      • Special Effect - Destroy SpecialEffect3[(Player number of (Owner of (Triggering unit)))]
      • Camera - Pan camera for (Owner of (Triggering unit)) to GazePoint over 0.00 seconds
      • Selection - Select GazeCaster for (Owner of (Triggering unit))
      • Unit - Unpause GazeCaster[(Player number of (Owner of (Triggering unit)))]
      • Custom script: call RemoveLocation (udg_Gaze_Point[GetPlayerId(GetOwningPlayer(GetTriggerUnit()))+1])
      • Trigger - Turn off GazeEyeCasterDie <gen>
      • Trigger - Turn off Gazechanneling <gen>


Trigger:
  • Gazechanneling
    • Events
      • Time - Every 3.13 seconds of game time
    • Conditions
    • Actions
      • Set Temp_group = (Units in (Entire map) matching (Check[(Player number of (Owner of (Matching unit)))] Equal to True))
      • Unit Group - Pick every unit in Temp_group and do (Actions)
    • Loop - Actions
      • Animation - Play (Picked unit)'s slam animation
        • Custom script: call DestroyGroup(udg_Temp_Group)


Trigger:
  • GazeEyeCasterDie
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Lord of the Ring
    • Actions
      • Unit - Unpause (Triggering unit)
      • Set Check[(Player number of (Owner of (Triggering unit)))] = False
      • Special Effect - Destroy SpecialEffect3[(Player number of (Owner of (Triggering unit)))]
      • Set TempUnitGroup = (Units in (Playable map area) owned by (Owner of GazeCaster[(Player number of (Owner of (Triggering unit)))]))
      • Unit Group - Pick every unit in TempUnitGroup and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Picked unit) is Summoned) Equal to True
              • ((Picked unit) is An Ancient) Equal to True
            • Then - Actions
              • Unit - Remove (Picked unit) from the game
              • Custom script: call DestroyGroup(udg_TempUnitGroup)
            • Else - Actions
              • Custom script: call DestroyGroup(udg_TempUnitGroup)

I`m sorry for double post,my mistake.
This code should work fine.
 

Weep

Godspeed to the sound of the pounding
Reaction score
401
Base the spell on Tornado? It summons a unit which exists only while the caster channels (better than pause unit IMO.)
 

NeuroToxin

New Member
Reaction score
46
Question, cant you just create the unit, give it a generic expiration time, give it immolation and you're fine....
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top