- Joined
- Sep 9, 2012
- Messages
- 172
The Level 3 Ability of Zet,Arc Warden
I just need it in my remix of dota.
I just need it in my remix of dota.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
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).
Don't ya even know DOTA 6.75??haven't played??
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.
Take a note from the rest of the text, don't just take his words out of the context.Who said the spell needed JASS.
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)
I suddenly remember to rep you.TwoVenomous