Mirana Arrow Request Xd

Drunken_God

Hopes to get back into Mapmaking with SC2 :)
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!
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?
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.
  • C Cherry.Grove:
    My boyfriend is super into Bethesda modding so I'm probably going to join him in that for a bit, then move on to making mobile/browser games.
  • C Cherry.Grove:
    I mostly just want to look at my old projects because I know I posted uploads on here somewhere.
  • C Cherry.Grove:
    My one game was basically Among Us but you sabotaged an entire medieval city simulated drastically inefficiently with dynamic NPCs :S
  • C Cherry.Grove:
    of course I never finished it x D
  • jonas jonas:
    xD
  • jonas jonas:
    I think you can still run the original game, just there's a chance your map won't work with the newer patches
  • jonas jonas:
    what development framework have you been looking at for mobile development?
  • jonas jonas:
    I'm currently creating (as a hobby) a space invaders like game for mobile using Xamarin, after starting a few larger projects that I also may not have finished :rolleyes::p
  • The Helper The Helper:
    Awesome! you should look at the Atari VCS platform it does not have a huge user base but the one it has is super active at around 11k and they have no games in there store
  • The Helper The Helper:
    basically it is linux
  • The Helper The Helper:
    OMG it is BanLord as Blackveiled on the forum
  • The Helper The Helper:
    what is up buddy
  • jonas jonas:
    thanks for the tip, that sounds cool. Never heard about the VCS before but seems like it should be a good match
  • tom_mai78101 tom_mai78101:
    The winter vacation left a toll on me. I missed staying up late and sleeping in late.
  • C Cherry.Grove:
    i haven't looked into it yet
  • C Cherry.Grove:
    If I could use something Python compatible it would save me some learning
  • C Cherry.Grove:
    But Unity might be easiest
  • C Cherry.Grove:
    looking at old posts here makes me happy. Makes me be all like "wow I was pretty smart in 2009"
  • C Cherry.Grove:
    mostly failing at life through adulthood really demotivated me for a while
  • C Cherry.Grove:
    ....what I don't get is why the fuck they would force us to permanently convert to a version of the game everyone fucking hated : \
  • C Cherry.Grove:
    Raid Shadow Legends texture pack smh
  • jonas jonas:
    Most people fail at life throughout their adulthood. Sometimes we get to learn from it. Usually it just feels like crap.
    +1
  • The Helper The Helper:
    What does not kill you makes you stronger is what they say
  • C Cherry.Grove:
    for real! :cool:

    Members online

    No members online now.

    Affiliates

    Hive Workshop NUON Dome
    Top