Mind Control

Raizn

New Member
Reaction score
2
Hi Helpers.
i got a problem with my mind control spell. it works but is there an easier way to do it for multiple players ? i tested it with "change ownership to previous owner" but while testing it doesnt change back. so i did it like this.

Trigger:
  • Mind Control 1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Mind Control
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Level of Mind Control for (Triggering unit)) Equal to 1) and (((Owner of (Triggering unit)) Equal to Player 1 (Red)) and ((Owner of (Target unit of ability being cast)) Equal to Player 2 (Blue)))
        • Then - Actions
          • Unit Group - Add (Target unit of ability being cast) to MindControlRed[1]
          • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Triggering player) and Change color)
          • Wait 3.00 seconds
          • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Player(2)) and Change color)
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Level of Mind Control for (Triggering unit)) Equal to 2) and ((Owner of (Triggering unit)) Equal to Player 1 (Red))
            • Then - Actions
              • Unit Group - Add (Target unit of ability being cast) to MindControlRed[1]
              • Unit - Change ownership of (Target unit of ability being cast) to (Triggering player) and Change color
              • Wait 6.00 seconds
              • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Player(2)) and Change color)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Level of Mind Control for (Triggering unit)) Equal to 3) and ((Owner of (Triggering unit)) Equal to Player 1 (Red))
                • Then - Actions
                  • Unit Group - Add (Target unit of ability being cast) to MindControlRed[1]
                  • Unit - Change ownership of (Target unit of ability being cast) to (Triggering player) and Change color
                  • Wait 9.00 seconds
                  • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Player(2)) and Change color)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Level of Mind Control for (Triggering unit)) Equal to 4) and ((Owner of (Triggering unit)) Equal to Player 1 (Red))
                    • Then - Actions
                      • Unit Group - Add (Target unit of ability being cast) to MindControlRed[1]
                      • Unit - Change ownership of (Target unit of ability being cast) to (Triggering player) and Change color
                      • Wait 12.00 seconds
                      • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Player(2)) and Change color)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • ((Level of Mind Control for (Triggering unit)) Equal to 5) and ((Owner of (Triggering unit)) Equal to Player 1 (Red))
                        • Then - Actions
                          • Unit Group - Add (Target unit of ability being cast) to MindControlRed[1]
                          • Unit - Change ownership of (Target unit of ability being cast) to (Triggering player) and Change color
                          • Wait 15.00 seconds
                          • Unit Group - Pick every unit in MindControlRed[1] and do (Unit - Change ownership of (Picked unit) to (Player(2)) and Change color)
                        • Else - Actions
                          • -------- Add additional Ability Levels here --------


is it a WE bug that "previous owner" doesnt work for cpu or something ?

bye raizn
 

tooltiperror

Super Moderator
Reaction score
231
Change picked unit and casting unit and such to Variables.

I think that picks don't always survive through If-Then-Else and such.
 

Raizn

New Member
Reaction score
2
thanks for the reply but i solved it with adding the owned of attacked unit to a player group array. the vars dont work. and instead of changing it back to player x or previous owner i changed it back to picked player.
 

kaboo

New Member
Reaction score
45
this works perfectly for me and it's a bit shorter and easier than yours
Trigger:
  • change mind
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Storm Bolt x
    • Actions
      • Unit Group - Add (Target unit of ability being cast) to changed_units
      • Unit - Change ownership of (Target unit of ability being cast) to (Owner of (Casting unit)) and Change color

Trigger:
  • change back
    • Events
      • Unit - A unit Changes owner
    • Conditions
      • ((Ownership-changed unit) is in changed_units) Equal to True
    • Actions
      • Wait 5.00 seconds
      • Unit Group - Remove (Ownership-changed unit) from changed_units
      • Unit - Change ownership of (Ownership-changed unit) to (Previous owner) and Change color

if you want to increase duration per level just change the "5" with some arithmetics
 

Raizn

New Member
Reaction score
2
Hmm are you sure that yours is easier and shorter ? your trigger doesnt have level depending durations of the owner change. that would be a thing that have to be added.
 

Rushhour

New Member
Reaction score
46
Use a hashtable! Really it's so much easier. When the spell is cast you store the previous owner, the effect time and whatever you want in it. Then a timer/periodic trigger counts down this stored time and when it reached zero, simply return all changes.
Here is a hashtable tutorial that shows how you can store the data with the handle Id of the spell target unit easily ;)
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/hashtables-mui-133407/
 

kaboo

New Member
Reaction score
45
Hmm are you sure that yours is easier and shorter ? your trigger doesnt have level depending durations of the owner change. that would be a thing that have to be added.

Trigger:
  • change mind
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Storm Bolt x
    • Actions
      • set caster = casting unit
      • Unit Group - Add (Target unit of ability being cast) to changed_units
      • Unit - Change ownership of (Target unit of ability being cast) to (Owner of (Casting unit)) and Change color

Trigger:
  • change back
    • Events
      • Unit - A unit Changes owner
    • Conditions
      • ((Ownership-changed unit) is in changed_units) Equal to True
    • Actions
      • Wait ((level of mind control for caster)*3) seconds
      • Unit Group - Remove (Ownership-changed unit) from changed_units
      • Unit - Change ownership of (Ownership-changed unit) to (Previous owner) and Change color


ok?
 

Rushhour

New Member
Reaction score
46
yeah this might work too, but event responses don't always react as expected after long waits. Hashtables are great! don't listen to the dark side of .. what? ;P
 
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