1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Travel to distant realms and encounter scenes unknown to the common folk. The Greatest of Adventures is upon us with the 8th Cinematic Contest. Join in on a fun ride.
    Dismiss Notice
  5. The 18th Icon Contest is ON! Choose any ingame unit and give him/her Hero abilities. Good luck to all.
    Dismiss Notice
  6. The Secrets of Warcraft 3 have revealed interesting works. The RESULTS for Abelhawk's Mini-Mapping Contest #15 have come out!
    Dismiss Notice
  7. Contestants are to create a scene set in the Stone Age. Come and see what you can come up with. We wish you the best of luck!
    Dismiss Notice
  8. Colour outside the lines! Techtree Contest #13 is a go. The contest is optionally paired.
    Dismiss Notice
  9. Night Rider gained several songs for his journey. The poll for the 12th Music Contest has started. Check it out!
    Dismiss Notice
  10. Greetings cerebrates, our Swarm needs new spawners that will have numerous children. Join the HIVE's 31st Modeling Contest - Spawners and Spawned! The contest is optionally paired.
    Dismiss Notice
  11. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

Omnislash from DotA 1.30.w3x
Variables
Initialization
Reveal
heal
revive
Omnislash
Omnislash
Slash
Below is a recent version of the spell
Slash Copy

		
Name Type Is Array Initial Value
gg group No
zetor unit No
Reveal
  Events
    Map initialization
  Conditions
  Actions
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
heal
  Events
    Player - Player 1 (Red) skips a cinematic sequence
  Conditions
  Actions
    Unit Group - Pick every unit in (Units owned by Player 1 (Red)) and do (Actions)
      Loop - Actions
        Unit - Set mana of (Picked unit) to 100%
        Unit - Set life of (Picked unit) to 100%
        Unit - Reset ability cooldowns for (Picked unit)
revive
  Events
    Unit - A unit owned by Player 2 (Blue) Dies
  Conditions
  Actions
    Wait 5.00 seconds
    Unit - Create 1 (Unit-type of (Triggering unit)) for Player 2 (Blue) at (Random point in (Playable map area)) facing Default building facing degrees
By Barathrum (Dark_Lord_12)


To import the spell:

Create a new trigger, convert it and replace the whole code with myne.

You will also need an ability, you can copy mine or create your own.

I used the ID A000, if you use an other, just change it.
This should have all functions of the DotA Omnislash spell.
//TESH.scrollpos=0
//TESH.alwaysfold=0

////////////////////////////////////////////////////////////////////////////
// By Barathrum (Dark_Lord_12)                                            //
//                                                                        //
//                                                                        //
// To import the spell:                                                   //
//                                                                        //
// Create a new trigger, convert it and replace the whole code with myne. //
//                                                                        //
// You will also need an ability, you can copy mine or create your own.   //
//                                                                        //
// I used the ID A000, if you use an other, just change it.               //
////////////////////////////////////////////////////////////////////////////

function Slash_Condition takes nothing returns boolean
    return GetSpellAbilityId() == 'A000'
endfunction
function Death takes nothing returns boolean
    return ( GetWidgetLife(GetFilterUnit()) <= 0) == false
endfunction

function Slash_Actions takes nothing returns nothing
 local unit caster = GetSpellAbilityUnit() // casting unit
 local location start_position = GetUnitLoc(caster)  // casting units original location when casted
 local group enemies = CreateGroup() // the group of units that will be hit by the spell
 local unit temp // the current slashed target
 local integer count = GetUnitAbilityLevel (caster, 'A000') * 5 // number of slashes (currently set to do 5 slashes x level of omnislash)
 local location temp_loc //location of temp (current slashed unit)
 local effect blinkEffect // the effect of caster (blink)
 local effect targetEffect // the effect of slashed unit (phoenix misle)
 local real delay = 0.10 // this is the delay between slashes. Currently 0.10
 
    call GroupEnumUnitsInRangeOfLoc(enemies, start_position, 750.0, Condition(function Death)) // the range of caster wich units will be picked for targets (currently 750 )
   
    call DestroyEffect( AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", GetUnitLoc (caster)))
        loop
        call TriggerSleepAction (delay)
        set temp = null
        set temp = GroupPickRandomUnit(enemies)
        loop
        if GetWidgetLife(temp) <= 0 then
        set temp = null
        set temp = GroupPickRandomUnit(enemies)
        else
        exitwhen caster != null
        endif
        endloop
        exitwhen temp == null or count <= 0
        if IsUnitEnemy(temp, GetOwningPlayer(caster)) then
            set temp_loc = GetUnitLoc(temp)
            call DestroyEffect( AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", GetUnitLoc (caster)))
            call SetUnitPositionLoc(caster, temp_loc)
            call SetUnitAnimation( caster, "attack" )
            call UnitDamageTarget(caster, temp, GetUnitAbilityLevel (caster, 'A000') * 50, true, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL, null) // the demage dealt (currently 75 x level of spell omnislash)
            set targetEffect = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",temp,"chest")
            call DestroyEffect (targetEffect)
            set count = count - 1
            call RemoveLocation(temp_loc)
        endif
        //call GroupRemoveUnit(enemies, temp)
        endloop
        call RemoveLocation(start_position)
    call DestroyGroup(enemies)
    set caster = null
set start_position = null
set enemies = null
set temp = null
call RemoveLocation (temp_loc)
set temp_loc = null
call DestroyEffect (blinkEffect)
call DestroyEffect (targetEffect)
endfunction
function InitTrig_Slash takes nothing returns nothing
 set gg_trg_Slash = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(gg_trg_Slash, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(gg_trg_Slash, Condition(function Slash_Condition))
    call TriggerAddAction(gg_trg_Slash, function Slash_Actions)
endfunction
 
This version does not go multiple times on the same target.
//TESH.scrollpos=0
//TESH.alwaysfold=0

////////////////////////////////////////////////////////////////////////////
// By Barathrum (Dark_Lord_12)                                            //
//                                                                        //
//                                                                        //
// To import the spell:                                                   //
//                                                                        //
// Create a new trigger, convert it and replace the whole code with myne. //
//                                                                        //
// You will also need an ability, you can copy mine or create your own.   //
//                                                                        //
// I used the ID A000, if you use an other, just change it.               //
////////////////////////////////////////////////////////////////////////////

function Slash_Condition takes nothing returns boolean
    return GetSpellAbilityId() == 'A000'
endfunction
function Trig_Untitled_Trigger_001_Func001002003 takes nothing returns boolean
    return ( IsUnitDeadBJ(GetFilterUnit()) == false )
endfunction

function Slash_Actions takes nothing returns nothing
 local unit caster = GetSpellAbilityUnit() // casting unit
 local location start_position = GetUnitLoc(caster)  // casting units original location when casted
 local group enemies = CreateGroup() // the group of units that will be hit by the spell
 local unit temp // the current slashed target
 local integer count = GetUnitAbilityLevel (caster, 'A000') * 5 // number of slashes (currently set to do 5 slashes x level of omnislash)
 local location temp_loc //location of temp (current slashed unit)
 local effect blinkEffect // the effect of caster (blink)
 local effect targetEffect // the effect of slashed unit (phoenix misle)
 local real delay = 0.10 // this is the delay between slashes. Currently 0.10
 
    call GroupEnumUnitsInRangeOfLoc(enemies, start_position, 750.0, Condition(function Trig_Untitled_Trigger_001_Func001002003)) // the range of caster wich units will be picked for targets (currently 750 )
   
    set blinkEffect = AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", GetUnitLoc (caster))
    call DestroyEffect (blinkEffect)
    loop
        call TriggerSleepAction (delay)
        set temp = FirstOfGroup(enemies)
        exitwhen temp == null or count == 0
        if IsUnitEnemy(temp, GetOwningPlayer(caster)) then
            set temp_loc = GetUnitLoc(temp)
            set blinkEffect = AddSpecialEffectLoc("Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl", GetUnitLoc (caster))
            call DestroyEffect (blinkEffect)
            call SetUnitPositionLoc(caster, temp_loc)
            call SetUnitAnimation( caster, "attack" )
            call UnitDamageTarget(caster, temp, GetUnitAbilityLevel (caster, 'A000') * 75, true, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL, null) // the demage dealt (currently 75 x level of spell omnislash)
            set targetEffect = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",temp,"chest")
            call DestroyEffect (targetEffect)
            set count = count - 1
            call RemoveLocation(temp_loc)
        endif
        call GroupRemoveUnit(enemies, temp)
        endloop
        call RemoveLocation(start_position)
    call DestroyGroup(enemies)
    set caster = null
set start_position = null
set enemies = null
set temp = null
call RemoveLocation (temp_loc)
endfunction
function InitTrig_Slash_Copy takes nothing returns nothing
 set gg_trg_Slash_Copy = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(gg_trg_Slash_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition(gg_trg_Slash_Copy, Condition(function Slash_Condition))
    call TriggerAddAction(gg_trg_Slash_Copy, function Slash_Actions)
endfunction