How to create a Voodoo Aura?

rafaxik

New Member
Reaction score
2
Hi!
I was thinking about make an aura that gives chance to transform nearby enemies into sheep or whatever else. I have no idea how to create it :D.
Thanks!:thup:
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
It would have to be a periodic trigger, that picks up every unit every second around the unit that has the aura. Then, you would have to create a dummy unit that would cast polymorph, but i'm unsure, do you want it to be permanent (until the unit leaves the aura) or temporary (like a regular polymorph)?

Explain please ^^
 

rafaxik

New Member
Reaction score
2
Hi!
I was thinking about make an aura that gives chance to transform nearby enemies into sheep or whatever else. I have no idea how to create it :D.
Thanks!:thup:

Like a regular polymorph, not permanent
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
Do something like this:

Trigger:
  • Voodoo Aura
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set TempGroup = (Units in (Playable map area) matching (((Matching unit) has buff Voodoo Aura) Equal to True))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for Neutral Hostile at (Position of (Picked unit)) facing Default building facing degrees
          • Unit - Add a 2.50 second Generic expiration timer to (Last created unit)
          • Unit - Add Polymorph to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
      • Custom script: call DestroyGroup(udg_TempGroup)
 

rafaxik

New Member
Reaction score
2
Wow great! When I get home I'll try it! I'll post how it was.:thup:
Thanks a lot!
 

Accname

2D-Graphics enthusiast
Reaction score
1,464
Do something like this:

Trigger:
  • Voodoo Aura
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set TempGroup = (Units in (Playable map area) matching (((Matching unit) has buff Voodoo Aura) Equal to True))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for Neutral Hostile at (Position of (Picked unit)) facing Default building facing degrees
          • Unit - Add a 2.50 second Generic expiration timer to (Last created unit)
          • Unit - Add Polymorph to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
      • Custom script: call DestroyGroup(udg_TempGroup)

this trigger in its current form will most likely end up in mass lagg.

you call it every 1.00 seconds but the dummys stay for 2.50 seconds.

it does also create dummys for units which are already hexed.

there is much to be improved. (of course i know you just quickly wrote something done as an example, i just want to state clearly that this is not the trigger in its final form)
 

Ayanami

칼리
Reaction score
288
Do something like this:

Trigger:
  • Voodoo Aura
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set TempGroup = (Units in (Playable map area) matching (((Matching unit) has buff Voodoo Aura) Equal to True))
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Dummy for Neutral Hostile at (Position of (Picked unit)) facing Default building facing degrees
          • Unit - Add a 2.50 second Generic expiration timer to (Last created unit)
          • Unit - Add Polymorph to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
      • Custom script: call DestroyGroup(udg_TempGroup)

You could reduce the dummy's expiration timer. And check only those units without the hex buff.
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
this trigger in its current form will most likely end up in mass lagg.

you call it every 1.00 seconds but the dummys stay for 2.50 seconds.

it does also create dummys for units which are already hexed.

there is much to be improved. (of course i know you just quickly wrote something done as an example, i just want to state clearly that this is not the trigger in its final form)

Yep, was quite a quickly written trigger ^^ and yep, do what Glenphir says:

i.e

Trigger:
  • Set TempGroup = (Units in (Playable map area) matching (((Matching unit) has buff Voodoo Aura) Equal to True) and ((Matching unit) has buff Polymorph)) equal to false)))


and
Trigger:
  • Add a 1 second Generic expiration timer to (Last created unit)


Just correcting my mistakes ^^

Also Use:

Trigger:
  • Unit Group - Pick every unit in TempGroup and do (Actions)
    • Loop - Actions
      • Set TempPoint = (Position of (Picked Unit))
      • Unit - Create 1 Dummy for Neutral Hostile at TempPoint facing Default building facing degrees
      • Unit - Add a 1 second Generic expiration timer to (Last created unit)
      • Unit - Add Polymorph to (Last created unit)
      • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
      • call RemoveLocation(udg_TempPoint)

So you don't have any memory leaks ^^
 

millz-

New Member
Reaction score
25
I thought he wanted it chance based? Like maybe 10% chance to get hexed every second?

Trigger:
  • Unit Group - Pick every unit in TempGroup and do (Actions)
    • Loop - Actions
      • Set TempInt = Random integer between 1 and 100
      • if-then-else
        • if
          • TempInt Less than or equal to 10
        • then
          • Set TempPoint = (Position of (Picked Unit))
          • Unit - Create 1 Dummy for Neutral Hostile at TempPoint facing Default building facing degrees
          • Unit - Add a 1 second Generic expiration timer to (Last created unit)
          • Unit - Add Polymorph to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
          • call RemoveLocation(udg_TempPoint)
        • else


Sorry, freehanded the chance thingy.

Basically, create an integer variable to act as the chance, set it to a random number between 1 and 100 for every unit that has the aura and is not polymorphed. If the number is <= 10, hex it.
 

Murre

New Member
Reaction score
14
I thought he wanted it chance based? Like maybe 10% chance to get hexed every second?

Trigger:
  • Unit Group - Pick every unit in TempGroup and do (Actions)
    • Loop - Actions
      • Set TempInt = Random integer between 1 and 100
      • if-then-else
        • if
          • TempInt Less than or equal to 10
        • then
          • Set TempPoint = (Position of (Picked Unit))
          • Unit - Create 1 Dummy for Neutral Hostile at TempPoint facing Default building facing degrees
          • Unit - Add a 1 second Generic expiration timer to (Last created unit)
          • Unit - Add Polymorph to (Last created unit)
          • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
          • call RemoveLocation(udg_TempPoint)
        • else


Sorry, freehanded the chance thingy.

Basically, create an integer variable to act as the chance, set it to a random number between 1 and 100 for every unit that has the aura and is not polymorphed. If the number is <= 10, hex it.
Simply, just FYI that would be a 10% chance. :)
 

rafaxik

New Member
Reaction score
2
Voodoo Aura Problem with trigger

Wow great! When I get home I'll try it! I'll post how it was.:thup:
Thanks a lot!

Guys, is there something wrong with this trigger? It's not working... Please help me!

I Made two triggers: VoodooAuraLearn and VoodooAuraCast
Here's the ss and the triggers:
First Trigger:
Trigger:
  • VoodooAuraLearn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Voodoo Aura - MAIN
    • Actions
      • <span style="color: darkred">Set VoodooUnit = (Triggering unit)</span>
      • Trigger - Turn on VoodooAuraCast &lt;gen&gt;

Second Trigger:
Trigger:
  • VoodooAuraCast
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set VoodooGroup = (Units in (Playable map area) matching ((((Picked unit) has buff Voodo Aura - BUFF) Equal to True) and (((Picked unit) has buff Voodo Aura - BUFF POLYMORPHED) Equal to False)))
      • Unit Group - Pick every unit in VoodooGroup and do (Actions)
        • Loop - Actions
          • Set VoodooInteger = (Random integer number between 1 and 100)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • VoodooInteger Less than or equal to (<span style="color: DarkRed">5 x (Level of Voodoo Aura - MAIN for VoodooUnit</span>))
            • Then - Actions
              • Set VoodooPoint = (Position of (Picked unit))
              • Unit - Create 1 fk.dummy03 for (Owner of VoodooUnit) at VoodooPoint facing Default building facing degrees
              • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
              • Unit - Add Voodoo Aura - DUMMY to (Last created unit)
              • Unit - Set level of Voodoo Aura - DUMMY for (Last created unit) to (Level of Voodoo Aura - MAIN for VoodooUnit)
              • Unit - Order (Last created unit) to Human Sorceress - Polymorph (Picked unit)
              • Custom script: call RemoveLocation(udg_VoodooPoint)
            • Else - Actions


Now the screen shot is attached to this message
 

Attachments

  • voodoo-aura.jpg
    voodoo-aura.jpg
    182.9 KB · Views: 123

skyblader

You're living only because it's illegal killing.
Reaction score
159
Firstly, just to inform you. Its not MUI.

Second you might wanna check the target field.

Third you might wanna check the ur custom spell is based off polymorph.

Fourth, maybe try giving the ability to the unit beforehand in the object editor or increase the timer by just a little?

Try inserting messages in between the trigger like game: display to all players: Part 1 is working. So in game, you know what is working and what not. 5% chance is really low, so maybe, just maybe it just hasn't activated? Also are the units enemy of the caster?

Maybe post your map so we can check it out.
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
Trigger:
  • Set VoodooGroup = (Units in (Playable map area) matching ((((Matching unit) has buff Voodo Aura - BUFF) Equal to True)


This is all you need for your group, and it will work ^^

If the unit has the buff it automatically doesn't have it, as there is only two states: 1 and 0 ^^
 

rafaxik

New Member
Reaction score
2
Firstly, just to inform you. Its not MUI.

Second you might wanna check the target field.

Third you might wanna check the ur custom spell is based off polymorph.

Fourth, maybe try giving the ability to the unit beforehand in the object editor or increase the timer by just a little?

Try inserting messages in between the trigger like game: display to all players: Part 1 is working. So in game, you know what is working and what not. 5% chance is really low, so maybe, just maybe it just hasn't activated? Also are the units enemy of the caster?

Maybe post your map so we can check it out.

target field is the same it was before : Air, Ground, Non-hero, Organic and Neutral, you can see that the words ain't pink. I just added to the other levels.
Now, the percentage is not 5 %, its " VoodooInteger Less than or equal to (5 x (Level of Voodoo Aura - MAIN for VoodooUnit)) " wut means 5 %, 10 % and 15 % for Levels 1, 2 and 3, respectively. Even though I tried to make it random integer 1 to 1 and it didnt' work either.

But you made a really great observation: " Also are the units enemy of the caster? " I guess no, after all I created the dummy for neutral hostile. I will lean the trigger with giving the ability to the dummy in obj edit and I will " Set VoodooGroup = (Units in (Playable map area) matching ((((Matching unit) has buff Voodo Aura - BUFF) Equal to True AND ((((Matching unit) has buff Voodo Aura - POLYMORPHED) Equal to False). I guess those hints will work. I'll try it when I get home. Thank you all
 

Nenad

~Choco Coronet~ Omnomnom
Reaction score
137
My bad, i didn't see they were two different buffs ^^

I'm sure it will work now ^^
 

rafaxik

New Member
Reaction score
2
My bad, i didn't see they were two different buffs ^^

I'm sure it will work now ^^

Nevermind ^^

But you made a great observation when saying matching unit has buff. It got easy to understand instead of complicate with a long condition =))
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top