Mirana Arrow Request Xd

Furberg

Ultra Cool Member
Reaction score
45
I really need a NON JASS triggerd Mirana, Elunes arrow spell :banghead::nuts::eek::confused: thank you!
 

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
Reaction score
106
taken from dota heroes page
Fires an arrow to a location with deadly precision, dealing large damage and stunning the first unit it strikes. Stun duration increases based on how far the target is, ranging from 0.5 to 5 seconds.
 

ZiggyMcjoney

Data editor?! AAAHHHHH!
Reaction score
95
I'm not going to make the whole spell for you but I'll copy out something i've already done, minus a few parts to make it suitable for the kind of spell you're doing.:

Code:
Frostbitten Shot 1
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Frostbitten Shot 
    Actions
        Set Temp_Point = (Position of (Triggering unit))
        Set FS_Caster[(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
        Set FS_TargetPos[(Player number of (Owner of (Triggering unit)))] = (Target point of ability being cast)
        Unit - Create 1 Frostbitten Shot Dummy for (Owner of (Triggering unit)) at Temp_Point facing FS_TargetPos[(Player number of (Owner of (Triggering unit)))]
        Set FS_Bullet[(Player number of (Owner of (Triggering unit)))] = (Last created unit)
        Set FS_BulletPos[(Player number of (Owner of (Triggering unit)))] = (Position of (Last created unit))
        Set FS_Angle[(Player number of (Owner of (Triggering unit)))] = (Angle from FS_BulletPos[(Player number of (Owner of (Triggering unit)))] to FS_TargetPos[(Player number of (Owner of (Triggering unit)))])
        Custom script:   call RemoveLocation (udg_Temp_Point)
        Unit - Pause FS_Bullet[(Player number of (Owner of (Triggering unit)))]
        Unit - Turn collision for FS_Bullet[(Player number of (Owner of (Triggering unit)))] Off

Code:
Frostbitten Shot 2 Copy
    Events
        Time - Every 0.03 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        FS_Bullet[(Integer A)] Not equal to No unit
                    Then - Actions
                        Set FS_BulletPos[(Integer A)] = (Position of FS_Bullet[(Integer A)])
                        Set FS_Angle[(Integer A)] = (Angle from FS_BulletPos[(Integer A)] to FS_TargetPos[(Integer A)])
                        Set FS_MovePoint[(Integer A)] = (FS_BulletPos[(Integer A)] offset by 14.00 towards FS_Angle[(Integer A)] degrees)
                        Unit - Move FS_Bullet[(Integer A)] instantly to FS_MovePoint[(Integer A)]
                        Set Temp_Unit_Group = (Units within 96.00 of FS_BulletPos[(Integer A)] matching (((Matching unit) Not equal to FS_Caster[(Integer A)]) and ((((Matching unit) belongs to an enemy of (Owner of FS_Caster[(Integer A)])) Equal to True) and (((Matching unit) is alive) Equal to True))))
                        Unit Group - Pick every unit in Temp_Unit_Group and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Number of units in Temp_Unit_Group) Greater than 0
                                    Then - Actions
                                        Special Effect - Create a special effect at FS_MovePoint[(Integer A)] using Abilities\Spells\Undead\FrostNova\FrostNovaTarget.mdl
                                        Special Effect - Destroy (Last created special effect)
                                        [B]CREATE DUMMY UNITS AND DO STUN HERE[/B]
                                        Unit - Remove FS_Bullet[(Integer A)] from the game
                                        Set FS_Bullet[(Integer A)] = No unit
                                        Set FS_Caster[(Integer A)] = No unit
                                        Custom script:   call DestroyGroup (udg_Temp_Unit_Group_2)
                                        Custom script:   call RemoveLocation (udg_FS_TargetPos[GetForLoopIndexA()])
                                        Special Effect - Destroy (Last created special effect)
                                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Distance between FS_BulletPos[(Integer A)] and FS_TargetPos[(Integer A)]) Less than 150.00
                            Then - Actions
                                Unit - Remove FS_Bullet[(Integer A)] from the game
                                Set FS_Bullet[(Integer A)] = No unit
                                Set FS_Caster[(Integer A)] = No unit
                                Custom script:   call DestroyGroup (udg_Temp_Unit_Group_2)
                                Custom script:   call RemoveLocation (udg_FS_TargetPos[GetForLoopIndexA()])
                                Special Effect - Destroy (Last created special effect)
                            Else - Actions
                        Custom script:   call DestroyGroup (udg_Temp_Unit_Group)
                        Custom script:   call RemoveLocation (udg_FS_MovePoint[GetForLoopIndexA()])
                        Custom script:   call RemoveLocation (udg_FS_BulletPos[GetForLoopIndexA()])
                    Else - Actions

NOTES:
Temp_Point = Point variable
FS_Caster = Unit variable
FS_TargetPos = Point variable
Temp_Unit_Group = Unit group variable
FS_BulletPos = Point variable
FS_MovePoint = Point variable
FS_Bullet = Unit variable
FS_Angle = Real variable

Replace the "Frostbitten Shot Dummy" with a dummy unit using your arrows model.

Don't have time to make a demo map with it on it right now but I can do it later if you need one.
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
2 things. That trigger would allow the arrow to damage buildings, and it's not anything like Elune's Arrow. You'd have to change the "(Distance between FS_BulletPos[(Integer A)] and FS_TargetPos[(Integer A)]) Less than 150.00" to something that checks the distance between the caster's position from when the arrow was fired to the FS_BulletPos[].
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top