Spell Doppelwalk GUI MUI version

polo2005

Wana start playing LoL? http://tinyurl.com/369as27
Reaction score
97
Hello :)

Last year before I quite making maps of some personal reasons, I was working on a Fully working MUI spellpack of Phantom Lancer from dotA. However now that I no longer play dotA nor being active at map making (dont really know how popular wc3 still are) i decided to just release Doppelwalk.

Anyway here is the map:

and the code:
Code:
Phantom Lancer Initialization
    Events
        Map initialization
    Conditions
    Actions
        -------- set counter to the number of "YourHero" your using --------
        Set Counter[1] = 1
        Set YourHero[1] = Phantom Lancer
        -------- set "DummyUnit" to your dummy unit your using --------
        Set DummyUnit = Dummy
        -------- set buff as your wand of illusion buff --------
        Set buff = Illusion Doppel 
        -------- set spellf[0] as your doppelwalk spell --------
        Set spell[0] = Doppelwalk 
        -------- set spellf[1] as your wand of illusion spell --------
        Set spell[1] = Copy (L1: dop L2:  jux L3: pe)

Code:
PL Setup step 1
    Events
        Map initialization
    Conditions
    Actions
        Set Counter[0] = 1
        Custom script:   set bj_wantDestroyGroup=true
        For each (Integer A) from 1 to Counter[1], do (Actions)
            Loop - Actions
                Unit Group - Pick every unit in (Units of type YourHero[(Integer A)]) and do (Actions)
                    Loop - Actions
                        Unit Group - Add (Picked unit) to Temp_UnitGroup[2]
                        Unit Group - Add (Picked unit) to Storage_Group[Counter[0]]
                        Set Counter[0] = (Counter[0] + 1)

Code:
PL Setup step 2
    Events
        Unit - A unit enters (Playable map area)
    Conditions
        ((Triggering unit) is in Temp_UnitGroup[2]) Equal to False
        ((Triggering unit) is an illusion) Equal to False
    Actions
        Set Temp_integer = 0
        For each (Integer A) from 1 to Counter[1], do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Unit-type of (Triggering unit)) Equal to YourHero[(Integer A)]
                    Then - Actions
                        Set Temp_integer = 1
                    Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Temp_integer Equal to 0
            Then - Actions
                Skip remaining actions
            Else - Actions
                Unit Group - Add (Triggering unit) to Temp_UnitGroup[2]
                Unit Group - Add (Triggering unit) to Storage_Group[Counter[0]]
                Set Counter[0] = (Counter[0] + 1)

Code:
Set illu group
    Events
        Unit - A unit Spawns a summoned unit
    Conditions
        ((Summoned unit) is an illusion) Equal to True
        ((Summoned unit) has buff Illusion Doppel ) Equal to True
    Actions
        Unit Group - Add (Summoned unit) to Storage_Group[(Custom value of (Summoning unit))]

Code:
Dopplewalk
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to spell[0]
    Actions
        Set Temp_point[0] = (Position of (Triggering unit))
        Unit - Create 1 DummyUnit for (Owner of (Triggering unit)) at Temp_point[0] facing Default building facing degrees
        Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
        Unit - Add spell[1] to (Last created unit)
        Unit - Set level of spell[1] for (Last created unit) to 1
        For each (Integer A) from 1 to Counter[0], do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Triggering unit) is in Storage_Group[(Integer A)]) Equal to True
                    Then - Actions
                        Unit - Set the custom value of (Last created unit) to (Integer A)
                    Else - Actions
        Custom script:   call IssueTargetOrderById(bj_lastCreatedUnit, 852274, GetTriggerUnit())
        Custom script:   call RemoveLocation(udg_Temp_point[0])

Code:
Dopplewalk Set illu position
    Events
        Unit - A unit enters (Playable map area)
    Conditions
        ((Triggering unit) is an illusion) Equal to True
        ((Triggering unit) has buff buff) Equal to True
    Actions
        For each (Integer A) from 1 to Counter[0], do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Triggering unit) is in Storage_Group[(Integer A)]) Equal to True
                    Then - Actions
                        Unit Group - Pick every unit in Storage_Group[(Integer A)] and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is A Hero) Equal to True
                                    Then - Actions
                                        Set Temp_point[0] = (Position of (Picked unit))
                                        Unit - Move (Triggering unit) instantly to Temp_point[0], facing (Facing of (Picked unit)) degrees
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                Or - Any (Conditions) are true
                                                    Conditions
                                                        (Current order of (Picked unit)) Equal to (Order(move))
                                                        (Current order of (Picked unit)) Equal to (Order(smart))
                                                (Current order of (Picked unit)) Not equal to (Order(attack))
                                            Then - Actions
                                                Set Temp_point[1] = (Temp_point[0] offset by 450.00 towards (Facing of (Picked unit)) degrees)
                                                Unit - Order (Triggering unit) to Move To Temp_point[1]
                                                Custom script:   call RemoveLocation(udg_Temp_point[1])
                                            Else - Actions
                                        Custom script:   call RemoveLocation(udg_Temp_point[0])
                                    Else - Actions
                    Else - Actions
 

Attachments

  • Doppelwalk.w3x
    36.6 KB · Views: 514

NoobImbaPro

You can change this now in User CP.
Reaction score
60
Because your triggers are GUI, you should wrap them into [ wc3][ /wc3] tags
 
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