Freeze Spell

Level 12
Joined
Aug 3, 2021
Messages
436
Hello. Its Pekisa7 again. I've receantley looked up a thread about how to freeze a unit in place. I did everything the thread told me by making the triggers but it dosen't work. Instead of storm bolt + buff i made my abillty howling blast + freeze ( Entagling Roots buff). Can it be done that way? Can someone help. Id aprriciate it. Best regards from Pekisa7. Here are the triggers :
  • Freeze
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Howling Blast (Lich King)
    • Actions
      • Set Freeze_Unit = (Target unit of ability being cast)
      • Unit Group - Add Freeze_Unit to Freeze_Group
      • Animation - Change Freeze_Unit's animation speed to 0.00% of its original speed
  • Freeze Loop
    • Events
      • Time - Every 0.01 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Freeze_Group and do (Actions)
        • Loop - Actions
          • Set Freeze_Unit = (Picked unit)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Freeze_Unit has buff Freeze (Ice)) Equal to True
            • Then - Actions
              • Unit Group - Remove Freeze_Unit from Freeze_Group
              • Animation - Change Freeze_Unit's animation speed to 100.00% of its original speed
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Number of units in Freeze_Group) Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Freeze_Unit has buff Divine Shield) Equal to False
                      • (Freeze_Unit has buff Cyclone) Equal to False
                      • (Freeze_Unit has buff Invulnerable) Equal to False
                      • (Freeze_Unit has buff Sleep) Equal to False
                    • Then - Actions
                      • Unit - Make Freeze_Unit Vulnerable
                    • Else - Actions
                      • Unit - Make Freeze_Unit Invulnerable
Does anyone know?
 
  • (Freeze_Unit has buff Freeze (Ice)) Equal to True
Shouldn't this be false instead of true? The point of this trigger is to remove affected units from the group, I assume when they have lost the buff right?

Also the trigger is set to be turned off if the group is empty, which is a good idea because of the periodic event, but do you turn it on elsewhere? Otherwise your spell will probaby only work 1 time and never again
 
  • (Freeze_Unit has buff Freeze (Ice)) Equal to True
Shouldn't this be false instead of true? The point of this trigger is to remove affected units from the group, I assume when they have lost the buff right?

Also the trigger is set to be turned off if the group is empty, which is a good idea because of the periodic event, but do you turn it on elsewhere? Otherwise your spell will probaby only work 1 time and never again
I set the freeze unit has buff to false it dosen't still work.
 
Also the trigger is set to be turned off if the group is empty, which is a good idea because of the periodic event, but do you turn it on elsewhere? Otherwise your spell will probaby only work 1 time and never again
@Pekisa7 You forgot to respond to this part.

I have questions too. Which ability is Howling Blast based on? Does it cast a missile that travels toward the target?
 
Oh well that's the problem, Blizzard targets a point not an unit, so (Target unit of ability being cast) = nothing

You could instead pick every unit in a radius of X around the target point of ability being cast
Okay. Thanks for the reply.
 
what freezes a unit?
1.
  • Unit - Pause (Triggering unit)
OR
2.
  • Animation - Change (Last created unit)'s animation speed to 0.00% of its original speed
you dont need to checlk ever 0.01s.
here is a plan:
variables:
freeze_unit_group
Countdown_timer[array of 1000 or another big number]
int incremented_id

when a unit casts this freeze ability, increment incremented_id, give this id as custom-int to the unit, then put the unit inside freeze_unit_group. the nstart Countdown_timer[incremented_id] to expire in (x seconds * levle of freeze ability for casting unit)
then have a trigger to check every 1 second if freeze_unit_group is empty, if not then for each unit check the remaining time of Countdown_timer[ccustom value of picked unit]

something like that
 
Last edited:
you dont need to checlk ever 0.01s.
here is a plan:
variables:
freeze_unit_group
Countdown_timer[array of 1000 or another big number]
int incremented_id

when a unit casts this freeze ability, increment incremented_id, give this id as custom-int to the unit, then put the unit inside freeze_unit_group. the nstart Countdown_timer[incremented_id] to expire in (x seconds * levle of freeze ability for casting unit)
then have a trigger to check every 1 second if freeze_unit_group is empty, if not then for each unit check the remaining time of Countdown_timer[ccustom value of picked unit]

something like that
Thank you.
 
Back
Top