1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Sweeping Beam - v0.1

Submitted by D4RK_G4ND4LF
This bundle is marked as approved. It works and satisfies the submission rules.
The caster channels two beams of energy which both sizzle his enemies by 50 + 25 damage per level.

Requested by supertoinkz

[​IMG]

Similar to the attack of the Starcraft II Colossi
Colossi
[​IMG]


Triggers
  • Ini
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Sweep_DataCount = 14
      • Set zLoc = (Point(0.00, 0.00))
  • Sweep Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to S|cffffcc00w|reeping Beam
    • Actions
      • -------- Caster --------
      • Set u = (Triggering unit)
      • -------- Caster coords --------
      • Custom script: set udg_x2 = GetUnitX(udg_u)
      • Custom script: set udg_y2 = GetUnitY(udg_u)
      • -------- Two beams just look best but other numbers will work, too --------
      • Set i2 = 2
      • For each (Integer i) from 1 to i2, do (Actions)
        • Loop - Actions
          • -------- Radius of beam --------
          • Set r = 200.00
          • -------- Coords of target point --------
          • Custom script: set udg_x = GetSpellTargetX()
          • Custom script: set udg_y = GetSpellTargetY()
          • -------- Offset angle of beam --------
          • Set a = ((Atan2((y - y2), (x - x2))) + ((Real(((360 / i2) x i))) + 90.00))
          • -------- Calculating beam target point coords based on that --------
          • Set x = (x + (r x (Cos(a))))
          • Set y = (y + (r x (Sin(a))))
          • -------- Direction of beam --------
          • Set a = (a + 180.00)
          • -------- Create sweep lightning --------
          • Set Sweep_Max = (Sweep_Max + 1)
          • Lightning - Create a Finger of Death lightning effect from source zLoc to target zLoc
          • Set Sweep_Lightning[Sweep_Max] = (Last created lightning effect)
          • Custom script: if udg_Sweep_Group[udg_i] == null then
          • Custom script: set udg_Sweep_Group[udg_i] = CreateGroup()
          • Custom script: endif
          • -------- Caster again --------
          • Set Sweep_Caster[Sweep_Max] = u
          • -------- Start distance value (should be 0) --------
          • Set Sweep_Data[(Sweep_Max x Sweep_DataCount)] = 0.00
          • -------- Distance the beam will travel --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 1)] = (r x 2.00)
          • -------- Speed of beam (will move 8 every 1/0.03 sec) --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 2)] = 8.00
          • -------- X of target point --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 3)] = x
          • -------- Y of target point --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 4)] = y
          • -------- X component of speed --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 5)] = (Sweep_Data[((Sweep_Max x Sweep_DataCount) + 2)] x (Cos(a)))
          • -------- Y component of speed --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 6)] = (Sweep_Data[((Sweep_Max x Sweep_DataCount) + 2)] x (Sin(a)))
          • -------- Caster beam offset distance --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 7)] = 70.00
          • -------- Caster beam offset angle --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 8)] = (a - ((Atan2((y - y2), (x - x2))) + 90.00))
          • -------- Caster beam height offset --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 9)] = 130.00
          • -------- Aoe of beam --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 10)] = 150.00
          • -------- Damage of beam --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 11)] = 50.00
          • -------- Sfx start count --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 12)] = 0.00
          • -------- Sfx max count --------
          • Set Sweep_Data[((Sweep_Max x Sweep_DataCount) + 13)] = 3.00
      • Trigger - Turn on Sweep Loop <gen>
  • Sweep Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • -------- Standard d4rk_g4nd4lf indexing --------
      • For each (Integer i) from 1 to Sweep_Max, do (Actions)
        • Loop - Actions
          • Set u = Sweep_Caster[i]
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • u Not equal to No unit
              • (Life of u) Greater than 0.00
              • Sweep_Data[(i x Sweep_DataCount)] Less than Sweep_Data[((i x Sweep_DataCount) + 1)]
            • Then - Actions
              • -------- Count on distance --------
              • Set Sweep_Data[(i x Sweep_DataCount)] = (Sweep_Data[(i x Sweep_DataCount)] + Sweep_Data[((i x Sweep_DataCount) + 2)])
              • -------- Lightning coords caster --------
              • Custom script: set udg_x2 = GetUnitX(udg_u)
              • Custom script: set udg_y2 = GetUnitY(udg_u)
              • -------- Apply offset based on facing --------
              • Set a = ((Facing of u) + (Sweep_Data[((i x Sweep_DataCount) + 8)] - 90.00))
              • Set x2 = (x2 + (Sweep_Data[((i x Sweep_DataCount) + 7)] x (Cos(a))))
              • Set y2 = (y2 + (Sweep_Data[((i x Sweep_DataCount) + 7)] x (Sin(a))))
              • -------- Get terrain z-height --------
              • Custom script: call MoveLocation(udg_zLoc, udg_x2, udg_y2)
              • Custom script: set udg_r2 = GetLocationZ(udg_zLoc)
              • -------- Apply z offset --------
              • Set r2 = (r2 + Sweep_Data[((i x Sweep_DataCount) + 9)])
              • -------- Lightning coords target point --------
              • -------- Move lightning target coords --------
              • Set x = (Sweep_Data[((i x Sweep_DataCount) + 3)] + Sweep_Data[((i x Sweep_DataCount) + 5)])
              • Set y = (Sweep_Data[((i x Sweep_DataCount) + 4)] + Sweep_Data[((i x Sweep_DataCount) + 6)])
              • -------- Save new position --------
              • Set Sweep_Data[((i x Sweep_DataCount) + 3)] = x
              • Set Sweep_Data[((i x Sweep_DataCount) + 4)] = y
              • Custom script: call MoveLocation(udg_zLoc, udg_x, udg_y)
              • -------- Create special effect every x iterations --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Sweep_Data[((i x Sweep_DataCount) + 12)] Greater than or equal to Sweep_Data[((i x Sweep_DataCount) + 13)]
                • Then - Actions
                  • Set Sweep_Data[((i x Sweep_DataCount) + 12)] = 0.00
                  • Special Effect - Create a special effect at zLoc using Abilities\Weapons\AncientProtectorMissile\AncientProtectorMissile.mdl
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
                  • Set Sweep_Data[((i x Sweep_DataCount) + 12)] = (Sweep_Data[((i x Sweep_DataCount) + 12)] + 1.00)
              • Set r = Sweep_Data[((i x Sweep_DataCount) + 10)]
              • -------- Pick units in range --------
              • Custom script: call GroupEnumUnitsInRange(udg_g, udg_x, udg_y, udg_r, null)
              • Unit Group - Pick every unit in g and do (Actions)
                • Loop - Actions
                  • Set u2 = (Picked unit)
                  • -------- Check if picked unit is valid target --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Life of u2) Greater than 0.00
                      • (u2 is A structure) Equal to False
                      • (u2 is A flying unit) Equal to False
                      • (u2 is Mechanical) Equal to False
                      • (u2 is Magic Immune) Equal to False
                      • (u2 is in Sweep_Group[i]) Equal to False
                      • (u2 belongs to an enemy of (Owner of u)) Equal to True
                    • Then - Actions
                      • -------- Add to group so it won't get damaged twice --------
                      • Unit Group - Add u2 to Sweep_Group[i]
                      • -------- Damage --------
                      • Unit - Cause u to damage u2, dealing Sweep_Data[((i x Sweep_DataCount) + 11)] damage of attack type Spells and damage type Unknown
                    • Else - Actions
              • -------- Move lightning --------
              • Custom script: call MoveLightningEx(udg_Sweep_Lightning[udg_i], true, udg_x, udg_y, GetLocationZ(udg_zLoc), udg_x2, udg_y2, udg_r2)
            • Else - Actions
              • -------- Clean up and resort data --------
              • Set Sweep_Caster[i] = Sweep_Caster[Sweep_Max]
              • Lightning - Destroy Sweep_Lightning[i]
              • Set Sweep_Lightning[i] = Sweep_Lightning[Sweep_Max]
              • Unit Group - Remove all units from Sweep_Group[i]
              • Unit Group - Add all units of Sweep_Group[Sweep_Max] to Sweep_Group[i]
              • Unit Group - Remove all units from Sweep_Group[Sweep_Max]
              • For each (Integer i2) from 0 to (Sweep_DataCount - 1), do (Actions)
                • Loop - Actions
                  • Set Sweep_Data[((i x Sweep_DataCount) + i2)] = Sweep_Data[((Sweep_Max x Sweep_DataCount) + i2)]
              • Set Sweep_Max = (Sweep_Max - 1)
              • Set i = (i - 1)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Sweep_Max Less than 1
                • Then - Actions
                  • Trigger - Turn off (This trigger)
                • Else - Actions


Keywords:
sweeping, beam, colossi, colossus, attack, starcraft, laser, lightning
Contents

Sweeping Beam (Map)

Reviews
Moderator
09:52, 23rd Oct 2010 The_Reborn_Devil: The triggering looks ok. Nice to see some SC2 stuff here ^^ Status: Approved Rating: Recommended
  1. Soul-_-Hunter

    Soul-_-Hunter

    Joined:
    Nov 30, 2008
    Messages:
    28
    Resources:
    0
    Resources:
    0
    Eye lazor O--- O--- *beep beep beep* +rep LOL your eyes crossing like X ? :D
     
  2. Titania

    Titania

    Joined:
    Aug 21, 2010
    Messages:
    354
    Resources:
    3
    Models:
    3
    Resources:
    3
    X??What do you mean by that
     
  3. 88WaRCraFT3

    88WaRCraFT3

    Joined:
    Jun 9, 2009
    Messages:
    1,139
    Resources:
    1
    Spells:
    1
    Resources:
    1
    NomoreChallenge : "When I cast it on original map it's ok, but after I imported it to my map it's not ok.
    Maybe I have to check the triggers again."

    Your problem is, that you need to copy ALL variables.
    Some of them are putted by the script, so when you copy the triggers, variable doesn't comes. You can put all variables in your map by this :
    All variables that this spell uses, put them, and set them however you want, copy that trigger, in a map, and you will have that variables, after that, import the spell, but remove the trigger before that you have created. ;)
     
  4. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,630
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23
    I copied all variables and it still does not appear all of the time. I then copied my adjusted triggers back to your test map and it all worked fine.
     
  5. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,630
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23
    *bump

    The above is still an issue. There is something map specific that is causing a problem.
     
  6. Noobsmoke

    Noobsmoke

    Joined:
    Nov 20, 2007
    Messages:
    631
    Resources:
    1
    Spells:
    1
    Resources:
    1
    File -> Preferences -> General -> and check "Automaticlly create unknown variables ..."
     
  7. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,630
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23
    All variables are present.
     
  8. Freedom.Dream

    Freedom.Dream

    Joined:
    Sep 29, 2012
    Messages:
    36
    Resources:
    0
    Resources:
    0
    How do you make the mini video at the description?
     
  9. Talesman

    Talesman

    Joined:
    Oct 5, 2012
    Messages:
    44
    Resources:
    0
    Resources:
    0
    very good! max reputation
     
  10. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,630
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23