1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Compete in Concept Art Contest - Bounty Hunter . May the best artist's bounty hunter execute!
    Dismiss Notice
  3. The Modeling Mini-Contest #5 - Familiar is up! Compete to design a pet companion to a lonely WC3 Hero of your preference.
    Dismiss Notice
  4. The present for our Christmas Mini-Texturing Contest finally arrived. Check out the results!
    Dismiss Notice
  5. The 6th installment of our Music Contest just got fired up! Now with an Apocalyptic taste. Get started and compete in this musical battle!
    Dismiss Notice
  6. Looking to expand an altered melee race of yours? Join the Advanced Techtree Contest - Recycle, Revise, Reinvent contest!
    Dismiss Notice

buff /effect trigger

Discussion in 'World Editor Help Zone' started by Blackair, Jul 16, 2012.

  1. Blackair

    Blackair
    Joined:
    Aug 18, 2011
    Messages:
    76
    hi everyone
    i tried to use this trigger to add a freeze effect and slowing down enemy units with buff Cold of cone

    what wrong with this trigger and why it wont work?
    • Cone of Cold buff
      • Events
        • Time - Every 1.00 seconds of game time
      • Conditions
      • Actions
        • Unit Group - Pick every unit in (Units in (Playable map area) matching (((Picked unit) has buff Cone of Cold ) Equal to True)) and do (Actions)
          • Loop - Actions
            • Unit - Set (Picked unit) movement speed to ((Current movement speed of (Picked unit)) - ((Current movement speed of (Picked unit)) x 0.60))
            • Animation - Change (Picked unit)'s vertex coloring to (0.00%, 0.00%, 100.00%) with 0.00% transparency
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              • If - Conditions
                • ((Picked unit) has buff Cone of Cold ) Equal to False
              • Then - Actions
                • Animation - Change (Picked unit)'s vertex coloring to (0.00%, 0.00%, 100.00%) with 0.00% transparency
                • Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))
              • Else - Actions

    and how can i fix it? i need the pros guide!
     
  2. mckill2009

    mckill2009
    Joined:
    Mar 10, 2009
    Messages:
    4,681
    I think you should do;
    • Unit - Set (Picked unit) movement speed to ((Default movement speed of (Picked unit)) - ((Default movement speed of (Picked unit)) x 0.60))

    but that is bad also, coz you're checking everytime, so you should put a condition to run it just one time...

    BTW:
    - your group leaks
    - This is useless " ((Picked unit) has buff Cone of Cold ) Equal to False" since it will filter the ONLY the unit who has that buff
    - Picking units in playable map area to check buff using a looper 1.0/sec is bad coz you need to off this trigger somehow

    SUGGETIONS:
    - Make a group variable, if this is a spell, add the target to that group
    - PIck all units in THAT GROUP and put conditions like you mentioned above, this way it will pick units with or w/o buff
    - If no buff detecetd, remove unit from group

    EDIT; something like this
    • Cone of Cold buff
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in (YOUR_GROUP) and do (Actions)
        • Loop - Actions
          • If - Conditions ((Picked unit) has buff Cone of Cold ) Equal to False
          • Then - Actions
            • Animation - Change (Picked unit)'s vertex coloring to (0.00%, 0.00%, 100.00%) with 0.00% transparency
            • Unit - Set (Picked unit) movement speed to (Default movement speed of (Picked unit))
            • Custom script: call GroupRemoveUnit(udg_YOUR_GROUP, GetEnumUnit())
            • Custom script: if IsUnitGroupEmptyBJ(udg_YOUR_GROUP) then
            • Trigger - Turn Off this trigger
            • Custom script: endif
          • Else - Actions