1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Music Contest #8 - Hive Soundtrack is up! Create the soundtrack for the upcoming videos of Hive Workshop's YouTube Channel.
    Dismiss Notice
  3. Check out the entries of the latest Mini-Mapping Contest: Stealth! Cast your vote for here!
    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
    Resources:
    0
    Resources:
    0
    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
    Resources:
    31
    Maps:
    5
    Spells:
    26
    Resources:
    31
    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