• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Saber Excalibur

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
  • Like
Reactions: -Derp-
Saber Gathers Lights then releases it towards enemy Dealing Heavy Damage
Credits
Dustwave:Ddahe
Saber Lily:Mr.yagyu
Magic Cast:I Dont know so sorry
Bluewave:I Dont know so sorry
Triggers : Rasengan.Naruto(Me)

Keywords:
Big-Light-Point Target-Flashy-Huge Range
Contents

Just another Warcraft III map (Map)

Reviews
12th Dec 2015 IcemanBo: Too long as NeedsFix. Rejected. 02:35, 27th Jul 2012 Magtheridon96: The imports here are not needed. Also, this is not MUI. Plus, shaking the camera isn't exactly something you could do for a spell and expect it to...

Moderator

M

Moderator

12th Dec 2015
IcemanBo: Too long as NeedsFix. Rejected.

02:35, 27th Jul 2012
Magtheridon96: The imports here are not needed.
Also, this is not MUI.

Plus, shaking the camera isn't exactly something you could do for a spell and expect it to work for all maps, so it's better to just avoid doing so. Or better yet, make it optional.

To find out about how you can make your spell MUI, read the "Delayed MUI Spells Without Waits" section of this tutorial.

One last thing, "Do nothing" is totally useless.

Thank you for your submission.
 
Level 11
Joined
Jun 28, 2011
Messages
540
Tip: Post triggers in [TRIGGER][/TRIGGER] tags.

  • Excalibur
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Excalibur
    • Actions
      • Set Integer[1] = 0
      • Set Integer[2] = 0
      • Set Integer[3] = 0
      • Set Saber = (Casting unit)
      • Animation - Play Saber's Spell One animation
      • Animation - Change Saber's animation speed to 1.00% of its original speed
      • Trigger - Turn on Excalibur Lights <gen>
  • Excalibur Lights
    • Events
      • Time - Every 0.10 seconds of game time
    • Conditions
    • Actions
      • Unit - Pause Saber
      • Set Point[1] = (Position of Saber)
      • Set Point[2] = (Target point of ability being cast)
      • Set Point[4] = (Point[1] offset by 100.00 towards (Facing of Saber) degrees)
      • Set Integer[1] = (Integer[1] + 40)
      • Set Angle[1] = (Random real number between 1.00 and 1000.00)
      • Set Angle[2] = (Random real number between 1.00 and 360.00)
      • Set Point[3] = (Point[1] offset by Angle[1] towards Angle[2] degrees)
      • Unit - Create 1 Excalibur Lights for (Owner of Saber) at Point[3] facing Default building facing degrees
      • Unit - Add a 7.00 second Generic expiration timer to (Last created unit)
      • Animation - Change (Last created unit) flying height to 200.00 at 50.00
      • Unit - Order (Last created unit) to Move To Point[4]
      • Custom script: call RemoveLocation(udg_Point[1])
      • Custom script: call RemoveLocation(udg_Point[2])
      • Custom script: call RemoveLocation(udg_Point[3])
      • Custom script: call RemoveLocation(udg_Point[4])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[1] Greater than or equal to 2000
        • Then - Actions
          • Trigger - Turn on Excalibur Dustwave <gen>
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Do nothing
  • Excalibur Dustwave
    • Events
      • Time - Every 0.25 seconds of game time
    • Conditions
    • Actions
      • Set Integer[2] = (Integer[2] + 40)
      • Set Point[1] = (Position of Saber)
      • Set Point[4] = (Point[1] offset by 100.00 towards (Facing of Saber) degrees)
      • Unit - Create 1 Excalibur Dustwave for (Owner of Saber) at Point[4] facing (Position of Saber)
      • Animation - Change (Last created unit)'s animation speed to 200.00% of its original speed
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 0.00%) with 50.00% transparency
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Camera - Shake the camera for Player 1 (Red) with magnitude 10.00
      • Camera - Shake the camera for Player 2 (Blue) with magnitude 10.00
      • Camera - Shake the camera for Player 3 (Teal) with magnitude 10.00
      • Camera - Shake the camera for Player 4 (Purple) with magnitude 10.00
      • Camera - Shake the camera for Player 5 (Yellow) with magnitude 10.00
      • Camera - Shake the camera for Player 6 (Orange) with magnitude 10.00
      • Camera - Shake the camera for Player 7 (Green) with magnitude 10.00
      • Camera - Shake the camera for Player 8 (Pink) with magnitude 10.00
      • Camera - Shake the camera for Player 9 (Gray) with magnitude 10.00
      • Camera - Shake the camera for Player 10 (Light Blue) with magnitude 10.00
      • Camera - Shake the camera for Player 11 (Dark Green) with magnitude 10.00
      • Camera - Shake the camera for Player 12 (Brown) with magnitude 10.00
      • Custom script: call RemoveLocation(udg_Point[1])
      • Custom script: call RemoveLocation(udg_Point[4])
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[2] Equal to 800
        • Then - Actions
          • Sound - Play Arturia_Ex <gen>
          • Wait 1.50 seconds
          • Sound - Play Arturia_Calibur <gen>
          • Trigger - Turn on Excalibur Move <gen>
        • Else - Actions
          • Do nothing
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[2] Greater than or equal to 1100
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Camera - Stop swaying/shaking the camera for Player 1 (Red)
          • Camera - Stop swaying/shaking the camera for Player 2 (Blue)
          • Camera - Stop swaying/shaking the camera for Player 3 (Teal)
          • Camera - Stop swaying/shaking the camera for Player 4 (Purple)
          • Camera - Stop swaying/shaking the camera for Player 5 (Yellow)
          • Camera - Stop swaying/shaking the camera for Player 6 (Orange)
          • Camera - Stop swaying/shaking the camera for Player 7 (Green)
          • Camera - Stop swaying/shaking the camera for Player 8 (Pink)
          • Camera - Stop swaying/shaking the camera for Player 9 (Gray)
          • Camera - Stop swaying/shaking the camera for Player 10 (Light Blue)
          • Camera - Stop swaying/shaking the camera for Player 11 (Dark Green)
          • Camera - Stop swaying/shaking the camera for Player 12 (Brown)
        • Else - Actions
          • Do nothing
  • Excalibur Move
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Animation - Change Saber's animation speed to 100.00% of its original speed
      • Set Integer[3] = (Integer[3] + 40)
      • Set Point[1] = (Position of Saber)
      • Set Point[2] = (Target point of ability being cast)
      • Set Point[3] = (Point[1] offset by (Real(Integer[3])) towards (Angle from Point[1] to Point[2]) degrees)
      • Unit - Create 1 Excalibur Effect for (Owner of Saber) at Point[3] facing (Angle from Point[1] to Point[2]) degrees
      • -------- death time of the excalibur damager --------
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • Set UnitGroup[1] = (Units within 400.00 of Point[3] matching (((Matching unit) belongs to an enemy of (Owner of Saber)) Equal to True))
      • Unit Group - Pick every unit in UnitGroup[1] and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Matching unit) is in UnitGroup[2]) Equal to False
            • Then - Actions
              • Unit Group - Add (Picked unit) to UnitGroup[2]
              • -------- Damage that will deal to picked units --------
              • Unit - Cause Saber to damage (Picked unit), dealing 100.00 damage of attack type Spells and damage type Normal
            • Else - Actions
              • Do nothing
      • Custom script: call DestroyGroup(udg_UnitGroup[1])
      • -------- Range of the spell is integer[3] change it below this trigger --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Integer[3] Greater than or equal to 9000
        • Then - Actions
          • Unit - Unpause Saber
          • Custom script: call RemoveLocation(udg_Point[1])
          • Custom script: call RemoveLocation(udg_Point[2])
          • Custom script: call RemoveLocation(udg_Point[3])
          • Unit Group - Remove all units from UnitGroup[2]
          • Trigger - Turn off (This trigger)
        • Else - Actions
          • Do nothing
So this isn't MUI, a fancy way of saying the spell can be cast by more than one unit at the same time and work.



  • Unit - Pause Saber
If memory serves right, this is frowned upon. Use the 'channel' ability and have the unit channel as an alternative.

  • Camera - Shake the camera for Player 1 (Red) with magnitude 10.00
  • Camera - Stop swaying/shaking the camera for Player 1 (Red)
  • (as well as the others)
Yeah, this deems the spell as 'cinematic' which is generally frowned upon by moderators. Try to avoid using camera-oriented triggers.


  • Wait 1.50 seconds
The spell-making community goes berserk when you use waits. You can't use it generally as it causes the spell to become non-MUI, unless you use Magtheridon's method to work around this.

  • Unit - Cause Saber to damage (Picked unit), dealing 100.00 damage of attack type Spells and damage type Normal
This means that the spell doesn't level. You want to make damage increase with levels. In example, level 1 deals 100 damage, level 2 deals 200 damage... this can be done using fancypantsy mathematics.


---

You're using 3 triggers, each looping. Try to merge them into one trigger running at .03. Look at other spells for help with this, or the tutorials.

Pretty sure if the caster dies when casting the spell it will continue... which doesn't make much sense. (Then again, I don't watch Naruto, so it might work.)

When I cast it, the beam of death tends to go north even though I'm facing the complete opposite direction. I'd suggest changing the beam's direction to the caster's facing angle.

---

I'll admit the spell's effects are pretty snazzy, but the triggering isn't quite there. It'll take quite a bit of work to get it to standard.
 
Top