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

Sacred Division of Hathor v1.0

This spell was made for the Hero Contest #3. I decided to upload it here as well :]

Sacred Division of Hathor

Embraces the greatest power of Hathor, dividing his own spirit into the spirit of Ka (spiritual/life efficience) or the spirit of Ba (soul). Up to the type of spirit, the hero will receive infinite health or mana for a set amount of time. Also grants visibility over the whole map. The journey through the Underworld has just begun.

Lasts 17 seconds.

Note:

• I am aware of the fact that the effect doesn't get removed, when the hero dies; it's intentional (to represent an epic fall) ;)

  • Rider1
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Sacred Division of Hathor
    • Actions
      • -------- --------
      • -------- --------
      • Sound - Play SacredDivisionOfHathor1 <gen> at 80.00% volume, attached to (Triggering unit)
      • Sound - Play SacredDivisionOfHathor2 <gen> at 80.00% volume, attached to (Triggering unit)
      • -------- --------
      • -------- --------
      • -------- --------
      • -------- --------
      • Unit - Add Sphere - Dummy (Sacred Division of Hathor) to (Triggering unit)
      • -------- --------
      • Unit - Turn collision for (Triggering unit) Off
      • -------- --------
      • -------- The following lines will grant the owner of the caster full visibility in the map. --------
      • -------- Since the cinematic filters and the visibility affect all players, the script will provide it only for the owner of the caster. --------
      • -------- --------
      • Set R_TransparencyDesyncDe[1] = 100.00
      • Set R_TransparencyDesyncDe[2] = 0.00
      • Set R_TransparencyDesyncDe[3] = 0.00
      • Set R_FogEnableDesyncDe[1] = True
      • Custom script: if GetLocalPlayer() == GetOwningPlayer(GetTriggerUnit()) then
      • Set R_TransparencyDesyncDe[1] = 70.00
      • Set R_TransparencyDesyncDe[2] = 50.00
      • Set R_TransparencyDesyncDe[3] = 100.00
      • Set R_FogEnableDesyncDe[1] = False
      • Custom script: endif
      • Cinematic - Apply a filter over 0.20 seconds using Normal blending on texture White Mask, starting with color (0.00%, R_TransparencyDesyncDe[3]%, R_TransparencyDesyncDe[2]%) and R_TransparencyDesyncDe[1]% transparency and ending with color (0.00%, R_TransparencyDesyncDe[3]%, R_TransparencyDesyncDe[2]%) and R_TransparencyDesyncDe[1]% transparency
      • Custom script: call FogEnable (udg_R_FogEnableDesyncDe[1])
      • Custom script: call FogMaskEnable (udg_R_FogEnableDesyncDe[1])
      • -------- --------
      • -------- --------
      • Set R_Points[1] = (Position of (Triggering unit))
      • Set R_Points[2] = (R_Points[1] offset by 300.00 towards (Facing of (Triggering unit)) degrees)
      • -------- --------
      • -------- --------
      • Unit - Create 1 Dummy (Horse) for (Owner of (Triggering unit)) at R_Points[2] facing (Facing of (Triggering unit)) degrees
      • -------- --------
      • Special Effect - Create a special effect attached to the head of (Last created unit) using Abilities\Weapons\AvengerMissile\AvengerMissile.mdl
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 40.00% transparency
      • Unit - Add Sphere - Dummy (Sacred Division of Hathor) to (Last created unit)
      • -------- --------
      • -------- The following line will define the duration of the spell. --------
      • -------- --------
      • Unit - Add a 17.00 second Generic expiration timer to (Last created unit)
      • -------- --------
      • Hashtable - Save Handle Of(Last created unit) as (Key horse) of (Key (Triggering unit)) in R_Hash
      • Hashtable - Save Handle Of(Triggering unit) as (Key caster) of (Key (Last created unit)) in R_Hash
      • -------- --------
      • -------- --------
      • Unit - Create 1 Dummy (Wheels Art) (Hero Contest #3) for (Owner of (Triggering unit)) at R_Points[1] facing (Facing of (Triggering unit)) degrees
      • -------- --------
      • Animation - Change (Last created unit)'s animation speed to 300.00% of its original speed
      • Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 40.00% transparency
      • Unit - Add Sphere - Dummy (Sacred Division of Hathor) to (Last created unit)
      • -------- --------
      • Hashtable - Save Handle Of(Last created unit) as (Key wheel) of (Key (Triggering unit)) in R_Hash
      • -------- --------
      • -------- --------
      • -------- --------
      • Hashtable - Save True as (Key isrider) of (Key (Triggering unit)) in R_Hash
      • -------- --------
      • -------- The following Integer Comparison will define whether the hero will be granted infinite life or mana. The chances are 50-50. --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Random integer number between 1 and 100) Less than or equal to 50
        • Then - Actions
          • For each (Integer R_Loops[1]) from 1 to 2, do (Actions)
            • Loop - Actions
              • -------- --------
              • -------- --------
              • Set R_Points[9] = (R_Points[2] offset by 50.00 towards ((Facing of (Triggering unit)) + (250.00 / (Real(R_Loops[1])))) degrees)
              • -------- --------
              • -------- Lightning creation --------
              • -------- --------
              • Custom script: set udg_R_Strings[udg_R_Loops[1]] = AddLightningEx("DRAL",false,GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()),GetLocationZ(udg_R_Points[1])+120,GetLocationX(udg_R_Points[9]),GetLocationY(udg_R_Points[9]),GetLocationZ(udg_R_Points[9])+50)
              • Lightning - Change color of R_Strings[R_Loops[1]] to (1.00 1.00 1.00) with 0.70 alpha
              • Hashtable - Save Handle OfR_Strings[R_Loops[1]] as (Key (light + (String(R_Loops[1])))) of (Key (Triggering unit)) in R_Hash
              • -------- --------
              • -------- --------
              • Custom script: call RemoveLocation (udg_R_Points[9])
          • -------- --------
          • -------- --------
          • Animation - Change (Triggering unit)'s vertex coloring to (0.00%, 100.00%, 0.00%) with 20.00% transparency
          • Unit - Add Item Life Bonus (Infinite) (Sacred division of Hathor) to (Triggering unit)
          • -------- --------
          • -------- --------
        • Else - Actions
          • For each (Integer R_Loops[1]) from 1 to 2, do (Actions)
            • Loop - Actions
              • Set R_Points[9] = (R_Points[2] offset by 50.00 towards ((Facing of (Triggering unit)) + (250.00 / (Real(R_Loops[1])))) degrees)
              • -------- --------
              • -------- Lightning creation --------
              • -------- --------
              • Custom script: set udg_R_Strings[udg_R_Loops[1]] = AddLightningEx("DRAM",false,GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()),GetLocationZ(udg_R_Points[1])+120,GetLocationX(udg_R_Points[9]),GetLocationY(udg_R_Points[9]),GetLocationZ(udg_R_Points[9])+50)
              • Lightning - Change color of R_Strings[R_Loops[1]] to (1.00 1.00 1.00) with 0.70 alpha
              • Hashtable - Save Handle OfR_Strings[R_Loops[1]] as (Key (light + (String(R_Loops[1])))) of (Key (Triggering unit)) in R_Hash
              • -------- --------
              • -------- --------
              • Custom script: call RemoveLocation (udg_R_Points[9])
          • -------- --------
          • -------- --------
          • Animation - Change (Triggering unit)'s vertex coloring to (0.00%, 0.00%, 100.00%) with 40.00% transparency
          • Unit - Add Item Mana Bonus (Infinite) (Sacred division of Hathor) to (Triggering unit)
          • -------- --------
          • -------- --------
      • -------- --------
      • -------- The hero will gain some elevation to fit the imported model. --------
      • -------- --------
      • Unit - Add Crow Form to (Triggering unit)
      • Unit - Remove Crow Form from (Triggering unit)
      • -------- --------
      • Animation - Change (Triggering unit) flying height to 90.00 at 0.00
      • -------- --------
      • -------- --------
      • -------- --------
      • Custom script: call RemoveLocation (udg_R_Points[1])
      • Custom script: call RemoveLocation (udg_R_Points[2])
  • Rider2
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (R_RidersGroup is empty) Equal to False
        • Then - Actions
          • Unit Group - Pick every unit in R_RidersGroup and do (Actions)
            • Loop - Actions
              • -------- --------
              • -------- Loading data from the hashtable --------
              • -------- --------
              • Set R_Horse = (Load (Key horse) of (Key (Picked unit)) in R_Hash)
              • Set R_Wheel = (Load (Key wheel) of (Key (Picked unit)) in R_Hash)
              • -------- --------
              • -------- --------
              • Set R_Points[4] = (Position of (Picked unit))
              • Set R_Points[5] = (Position of R_Horse)
              • Set R_Points[6] = (Point((Load (Key x) of (Key (Picked unit)) from R_Hash), (Load (Key y) of (Key (Picked unit)) from R_Hash)))
              • Set R_Points[7] = (R_Points[4] offset by 15.00 towards (Angle from R_Points[4] to R_Points[6]) degrees)
              • Set R_Points[8] = (R_Points[4] offset by 300.00 towards (Facing of (Picked unit)) degrees)
              • Set R_Angle = (Angle from R_Points[4] to R_Points[6])
              • -------- --------
              • -------- --------
              • Unit - Move R_Wheel instantly to R_Points[4], facing (Facing of (Picked unit)) degrees
              • Custom script: call SetUnitX (GetEnumUnit(), GetLocationX (udg_R_Points[7]))
              • Custom script: call SetUnitY (GetEnumUnit(), GetLocationY (udg_R_Points[7]))
              • Custom script: call SetUnitFacing (GetEnumUnit(), udg_R_Angle)
              • Unit - Move R_Horse instantly to R_Points[8], facing (Facing of (Picked unit)) degrees
              • -------- --------
              • -------- --------
              • -------- Setting the animation of the cart-wheel thing and the horse's --------
              • -------- --------
              • Custom script: call SetUnitAnimationByIndex ( udg_R_Horse, 0)
              • Custom script: call SetUnitAnimationByIndex ( udg_R_Wheel, 0)
              • -------- --------
              • -------- Moving the lightnings to fit the position of the hero. --------
              • -------- --------
              • For each (Integer R_Loops[2]) from 1 to 2, do (Actions)
                • Loop - Actions
                  • Set R_SLoad = (Load (Key (light + (String(R_Loops[2])))) of (Key (Picked unit)) in R_Hash)
                  • Set R_Points[10] = (R_Points[5] offset by 50.00 towards ((Facing of (Picked unit)) + (250.00 / (Real(R_Loops[2])))) degrees)
                  • Custom script: call MoveLightningEx (udg_R_SLoad,true,GetUnitX (GetEnumUnit()),GetUnitY(GetEnumUnit()),GetLocationZ(udg_R_Points[4])+120,GetLocationX(udg_R_Points[10]),GetLocationY(udg_R_Points[10]),GetLocationZ(udg_R_Points[10])+50)
                  • Custom script: call RemoveLocation (udg_R_Points[10])
              • -------- --------
              • -------- --------
              • -------- --------
              • -------- The following script defines whether the coordinates of the horse's position are inside the playable map area --------
              • -------- If they are not, it is moved slightly back. It also checks if the distance between the caster and the stored location --------
              • -------- to which he was ordered to move is less than or equal to 15. --------
              • -------- --------
              • -------- --------
              • -------- --------
              • Set R_Distance = (Distance between R_Points[4] and R_Points[6])
              • -------- --------
              • -------- --------
              • Custom script: if (udg_R_Distance <= 15) or (RectContainsCoords (bj_mapInitialPlayableArea, GetLocationX (udg_R_Points[8])+15, GetLocationY (udg_R_Points[8])+15) == false) then
              • -------- --------
              • Set R_Points[12] = (R_Points[5] offset by 15.00 towards (Angle from R_Points[5] to R_Points[4]) degrees)
              • Unit - Move R_Horse instantly to R_Points[12]
              • Custom script: call RemoveLocation (udg_R_Points[12])
              • -------- --------
              • Set R_Points[13] = (R_Points[4] offset by 15.00 towards (Angle from R_Points[5] to R_Points[4]) degrees)
              • Unit - Move (Picked unit) instantly to R_Points[13]
              • Custom script: call RemoveLocation (udg_R_Points[13])
              • -------- --------
              • Custom script: call GroupRemoveUnit (udg_R_RidersGroup, GetEnumUnit())
              • Custom script: call ResetUnitAnimation (udg_R_Horse)
              • Custom script: call ResetUnitAnimation (udg_R_Wheel)
              • -------- --------
              • Sound - Stop (Load (Key hl) of (Key (Picked unit)) in R_Hash) After fading
              • Sound - Stop (Load (Key wh) of (Key (Picked unit)) in R_Hash) After fading
              • -------- --------
              • Custom script: endif
              • -------- --------
              • -------- --------
              • -------- --------
              • -------- --------
              • -------- The following comparison is to avoid high spam of the dust special effects. It has a 30% chance to spawn some dust either --------
              • -------- at the location of the caster or the location of the horse (plus, it adds some realism) --------
              • -------- --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random integer number between 1 and 100) Less than or equal to 30
                • Then - Actions
                  • Special Effect - Create a special effect at R_Points[(Random integer number between 4 and 5)] using Objects\Spawnmodels\Undead\ImpaleTargetDust\ImpaleTargetDust.mdl
                  • Special Effect - Destroy (Last created special effect)
                • Else - Actions
              • -------- --------
              • -------- --------
              • -------- --------
              • Custom script: call RemoveLocation (udg_R_Points[4])
              • Custom script: call RemoveLocation (udg_R_Points[5])
              • Custom script: call RemoveLocation (udg_R_Points[6])
              • Custom script: call RemoveLocation (udg_R_Points[7])
              • Custom script: call RemoveLocation (udg_R_Points[8])
        • Else - Actions
          • -------- --------
          • Trigger - Turn off (This trigger)
  • Rider3
    • Events
      • Unit - A unit Is issued an order targeting an object
      • Unit - A unit Is issued an order targeting a point
    • Conditions
      • (Load (Key isrider) of (Key (Triggering unit)) from R_Hash) Equal to True
    • Actions
      • -------- --------
      • -------- --------
      • Animation - Change (Triggering unit) flying height to 90.00 at 1000000000.00
      • -------- --------
      • -------- The following will check if the order of the unit was targeting a point or an object. --------
      • -------- If it's an object, it will check what kind of object it is (Item/Destructible/Unit). --------
      • -------- --------
      • Custom script: if GetTriggerEventId() == EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER then
      • -------- --------
      • -------- --------
      • Custom script: set udg_R_X = GetOrderPointX()
      • Custom script: set udg_R_Y = GetOrderPointY()
      • -------- --------
      • -------- --------
      • Custom script: else
      • -------- --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Target item of issued order) Not equal to No item
        • Then - Actions
          • Custom script: set udg_R_X = GetItemX(GetOrderTargetItem())
          • Custom script: set udg_R_Y = GetItemY(GetOrderTargetItem())
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Target destructible of issued order) Not equal to No destructible
            • Then - Actions
              • Custom script: set udg_R_X = GetDestructableX (GetOrderTargetDestructable())
              • Custom script: set udg_R_Y = GetDestructableY (GetOrderTargetDestructable())
            • Else - Actions
              • Custom script: set udg_R_X = GetUnitX (GetOrderTargetUnit())
              • Custom script: set udg_R_Y = GetUnitY (GetOrderTargetUnit())
      • -------- --------
      • -------- --------
      • Custom script: endif
      • -------- --------
      • -------- --------
      • Set R_Points[11] = (Position of (Triggering unit))
      • -------- --------
      • -------- --------
      • -------- The following comparison defines whether the caster is order to move at his own position. --------
      • -------- Since the lightnings and the horse are moved, up to the position of the caster, if I right-clicked the caster's interface screen icon --------
      • -------- It would ruin the lightnings' set position and the horse's. So, I make the following check to disable point orders that are --------
      • -------- targeted towards the position of the caster himself. --------
      • -------- --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • R_X Not equal to (X of R_Points[11])
          • R_Y Not equal to (Y of R_Points[11])
        • Then - Actions
          • -------- --------
          • -------- --------
          • Hashtable - Save R_X as (Key x) of (Key (Triggering unit)) in R_Hash
          • Hashtable - Save R_Y as (Key y) of (Key (Triggering unit)) in R_Hash
          • -------- --------
          • -------- --------
          • Unit Group - Add (Triggering unit) to R_RidersGroup
          • -------- --------
          • -------- The following 35% chance is to add some concept on the spell. Not all heroes have soundsets with a horse in the background --------
          • -------- So, since I have this concept, I should enhance it. The "Attack Slam" animation is played, as if the caster is pushing the strings away. --------
          • -------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 1 and 100) Less than or equal to 35
            • Then - Actions
              • Animation - Play (Triggering unit)'s (attack + (- + (String((Random integer number between 1 and 2))))) animation
              • Sound - Play KnightNoRiderWarcry1 <gen> at 70.00% volume, attached to (Triggering unit)
              • Sound - Play CharmTarget1 <gen> at 100.00% volume, attached to (Triggering unit)
              • Sound - Play HorseLoop2 <gen> at 100.00% volume, attached to (Triggering unit)
              • Hashtable - Save Handle Of(Last played sound) as (Key hl) of (Key (Triggering unit)) in R_Hash
              • Sound - Play MeatWagonYesAttack3 <gen> at 100.00% volume, attached to (Triggering unit)
              • Hashtable - Save Handle Of(Last played sound) as (Key wh) of (Key (Triggering unit)) in R_Hash
            • Else - Actions
          • Trigger - Turn on Rider2 <gen>
        • Else - Actions
      • Custom script: call RemoveLocation (udg_R_Points[11])
  • Rider4
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Dummy (Horse)
    • Actions
      • -------- --------
      • -------- --------
      • Set R_Rider = (Load (Key caster) of (Key (Triggering unit)) in R_Hash)
      • Set R_RiderUnit = (Load (Key caster) of (Key (Triggering unit)) in R_Hash)
      • -------- --------
      • -------- The following loop will destroy the dual lightnings. --------
      • -------- --------
      • For each (Integer R_Loops[3]) from 1 to 2, do (Actions)
        • Loop - Actions
          • Lightning - Destroy (Load (Key (light + (String(R_Loops[3])))) of (Key R_Rider) in R_Hash)
      • -------- --------
      • -------- --------
      • Animation - Change R_RiderUnit's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
      • Unit - Remove Sphere - Dummy (Sacred Division of Hathor) from R_RiderUnit
      • -------- --------
      • -------- The following comparison checks what type of ability the caster received on the cast: infinite health or mana bonus. --------
      • -------- Up to what it was, it is removed. --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Item Life Bonus (Infinite) (Sacred division of Hathor) for R_RiderUnit) Greater than 0
        • Then - Actions
          • Unit - Remove Item Life Bonus (Infinite) (Sacred division of Hathor) from R_RiderUnit
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Level of Item Mana Bonus (Infinite) (Sacred division of Hathor) for R_RiderUnit) Greater than 0
            • Then - Actions
              • Unit - Remove Item Mana Bonus (Infinite) (Sacred division of Hathor) from R_RiderUnit
            • Else - Actions
      • -------- --------
      • -------- Resetting visibility and filters back to default. --------
      • -------- --------
      • Set R_TransparencyDesyncDe[4] = 70.00
      • Set R_TransparencyDesyncDe[5] = 50.00
      • Set R_TransparencyDesyncDe[6] = 100.00
      • Set R_FogEnableDesyncDe[2] = False
      • Custom script: if GetLocalPlayer() == GetOwningPlayer(GetTriggerUnit()) then
      • Set R_TransparencyDesyncDe[7] = 100.00
      • Set R_TransparencyDesyncDe[8] = 0.00
      • Set R_TransparencyDesyncDe[9] = 0.00
      • Set R_FogEnableDesyncDe[2] = True
      • Custom script: endif
      • Cinematic - Apply a filter over 0.20 seconds using Normal blending on texture White Mask, starting with color (0.00%, R_TransparencyDesyncDe[9]%, R_TransparencyDesyncDe[8]%) and R_TransparencyDesyncDe[7]% transparency and ending with color (0.00%, R_TransparencyDesyncDe[9]%, R_TransparencyDesyncDe[8]%) and R_TransparencyDesyncDe[7]% transparency
      • Custom script: call FogEnable (udg_R_FogEnableDesyncDe[2])
      • Custom script: call FogMaskEnable (udg_R_FogEnableDesyncDe[2])
      • -------- --------
      • -------- --------
      • Custom script: call ResetUnitAnimation (udg_R_RiderUnit)
      • -------- --------
      • -------- --------
      • Sound - Stop (Load (Key hl) of (Key R_Rider) in R_Hash) After fading
      • Sound - Stop (Load (Key wh) of (Key R_Rider) in R_Hash) After fading
      • -------- --------
      • -------- --------
      • Unit Group - Remove R_RiderUnit from R_RidersGroup
      • -------- --------
      • -------- --------
      • Unit - Kill (Load (Key wheel) of (Key R_Rider) in R_Hash)
      • Unit - Remove (Load (Key wheel) of (Key R_Rider) in R_Hash) from the game
      • -------- --------
      • -------- --------
      • Animation - Change R_RiderUnit flying height to 0.00 at 1000000000.00
      • -------- --------
      • -------- --------
      • Unit - Turn collision for R_RiderUnit On
      • -------- --------
      • -------- --------
      • Hashtable - Clear all child hashtables of child (Key R_Rider) in R_Hash
      • Hashtable - Clear all child hashtables of child (Key (Triggering unit)) in R_Hash
      • -------- --------
      • -------- Apparently, the horse model only played a death animation and it remained on the ground (no decay or dissipate) --------
      • -------- That is why I remove it manually. --------
      • -------- --------
      • Unit - Remove (Triggering unit) from the game
Credits go to:

• olofmoleman for the Hail Fire Drone model.
• Dan Van Ohllus for the Riderless Undead Horse Arthas model and the corresponding icon(s).
• NCSoft

Have fun!

Keywords:
Undeath, Undead, Horse, Cavalry, Knight, Unholy, Mana, Life, Max, Lightning
Contents

Sacred Divison of Hathor (Map)

Reviews
09:15, 31st Aug 2010 The_Reborn_Devil: The triggering looks good. Status: Approved Rating: Recommended

Moderator

M

Moderator

09:15, 31st Aug 2010
The_Reborn_Devil:

The triggering looks good.


Status: Approved
Rating: Recommended
 
Yeah, I know it does, it's not meant to stack with itself. It's meant to have a cooldown. It's obvious that multiple casts wouldn't concept-wise work, because he is supposed to ride one horse at a time, he is supposed to get infinite amount of mana or health once, there is no reason to add infinite mana/health twice or more. :]

Thanx for feedback so far!
 
A Jass script is still considered as "Trigger", since you "Create a New Trigger". This one doesn't have only the GUI actions, it is also based (a lot) on Jass functions, which cannot be found in GUI (e.g. SetUnitX/Y(), GetTriggerEventId()). Since those ones are not represented in GUI, I can call it Jass too :)

@xorkatoss, the Spells section is the uploading of systems and spells. This is a spell. When people make maps, and they are out of ideas, they visit this section to find some inspiration or even borrow a submitted spell. This spell is among the X spells in the Hive's database. Some people may indeed find it useful :]
 
Level 8
Joined
Aug 1, 2008
Messages
420
those... triggers.... *head explodes* D:

anyway, 4/5. to me, it seems pretty simple. (not the triggering, thats insane for me)
 
I think that spell look awesome!

Can I give small suggestions:

Hero can attack while is in that form or whatever, and that look somehow bad :D
Why not to remove that attack from hero and add aoe per sec dmg (immolation like) to him or power to deal damage when he pass true unit (Nerubian Weaver - Shukuchi will be nice example)

Damage can be increased with level, making this spell even more awesome :D

Oh also hero can become eternal and immune to physical damage :thumbs_up:
 
Level 8
Joined
May 7, 2008
Messages
108
Nice and cool spell : 4/5.

Why not 5 ? Because when you order the hero to move on a far away location, he turns back and continues to move toward the wrong angle...
Also, it's not MUI, you should display an error message when the hero is already doing the spell and cancel the following script. (Just an idea)

Or maybe you just don't care because it was just for a contest after all :p
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
It's a creative and cool ability.

You could save Triggering unit and Last created unit into variables and use them.
You could save Key(Triggering unit) into a variable.
You could save Key(Picked unit) into a variable.
You should not do this every 0.03 seconds:
  • (R_RidersGroup is empty) Equal to False
Do the check only after you remove units from the group.
  • Animation - Change (Triggering unit) flying height to 90.00 at 1000000000.00
-> at 0.
The dummies don't need invulnerability ability, they have Locust.
Maybe you could adjust the turn speed of the unit, since the horse moves so quickly when turning.
Tough it is an ultimate, could you think of something that could be affected by the level of the ability? Infinity + 1 life bonus :p
 
Top