• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Ice Blast spell

Status
Not open for further replies.
Level 18
Joined
May 11, 2012
Messages
2,103
can someone help me mke this trigger works properly? when I cast it for 1st time, it doesn't deal damage, but when csting it again, it does damages.

so What's the problem?

  • Ice Blast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Ice Blast
    • Actions
      • Set Damage[1] = 300.00
      • Set Damage[2] = 600.00
      • Set Damage[3] = 1200.00
      • Set Damage[4] = 2400.00
      • Set Damage[5] = 4800.00
      • Set Damage_Integer = (Level of Ice Blast for Snow_Trig_Unit)
      • Set Snow_Trig_Unit = (Triggering unit)
      • Set Temp_Point = (Position of Snow_Trig_Unit)
      • For each (Integer A) from 1 to 5, do (Actions)
        • Loop - Actions
          • Set Snow_Point = (Temp_Point offset by 125.00 towards (18.00 + (72.00 x (Real((Integer A))))) degrees)
          • Special Effect - Create a special effect at Snow_Point using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Set Snow_UnitGroup[1] = (Units within 150.00 of Snow_Point matching ((((Matching unit) belongs to an enemy of (Owner of Snow_Trig_Unit)) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is dead) Equal to False))))
          • Unit Group - Pick every unit in Snow_UnitGroup[1] and do (Actions)
            • Loop - Actions
              • Unit - Cause Snow_Trig_Unit to damage (Picked unit), dealing Damage[Damage_Integer] damage of attack type Spells and damage type Normal
          • Custom script: call RemoveLocation(udg_Snow_Point)
      • Wait 0.50 seconds
      • For each (Integer A) from 6 to 15, do (Actions)
        • Loop - Actions
          • Set Snow_Point = (Temp_Point offset by 250.00 towards (54.00 + (36.00 x (Real((Integer A))))) degrees)
          • Special Effect - Create a special effect at Snow_Point using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Set Snow_UnitGroup[2] = (Units within 150.00 of Snow_Point matching ((((Matching unit) belongs to an enemy of (Owner of Snow_Trig_Unit)) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is dead) Equal to False))))
          • Unit Group - Pick every unit in Snow_UnitGroup[2] and do (Actions)
            • Loop - Actions
              • Unit - Cause Snow_Trig_Unit to damage (Picked unit), dealing Damage[Damage_Integer] damage of attack type Spells and damage type Normal
          • Custom script: call RemoveLocation(udg_Snow_Point)
      • Wait 0.50 seconds
      • For each (Integer A) from 16 to 35, do (Actions)
        • Loop - Actions
          • Set Snow_Point = (Temp_Point offset by 400.00 towards (72.00 + (18.00 x (Real((Integer A))))) degrees)
          • Special Effect - Create a special effect at Snow_Point using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
          • Special Effect - Destroy (Last created special effect)
          • Set Snow_UnitGroup[3] = (Units within 150.00 of Snow_Point matching ((((Matching unit) belongs to an enemy of (Owner of Snow_Trig_Unit)) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is dead) Equal to False))))
          • Unit Group - Pick every unit in Snow_UnitGroup[3] and do (Actions)
            • Loop - Actions
              • Unit - Cause Snow_Trig_Unit to damage (Picked unit), dealing Damage[Damage_Integer] damage of attack type Spells and damage type Normal
          • Custom script: call RemoveLocation(udg_Snow_Point)
everything works perfectly, except damage--...
 
Level 9
Joined
Jul 10, 2011
Messages
562
its simply the order you set the variables.

you first do
  • Set Damage_Integer = (Level of Ice Blast for Snow_Trig_Unit)
and afterwards you do
  • Set Snow_Trig_Unit = (Triggering unit)
the trigger cant see into the future so it cant set damage integer because theres no snow-trig-unit during the first run. just switch these 2 lines and itll work.

but beside that...i would recommend learning gui spell triggering because i see several things that should be avoided....and the trigger isnt mui or even mpi. just one unit and only this ione unit can have this spell because otherwise it could cause problems using the waits. but thats just a tipp. ;D
 
Level 9
Joined
Jul 10, 2011
Messages
562
then i would recommend reading some tutorial here on the hive...

here are they^^

just go through the titles and read the ones you are intrested in or the ones your think you could need/use^^

and to your trigger :

1. WAITS ARE BAD! :D
2. why youre using a unitgroup array instead of a tempunitgroup?
3. youre spammin 35 special effects
4. the trigger itself looks ugly (that doesnt mean anything about the triggering but it looks VERY unprofessional....and beside that....the triggering here is bad....sorry to say.)
 
Level 2
Joined
Jul 31, 2012
Messages
14
hey bro .. teach me to make Ice Blast spells,please? .. i'm very noob about spells, where i can get the tutorial to import spell like Ice Blast .. thanks :wink:
 
Status
Not open for further replies.
Top