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

Beam Spell

Requirements;

Mythic's Accelerator gate, modified to be longer. Can be found attached.
Disable right click ability. Can be found in attached map here.
Add Cargo Hold (burrow) ability with 0 capacity to hero to make hero unable to attack.


  • Beam Initiate
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (Order(immolation))
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn off Mouse Click <gen>
      • Trigger - Turn off Mouse Release <gen>
      • Trigger - Turn off Mouse Move <gen>
      • Unit - Order Hero to Stop
      • Unit - Pause Hero
      • Animation - Play Hero's Spell Chain animation
      • Unit - Add Disable Right-Click to Hero
      • Unit - Add Cargo Hold (Orc Burrow) to Hero
      • Unit - For Hero, Ability Slam , Disable ability: True, Hide UI: False
      • Unit - For Hero, Ability Spirit Blows , Disable ability: True, Hide UI: False
      • Unit - For Hero, Ability Wave , Disable ability: True, Hide UI: False
      • Unit - For Hero, Ability Charge , Disable ability: True, Hide UI: False
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero has an item of type Claws of Attack +15) Equal to True
        • Then - Actions
          • Set LaserBeamDamage = 14.00
        • Else - Actions
          • Set LaserBeamDamage = 7.00
      • Wait 0.50 seconds
      • Set LaserBeamON = True
      • Camera - Shake the camera for Player 1 (Red) with magnitude 2.00
      • Trigger - Turn on Shaking Effect <gen>
      • Set TempLocation[1] = (Position of Hero)
      • Set TempLocation[2] = (TempLocation[1] offset by 80.00 towards (Facing of Hero) degrees)
      • Set TempLocation[3] = (TempLocation[1] offset by 200.00 towards (Facing of Hero) degrees)
      • Set TempLocation[4] = (TempLocation[1] offset by 300.00 towards (Facing of Hero) degrees)
      • Set TempLocation[5] = (TempLocation[1] offset by 400.00 towards (Facing of Hero) degrees)
      • Set TempLocation[6] = (TempLocation[1] offset by 500.00 towards (Facing of Hero) degrees)
      • Set TempLocation[7] = (TempLocation[1] offset by 600.00 towards (Facing of Hero) degrees)
      • Set TempLocation[8] = (TempLocation[1] offset by 700.00 towards (Facing of Hero) degrees)
      • Set TempLocation[9] = (TempLocation[1] offset by 800.00 towards (Facing of Hero) degrees)
      • Sound - Play ShockWaveBirth1 <gen> at 30.00% volume, located at TempLocation[1] with Z offset 0.00
      • Sound - Play CloudOfFogLoop1 <gen> at 100.00% volume, located at TempLocation[1] with Z offset 0.00
      • Set LaserLoopSound = (Last played sound)
      • Unit - Create 1 Laser Beam for (Owner of Hero) at TempLocation[2] facing ((Facing of Hero) - 90.00) degrees
      • Set LaserBeamDummies[1] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[3] facing Default building facing degrees
      • Set LaserBeamDummies[2] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[4] facing Default building facing degrees
      • Set LaserBeamDummies[3] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[5] facing Default building facing degrees
      • Set LaserBeamDummies[4] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[6] facing Default building facing degrees
      • Set LaserBeamDummies[5] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[7] facing Default building facing degrees
      • Set LaserBeamDummies[6] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[8] facing Default building facing degrees
      • Set LaserBeamDummies[7] = (Last created unit)
      • Unit - Create 1 Dummy for (Owner of Hero) at TempLocation[9] facing Default building facing degrees
      • Set LaserBeamDummies[8] = (Last created unit)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call RemoveLocation (udg_TempLocation[2])
      • Custom script: call RemoveLocation (udg_TempLocation[3])
      • Custom script: call RemoveLocation (udg_TempLocation[4])
      • Custom script: call RemoveLocation (udg_TempLocation[5])
      • Custom script: call RemoveLocation (udg_TempLocation[6])
      • Custom script: call RemoveLocation (udg_TempLocation[7])
      • Custom script: call RemoveLocation (udg_TempLocation[8])
      • Custom script: call RemoveLocation (udg_TempLocation[9])
      • Unit - Unpause Hero
      • Animation - Change Hero's animation speed to 0.00% of its original speed
      • Wait 0.00 seconds
      • Unit - Order Hero to Night Elf Demon Hunter - Activate Immolation
      • Trigger - Turn on Move Beam <gen>
      • Trigger - Turn on Hero Face Angle <gen>
      • Trigger - Turn on Beam Disable <gen>
      • Trigger - Turn on Beam Damage <gen>
  • Beam No Mana
    • Events
      • Unit - Unnamed 0001 <gen>'s mana becomes Less than 5.00
    • Conditions
      • LaserBeamON Equal to True
      • (Beam Disable <gen> is on) Equal to True
    • Actions
      • Unit - Order Hero to Night Elf Demon Hunter - Deactivate Immolation
  • Hero Dies
    • Events
      • Game - LethalDamageEvent becomes Equal to 1.00
    • Conditions
      • LaserBeamON Equal to True
      • (Beam Disable <gen> is on) Equal to True
      • (Triggering unit) Equal to Hero
    • Actions
      • Unit - Order Hero to Night Elf Demon Hunter - Deactivate Immolation
  • Beam Disable
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (Order(unimmolation))
    • Actions
      • Trigger - Turn off (This trigger)
      • Trigger - Turn off Shaking Effect <gen>
      • Animation - Change Hero's animation speed to 100.00% of its original speed
      • Trigger - Turn off Beam Damage <gen>
      • Trigger - Turn off Move Beam <gen>
      • Trigger - Turn off Hero Face Angle <gen>
      • Trigger - Turn on Mouse Click <gen>
      • Trigger - Turn on Mouse Release <gen>
      • Trigger - Turn on Mouse Move <gen>
      • Unit - Remove LaserBeamDummies[1] from the game
      • Unit - Remove LaserBeamDummies[2] from the game
      • Unit - Remove LaserBeamDummies[3] from the game
      • Unit - Remove LaserBeamDummies[4] from the game
      • Unit - Remove LaserBeamDummies[5] from the game
      • Unit - Remove LaserBeamDummies[6] from the game
      • Unit - Remove LaserBeamDummies[7] from the game
      • Unit - Remove LaserBeamDummies[8] from the game
      • Sound - Stop LaserLoopSound After fading
      • Set TempLocation[1] = (Position of Hero)
      • Sound - Play AstralimprisonEnd <gen> at 30.00% volume, located at TempLocation[1] with Z offset 0.00
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Wait 0.50 seconds
      • Camera - Stop swaying/shaking the camera for Player 1 (Red)
      • Unit - For Hero, Ability Slam , Disable ability: False, Hide UI: False
      • Unit - For Hero, Ability Spirit Blows , Disable ability: False, Hide UI: False
      • Unit - For Hero, Ability Wave , Disable ability: False, Hide UI: False
      • Unit - For Hero, Ability Charge , Disable ability: False, Hide UI: False
      • Set LaserBeamON = False
      • Unit - Remove Cargo Hold (Orc Burrow) from Hero
      • Trigger - Turn on Beam Initiate <gen>
      • Unit - Remove Disable Right-Click from Hero
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Hero is alive) Equal to True
        • Then - Actions
          • Animation - Reset Hero's animation
        • Else - Actions
  • Move Beam
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set TempLocation[1] = (Position of Hero)
      • Set TempLocation[2] = (TempLocation[1] offset by 80.00 towards (Facing of Hero) degrees)
      • Set TempLocation[3] = (TempLocation[1] offset by 200.00 towards (Facing of Hero) degrees)
      • Set TempLocation[4] = (TempLocation[1] offset by 300.00 towards (Facing of Hero) degrees)
      • Set TempLocation[5] = (TempLocation[1] offset by 400.00 towards (Facing of Hero) degrees)
      • Set TempLocation[6] = (TempLocation[1] offset by 500.00 towards (Facing of Hero) degrees)
      • Set TempLocation[7] = (TempLocation[1] offset by 600.00 towards (Facing of Hero) degrees)
      • Set TempLocation[8] = (TempLocation[1] offset by 700.00 towards (Facing of Hero) degrees)
      • Set TempLocation[9] = (TempLocation[1] offset by 800.00 towards (Facing of Hero) degrees)
      • Unit - Move LaserBeamDummies[1] instantly to TempLocation[2], facing ((Facing of Hero) - 90.00) degrees
      • Unit - Move LaserBeamDummies[2] instantly to TempLocation[3], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[3] instantly to TempLocation[4], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[4] instantly to TempLocation[5], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[5] instantly to TempLocation[6], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[6] instantly to TempLocation[7], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[7] instantly to TempLocation[8], facing (Facing of Hero) degrees
      • Unit - Move LaserBeamDummies[8] instantly to TempLocation[9], facing (Facing of Hero) degrees
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call RemoveLocation (udg_TempLocation[2])
      • Custom script: call RemoveLocation (udg_TempLocation[3])
      • Custom script: call RemoveLocation (udg_TempLocation[4])
      • Custom script: call RemoveLocation (udg_TempLocation[5])
      • Custom script: call RemoveLocation (udg_TempLocation[6])
      • Custom script: call RemoveLocation (udg_TempLocation[7])
      • Custom script: call RemoveLocation (udg_TempLocation[8])
      • Custom script: call RemoveLocation (udg_TempLocation[9])
  • Hero Face Angle
    • Events
      • Player - Player 1 (Red) issues Mouse Move event
    • Conditions
    • Actions
      • Set TempLocation[1] = (Mouse Position for Triggered Mouse Event)
      • Set TempLocation[2] = (Position of Hero)
      • Unit - Move Hero instantly to TempLocation[2], facing (Angle from TempLocation[2] to TempLocation[1]) degrees
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call RemoveLocation (udg_TempLocation[2])
  • Beam Damage
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Set TempLocation[1] = (Position of LaserBeamDummies[1])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[2])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[3])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[4])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[5])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[6])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[7])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
      • Set TempLocation[1] = (Position of LaserBeamDummies[8])
      • Set TempGroup = (Units within 75.00 of TempLocation[1] matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of Hero)) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is Magic Imm)
      • Unit Group - Pick every unit in TempGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause Hero to damage (Picked unit), dealing LaserBeamDamage damage of attack type Spells and damage type Normal
          • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Human\Feedback\ArcaneTowerAttack.mdl
          • Special Effect - Destroy (Last created special effect)
      • Custom script: call RemoveLocation (udg_TempLocation[1])
      • Custom script: call DestroyGroup (udg_TempGroup)
  • Shaking Effect
    • Events
      • Time - Every 0.60 seconds of game time
    • Conditions
    • Actions
      • Camera - Shake the camera for Player 1 (Red) with magnitude 3.00
      • Wait 0.00 seconds
      • Camera - Stop swaying/shaking the camera for Player 1 (Red)
      • Camera - Shake the camera for Player 1 (Red) with magnitude 1.00

Attachments

  • Accelerator Gate Blue LONGER CENTERED.mdx
    25.1 KB · Views: 10
Last edited:
Top