• 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.

Spark Wraith of Dota 6.75

Status
Not open for further replies.
Level 12
Joined
Sep 11, 2011
Messages
1,176
i... don't get it... please write a more clear request.
and if it's an ability (Spark Wraith), tell us what the ability do (since people might not know what is dota or what is that ability or who is Zet or who is Arc Warden).
 
Last edited:
Level 9
Joined
Dec 12, 2007
Messages
489
Don't ya even know DOTA 6.75??haven't played??

(since people might not know what is dota or what is that ability or who is Zet or who is Arc Warden).

please acknowledge that not everyone here play all kinds of map, including dota.
if you request something, please be more specific and clear, describe what it does. not just "i need Level 3 ability of ....".
 
Level 16
Joined
Aug 20, 2009
Messages
1,554
Don't ya even know DOTA 6.75??haven't played??

is that a way to request something?

kindly collect all information before even
starting the thread,

as detailed as possible, better with a diagram and explanations,

you know you are taking people's time?
and they are not your slaves, they are doing it
voluntarily, which is free,

why dont you at least try to make it before even requesting?
you could at least learn something and improve your skills.
we could help you fixing your mistakes if you did,

you will learn faster from it.

as far as i know, i could make every dota skill
with just GUI. yes, you dont need JASS.
you read that right.
I can do everything in GUI.
challenge me with a promising reward that will
gain me something fro. the time loss, i shall do you an awe.

being impolite wont help you get your request done.

and why not make something original rather than straight copy of another's
idea?

its not like maps with unoriginal ideas could get approved,

so will the efforts of your helpers will go meaningless and
creditless.
 
Level 7
Joined
Sep 2, 2011
Messages
349
I guess its like

--
Trigger 1
*Actions
Unit create dummy in target point
Wait for 3 seconds

Trigger2
*Event
Every 0.3 seconds in game
*Action
Pick nearest unit within 300 distance of dummy
Order dummy to cast stormbolt(without stun) to picked unit
--

It is a spell that is similar to that. Creating an effect that charges
for 3 seconds and when ready, it will unleash an attack to the nearby
unit.
 
Level 12
Joined
Sep 11, 2011
Messages
1,176
here, i finally finished the spell (if you still need it). you can change the model of the dummy to any model you like, currently i'm using death tower's missile and an invulnerable buff, here is the triggers :

UnitIndexer

Spark Wraith

SW Materialized

SW Target Found

  • Unit Indexer
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Custom script: call ExecuteFunc("InitializeUnitIndexer")
      • Custom script: endfunction
      • -------- --------
      • -------- This is the most important function - it provides an index for units as they enter the map --------
      • -------- --------
      • Custom script: function IndexUnit takes nothing returns boolean
      • Custom script: local integer pdex = udg_UDex
      • -------- --------
      • -------- You can use the boolean UnitIndexerEnabled to protect some of your undesirable units from being indexed --------
      • -------- - Example: --------
      • -------- -- Set UnitIndexerEnabled = False --------
      • -------- -- Unit - Create 1 Dummy for (Triggering player) at TempLoc facing 0.00 degrees --------
      • -------- -- Set UnitIndexerEnabled = True --------
      • -------- --------
      • -------- You can also customize the following block - if conditions are false the (Matching unit) won't be indexed. --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • UnitIndexerEnabled Equal to True
        • Then - Actions
          • -------- --------
          • -------- Generate a unique integer index for this unit --------
          • -------- --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • UDexRecycle Equal to 0
            • Then - Actions
              • Set UDex = (UDexGen + 1)
              • Set UDexGen = UDex
            • Else - Actions
              • Set UDex = UDexRecycle
              • Set UDexRecycle = UDexNext[UDex]
          • -------- --------
          • -------- Link index to unit, unit to index --------
          • -------- --------
          • Set UDexUnits[UDex] = (Matching unit)
          • Unit - Set the custom value of UDexUnits[UDex] to UDex
          • -------- --------
          • -------- Use a doubly-linked list to store all active indexes --------
          • -------- --------
          • Set UDexPrev[UDexNext[0]] = UDex
          • Set UDexNext[UDex] = UDexNext[0]
          • Set UDexNext[0] = UDex
          • -------- --------
          • -------- Fire index event for UDex --------
          • -------- --------
          • Set UnitIndexEvent = 0.00
          • Set UnitIndexEvent = 1.00
          • Set UnitIndexEvent = 0.00
          • Custom script: set udg_UDex = pdex
        • Else - Actions
      • Custom script: return false
      • Custom script: endfunction
      • -------- --------
      • -------- The next function is called each time a unit enters the map --------
      • -------- --------
      • Custom script: function IndexNewUnit takes nothing returns boolean
      • Custom script: local integer pdex = udg_UDex
      • Custom script: local integer ndex
      • -------- --------
      • -------- Recycle indices of units no longer in-play every (15) units created --------
      • -------- --------
      • Set UDexWasted = (UDexWasted + 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • UDexWasted Equal to 15
        • Then - Actions
          • Set UDexWasted = 0
          • Set UDex = UDexNext[0]
          • Custom script: loop
          • Custom script: exitwhen udg_UDex == 0
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Custom value of UDexUnits[UDex]) Equal to 0
            • Then - Actions
              • -------- --------
              • -------- Remove index from linked list --------
              • -------- --------
              • Custom script: set ndex = udg_UDexNext[udg_UDex]
              • Custom script: set udg_UDexNext[udg_UDexPrev[udg_UDex]] = ndex
              • Custom script: set udg_UDexPrev[ndex] = udg_UDexPrev[udg_UDex]
              • Set UDexPrev[UDex] = 0
              • -------- --------
              • -------- Fire deindex event for UDex --------
              • -------- --------
              • Set UnitIndexEvent = 2.00
              • Set UnitIndexEvent = 0.00
              • -------- --------
              • -------- Recycle the index for later use --------
              • -------- --------
              • Set UDexUnits[UDex] = No unit
              • Set UDexNext[UDex] = UDexRecycle
              • Set UDexRecycle = UDex
              • Custom script: set udg_UDex = ndex
            • Else - Actions
              • Set UDex = UDexNext[UDex]
          • Custom script: endloop
          • Custom script: set udg_UDex = pdex
        • Else - Actions
      • -------- --------
      • -------- Handle the entering unit (Matching unit) --------
      • -------- --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Custom value of (Matching unit)) Equal to 0
        • Then - Actions
          • Custom script: call IndexUnit()
        • Else - Actions
      • Custom script: return false
      • Custom script: endfunction
      • -------- --------
      • -------- The next function initializes the core of the system --------
      • -------- --------
      • Custom script: function InitializeUnitIndexer takes nothing returns nothing
      • Custom script: local integer i = 0
      • Custom script: local region re = CreateRegion()
      • Custom script: local rect r = GetWorldBounds()
      • Set UnitIndexerEnabled = True
      • Custom script: call RegionAddRect(re, r)
      • Custom script: call TriggerRegisterEnterRegion(CreateTrigger(), re, Filter(function IndexNewUnit))
      • Custom script: call RemoveRect(r)
      • Custom script: set re = null
      • Custom script: set r = null
      • Custom script: loop
      • Custom script: call GroupEnumUnitsOfPlayer(bj_lastCreatedGroup, Player(i), Filter(function IndexUnit))
      • Custom script: set i = i + 1
      • Custom script: exitwhen i == 16
      • Custom script: endloop
      • -------- --------
      • -------- This is the "Unit Indexer Initialized" event, use it instead of "Map Initialization" for best results --------
      • -------- --------
      • Set UnitIndexEvent = 3.00
      • Set UnitIndexEvent = 0.00
  • Spark Wraith
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Spark Wraith
    • Actions
      • Set tempPoint = (Target point of ability being cast)
      • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at tempPoint facing Default building facing degrees
      • Set cv = (Custom value of (Last created unit))
      • Set SW_LVL[cv] = (Level of Spark Wraith for (Triggering unit))
      • Set SW_DMG[cv] = (100.00 + (50.00 x (Real((Level of Spark Wraith for (Triggering unit))))))
      • Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation (udg_tempPoint)
  • SW Materialized
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Dummy
    • Actions
      • Set cv = (Custom value of (Triggering unit))
      • Set tempPoint = (Position of (Triggering unit))
      • Unit - Create 1 Dummy 2 for (Owner of (Triggering unit)) at tempPoint facing Default building facing degrees
      • Unit - Add a 50.00 second Generic expiration timer to (Last created unit)
      • Unit - Add Bash to (Last created unit)
      • Unit - Set level of Bash for (Last created unit) to SW_LVL[cv]
      • Custom script: call RemoveLocation(udg_tempPoint)
  • SW Target Found
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • (Unit-type of (Attacking unit)) Equal to Dummy 2
    • Actions
      • Unit - Add a 0.50 second Generic expiration timer to (Attacking unit)
and here is a test map. feel free to ask any question.
 

Attachments

  • Spark Wraith.w3x
    22.6 KB · Views: 66
Status
Not open for further replies.
Top