• 🏆 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!

[Solved] Again a little problem with mui spell

Status
Not open for further replies.
Level 19
Joined
Apr 21, 2013
Messages
1,194
But i couldn't find where any help is appreciated. The dummy stops when second is cast.

  • FB Configuration
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- Setting the ability ID --------
      • Set FB_AbilityID = Fire Ball
      • -------- set the effect --------
      • Set FB_SPC1 = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
      • -------- Damage --------
      • Set FB_Damage[1] = 100.00
      • Set FB_Damage[2] = 150.00
      • Set FB_Damage[3] = 250.00
      • Set FB_Damage[4] = 400.00
      • -------- AoE of FireBall --------
      • Set FB_AoE[1] = 100.00
      • Set FB_AoE[2] = 100.00
      • Set FB_AoE[3] = 100.00
      • Set FB_AoE[4] = 100.00
      • -------- Max Distance of FireBall --------
      • Set FB_MaxDistance = 1000.00
      • -------- Speed of the ball --------
      • Set FB_Speed = (1500.00 x 0.03)
      • -------- ----------Creating the Peasant to harvest the trees---------- --------
      • Custom script: set udg_FB_TreeDestroyer = CreateUnit (Player(15), 'hpea', 0,0,0)
      • Custom script: call UnitAddAbility(udg_FB_TreeDestroyer, 'Aloc')
      • Unit - Hide FB_TreeDestroyer


  • FB Execution
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Fire Ball
    • Actions
      • Set FB_Index = (FB_Index + 1)
      • Set FB_Caster[FB_Index] = (Triggering unit)
      • Set tempLoc1 = (Position of FB_Caster[FB_Index])
      • Set tempLoc2 = (Target point of ability being cast)
      • Set FB_Angle[FB_Index] = (Angle from tempLoc1 to tempLoc2)
      • Unit - Create 1 FireballDummy for (Owner of FB_Caster[FB_Index]) at tempLoc1 facing FB_Angle[FB_Index] degrees
      • Set FB_Dummy[FB_Index] = (Last created unit)
      • Set FB_DistanceTravelled[FB_Index] = 0.00
      • Custom script: set udg_FB_DamageGroup[udg_FB_Index] = CreateGroup()
      • Custom script: call RemoveLocation(udg_tempLoc1)
      • Custom script: call RemoveLocation(udg_tempLoc2)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • FB_Index Equal to 1
        • Then - Actions
          • Trigger - Turn on FB Loop <gen>
        • Else - Actions


  • FB Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • For each (Integer FB_LoopInteger) from 1 to FB_Index, do (Actions)
        • Loop - Actions
          • Set tempLoc1 = (Position of FB_Dummy[FB_LoopInteger])
          • Set tempLoc2 = (tempLoc1 offset by FB_Speed towards FB_Angle[FB_LoopInteger] degrees)
          • Set FB_DistanceTravelled[FB_LoopInteger] = (FB_DistanceTravelled[FB_LoopInteger] + FB_Speed)
          • Custom script: set bj_wantDestroyGroup = true
          • Unit - Move FB_Dummy[FB_LoopInteger] instantly to tempLoc2
          • Unit Group - Pick every unit in (Units within FB_AoE[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] of tempLoc2) and do (Actions)
            • Loop - Actions
              • Set tempUnit = (Picked unit)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (tempUnit is alive) Equal to True
                  • (tempUnit is in FB_DamageGroup[FB_LoopInteger]) Equal to False
                  • (tempUnit belongs to an enemy of (Owner of FB_Caster[FB_LoopInteger])) Equal to True
                • Then - Actions
                  • Unit - Cause FB_Dummy[FB_LoopInteger] to damage tempUnit, dealing FB_Damage[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] damage of attack type Pierce and damage type Fire
                  • Special Effect - Create a special effect at (Position of tempUnit) using FB_SPC1
                  • Special Effect - Destroy (Last created special effect)
                  • Unit - Hide FB_Dummy[FB_LoopInteger]
                • Else - Actions
              • Unit Group - Add tempUnit to FB_DamageGroup[FB_LoopInteger]
          • Destructible - Pick every destructible within FB_AoE[(Level of FB_AbilityID for FB_Caster[FB_LoopInteger])] of tempLoc2 and do (Actions)
            • Loop - Actions
              • Set tempDestructible = (Picked destructible)
              • Unit - Order FB_TreeDestroyer to Harvest tempDestructible
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Current order of FB_TreeDestroyer) Equal to (Order(harvest))
                • Then - Actions
                  • Destructible - Kill tempDestructible
                • Else - Actions
              • Unit - Order FB_TreeDestroyer to Stop
          • Custom script: call RemoveLocation(udg_tempLoc1)
          • Custom script: call RemoveLocation(udg_tempLoc2)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • FB_DistanceTravelled[FB_LoopInteger] Greater than or equal to FB_MaxDistance
            • Then - Actions
              • Unit - Kill FB_Dummy[FB_LoopInteger]
              • Set FB_Angle[FB_LoopInteger] = FB_Angle[FB_Index]
              • Set FB_Caster[FB_LoopInteger] = FB_Caster[FB_Index]
              • Set FB_Dummy[FB_LoopInteger] = FB_Dummy[FB_Index]
              • Set FB_DamageGroup[FB_LoopInteger] = FB_DamageGroup[FB_Index]
              • Set FB_DistanceTravelled[FB_LoopInteger] = FB_DistanceTravelled[FB_Index]
              • Set FB_Index = (FB_Index - 1)
              • Set FB_LoopInteger = (FB_LoopInteger - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • CM_Index Equal to 0
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions
            • Else - Actions
 
Last edited:
Status
Not open for further replies.
Top