1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Dismiss Notice
  3. After a long wait, the results for Terraining Contest #18 are finally out! Drop by and congratulate the winners!
    Dismiss Notice
  4. The poll for Concept Art Contest #9 is up! Cast your vote for your favourite entry!
    Dismiss Notice
  5. Hero Contest #8 is up and running! This time it's a joint contest between artists and coders. Go here for team matchmaking.
    Dismiss Notice
  6. Our first StarCraft contest, The Galaxy Terraining Contest #1 - World Wonders has started. Enter to show off your Galaxy Editor skills and win a custom rank icon among other things.
    Dismiss Notice
  7. Ever wanted to get your sets ready for fast texturing while still having fun? Now it is possible with our newest Mini-Texturing Contest.
    The Skeleton Units need your dire help!
    Dismiss Notice
  8. The poll for Techtree Contest #11 is up! Cast your vote for your favorite entry.
    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