Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado!

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 [PACK] Héroes de DotA

Ver el tema anterior Ver el tema siguiente Ir abajo 
Ir a la página : Precedente  1, 2, 3  Siguiente
AutorMensaje
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2979
Reputación Reputación : 494
Monedas de oro : 9163
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: [PACK] Héroes de DotA Dom Feb 09, 2014 5:10 pm

Recuerdo del primer mensaje :

Bienvenidos!



Hoy les traigo 5 héroes de DotA, iban a ser 6, pero el Fénix es muy difícil de hacer y permitir que todo lo demás ande(hay que reducir la velocidad mínima del map a 0 y eso chocaría con los slows y muchas muchas complicaciones, o no tuve una buena idea)

IMPORTANTE: CORRESPONDEN A LA VERSION 6.78

Antes de pasar a los héroes, los requisitos de estos.

[gui]Inicializar
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Tabla hash - Create a hashtable
       Set TablaHash = (Last created hashtable)
       Set DUMMY_ID = Dummy
[/gui]

Este detonador es usado por todos los héroes, así que ya saben su importancia.

[jass]// GUI-Friendly Damage Detection -- v1.2.1 -- by Weep
//    http:// www.thehelper.net/forums/showthread.php?t=137957
//
//    Requires: only this trigger and its variables.
//
// -- What? --
//    This snippet provides a leak-free, GUI-friendly implementation of an "any unit takes
//    damage" event.  It requires no JASS knowledge to use.
//
//    It uses the Game - Value Of Real Variable event as its method of activating other
//    triggers, and passes the event responses through a few globals.
//
// -- Why? --
//    The traditional GUI method of setting up a trigger than runs when any unit is damaged
//    leaks trigger events.  This snippet is easy to implement and removes the need to do
//    you own GUI damage detection setup.
//
// -- How To Implement --
//    0. Before you copy triggers that use GDD into a new map, you need to copy over GDD
//       with its GDD Variable Creator trigger, or there will be a problem: the variables
//       won't be automatically created correctly.
//
//    1. Be sure "Automatically create unknown variables while pasting trigger data" is
//       enabled in the World Editor general preferences.
//    2. Copy this trigger category ("GDD") and paste it into your map.
//       (Alternately: create the variables listed in the globals block below, create a
//       trigger named "GUI Friendly Damage Detection", and paste in this entire text.)
//    3. Create your damage triggers using Game - Value Of Real Variable as the event,
//       select GDD_Event as the variable, and leave the rest of the settings to the default
//       "becomes Equal to 0.00".
//       The event responses are the following variables:
//          GDD_Damage is the amount of damage, replacing Event Response - Damage Taken.
//          GDD_DamagedUnit is the damaged unit, replacing Event Response - Triggering Unit.
//              Triggering Unit can still be used, if you need to use waits.
//              Read the -- Notes -- section below for more info.
//          GDD_DamageSource is the damaging unit, replacing Event Response - Damage Source.
//
// -- Notes --
//    GDD's event response variables are not wait-safe; you can't use them after a wait in
//    a trigger.  If you need to use waits, Triggering Unit (a.k.a. GetTriggerUnit()) can
//    be used in place of GDD_DamageSource.  There is no usable wait-safe equivalent to
//    Event Damage or Damage Source; you'll need to save the values yourself.
//
//    Don't write any values to the variables used as the event responses, or it will mess
//    up any other triggers using this snippet for their triggering.  Only use their values.
//
//    This uses arrays, so can detect damage for a maximum of 8190 units at a time, and
//    cleans up data at a rate of 33.33 per second, by default.  This should be enough for
//    most maps, but if you want to change the rate, change the value returned in the
//    GDD_RecycleRate function at the top of the code, below.
//
//    By default, GDD will not register units that have Locust at the moment of their
//    entering the game, and will not recognize when they take damage (which can only
//    happen if the Locust ability is later removed from the unit.)  To allow a unit to have
//    Locust yet still cause GDD damage events if Locust is removed, you can either design
//    the unit to not have Locust by default and add it via triggers after creation, or
//    edit the GDD_Filter function at the top of the code, below.
//
// -- Credits --
//    Captain Griffin on wc3c.net for the research and concept of GroupRefresh.
//
//    Credit in your map not needed, but please include this README.
//
// -- Version History --
//    1.2.1: Minor code cleaning.  Added configuration functions.  Updated documentation.
//    1.2.0: Made this snippet work properly with recursive damage.
//    1.1.1: Added a check in order to not index units with the Locust ability (dummy units).
//           If you wish to check for damage taken by a unit that is unselectable, do not
//           give the unit-type Locust in the object editor; instead, add the Locust ability
//           'Aloc' via a trigger after its creation, then remove it.
//    1.1.0: Added a check in case a unit gets moved out of the map and back.
//    1.0.0: First release.


//===================================================================
// Configurables.
function GDD_RecycleRate takes nothing returns real //The rate at which the system checks units to see if they've been removed from the game
   return 0.05
endfunction

function GDD_Filter takes unit u returns boolean //The condition a unit has to pass to have it registered for damage detection
   return GetUnitAbilityLevel(u, 'Aloc') == 0 //By default, the system ignores Locust units, because they normally can't take damage anyway
endfunction

//===================================================================
// This is just for reference.
// If you use JassHelper, you could uncomment this section instead of creating the variables in the trigger editor.

// globals
//  real udg_GDD_Event = 0.
//  real udg_GDD_Damage = 0.
//  unit udg_GDD_DamagedUnit
//  unit udg_GDD_DamageSource
//  trigger array udg_GDD__TriggerArray
//  integer array udg_GDD__Integers
//  unit array udg_GDD__UnitArray
//  group udg_GDD__LeftMapGroup = CreateGroup()
// endglobals

//===================================================================
// System code follows.  Don't touch!
function GDD_Event takes nothing returns boolean
   local unit damagedcache = udg_GDD_DamagedUnit
   local unit damagingcache = udg_GDD_DamageSource
   local real damagecache = udg_GDD_Damage
   set udg_GDD_DamagedUnit = GetTriggerUnit()
   set udg_GDD_DamageSource = GetEventDamageSource()
   set udg_GDD_Damage = GetEventDamage()
   set udg_GDD_Event = 1.
   set udg_GDD_Event = 0.
   set udg_GDD_DamagedUnit = damagedcache
   set udg_GDD_DamageSource = damagingcache
   set udg_GDD_Damage = damagecache
   set damagedcache = null
   set damagingcache = null
   return false
endfunction

function GDD_AddDetection takes nothing returns boolean
//  if(udg_GDD__Integers[0] > 8190) then
//      call BJDebugMsg("GDD: Too many damage events!  Decrease number of units present in the map or increase recycle rate.")
//      ***Recycle rate is specified in the GDD_RecycleRate function at the top of the code.  Smaller is faster.***
//      return
//  endif
   if(IsUnitInGroup(GetFilterUnit(), udg_GDD__LeftMapGroup)) then
       call GroupRemoveUnit(udg_GDD__LeftMapGroup, GetFilterUnit())
   elseif(GDD_Filter(GetFilterUnit())) then
       set udg_GDD__Integers[0] = udg_GDD__Integers[0]+1
       set udg_GDD__UnitArray[udg_GDD__Integers[0]] = GetFilterUnit()
       set udg_GDD__TriggerArray[udg_GDD__Integers[0]] = CreateTrigger()
       call TriggerRegisterUnitEvent(udg_GDD__TriggerArray[udg_GDD__Integers[0]], udg_GDD__UnitArray[udg_GDD__Integers[0]], EVENT_UNIT_DAMAGED)
       call TriggerAddCondition(udg_GDD__TriggerArray[udg_GDD__Integers[0]], Condition(function GDD_Event))
   endif
   return false
endfunction

function GDD_PreplacedDetection takes nothing returns nothing
   local group g = CreateGroup()
   local integer i = 0
   loop
       call GroupEnumUnitsOfPlayer(g, Player(i), Condition(function GDD_AddDetection))
       set i = i+1
       exitwhen i == bj_MAX_PLAYER_SLOTS
   endloop
   call DestroyGroup(g)
   set g = null
endfunction

function GDD_GroupRefresh takes nothing returns nothing
// Based on GroupRefresh by Captain Griffen on wc3c.net
   if (bj_slotControlUsed[5063] == true) then
       call GroupClear(udg_GDD__LeftMapGroup)
       set bj_slotControlUsed[5063] = false
   endif
   call GroupAddUnit(udg_GDD__LeftMapGroup, GetEnumUnit())
endfunction

function GDD_Recycle takes nothing returns nothing
   if(udg_GDD__Integers[0] <= 0) then
       return
   elseif(udg_GDD__Integers[1] <= 0) then
       set udg_GDD__Integers[1] = udg_GDD__Integers[0]
   endif
   if(GetUnitTypeId(udg_GDD__UnitArray[udg_GDD__Integers[1]]) == 0) then
       call DestroyTrigger(udg_GDD__TriggerArray[udg_GDD__Integers[1]])
       set udg_GDD__TriggerArray[udg_GDD__Integers[1]] = null
       set udg_GDD__TriggerArray[udg_GDD__Integers[1]] = udg_GDD__TriggerArray[udg_GDD__Integers[0]]
       set udg_GDD__UnitArray[udg_GDD__Integers[1]] = udg_GDD__UnitArray[udg_GDD__Integers[0]]
       set udg_GDD__UnitArray[udg_GDD__Integers[0]] = null
       set udg_GDD__Integers[0] = udg_GDD__Integers[0]-1
   endif
   set udg_GDD__Integers[1] = udg_GDD__Integers[1]-1
endfunction

function GDD_LeaveMap takes nothing returns boolean
   local boolean cached = bj_slotControlUsed[5063]
   if(udg_GDD__Integers[2] < 64) then
       set udg_GDD__Integers[2] = udg_GDD__Integers[2]+1
   else
       set bj_slotControlUsed[5063] = true
       call ForGroup(udg_GDD__LeftMapGroup, function GDD_GroupRefresh)
       set udg_GDD__Integers[2] = 0
   endif
   call GroupAddUnit(udg_GDD__LeftMapGroup, GetFilterUnit())
   set bj_slotControlUsed[5063] = cached
   return false
endfunction

// ===========================================================================
function InitTrig_GUI_Friendly_Damage_Detection takes nothing returns nothing
   local region r = CreateRegion()
   call RegionAddRect(r, GetWorldBounds())
   call TriggerRegisterEnterRegion(CreateTrigger(), r, Condition(function GDD_AddDetection))
   call TriggerRegisterLeaveRegion(CreateTrigger(), r, Condition(function GDD_LeaveMap))
   call GDD_PreplacedDetection()
   call TimerStart(CreateTimer(), GDD_RecycleRate(), true, function GDD_Recycle)
   set r = null
endfunction[/jass]

Crean las variables del sistema con esto

[gui]GDD Variable Creator
   Acontecimientos
   Condiciones
   Acciones
       Set GDD_Event = 0.00
       Set GDD_Damage = 0.00
       Set GDD_DamagedUnit = Ninguna unidad
       Set GDD_DamageSource = Ninguna unidad
       Set GDD__TriggerArray[0] = (This trigger)
       Set GDD__Integers[0] = 0
       Set GDD__UnitArray[0] = Ninguna unidad
       Set GDD__LeftMapGroup = GDD__LeftMapGroup
[/gui]

Unit Invisible
[jass]function UnitInvisible takes unit u returns boolean
   return GetUnitAbilityLevel(u,'Agho')>0 or GetUnitAbilityLevel(u,'Apiv')>0 or GetUnitAbilityLevel(u,'BOwk')>0 or GetUnitAbilityLevel(u,'Binv')>0 or (GetUnitAbilityLevel(u, 'Ashm')>0 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) > 18.00 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) < 6.00 and OrderId2String(GetUnitCurrentOrder(u)) == "ambush") or (GetUnitAbilityLevel(u, 'Sshm')>0 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) > 18.00 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) < 6.00 and OrderId2String(GetUnitCurrentOrder(u)) == "ambush")
endfunction[/jass]

Esta función es solo utilizada por el Bloodseeker y su spell Thirst. Pueden agregar nuevos buffs de invisibles colocando en la línea del return esto [ljass] and GetUnitAbilityLevel(u,rawcode)[/ljass]. Si quieren saber el rawcode de sus buffs tienes que ir al editor de objetos y en Ver colocar Mostrar valores brutos. Luego solo colocan el rawcode entre ''

AddSpecialEffectTargetForPlayer
[jass]function AddSpecialEffectTargetForPlayer takes string modelName, widget targetWidget, string attachPoint, player whichPlayer returns effect
   local string s = ""
   
   if GetLocalPlayer() == whichPlayer or IsPlayerAlly(GetLocalPlayer(), whichPlayer) then
       set s = modelName
   endif
   
   return AddSpecialEffectTarget(s,targetWidget, attachPoint)
endfunction[/jass]

Esta función es usada por Spiritbreaker en Charge of Darkness y Sniper en Assassinate.


Bloodseeker


Detonador de constantes:
[gui]Constantes Hablidades Bloodseeker
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Blood Bath ------------------ --------
       Set BloodBath_Ability = Blood Bath
       -------- ------------ Blood Rage ------------------ --------
       Set BloodRage_Ability = Bloodrage
       -------- ------------ Rupture ------------------ --------
       Set Rupture_Ability = Rupture
       -------- ------------ Thirst ------------------ --------
       -------- Estos 2 deben ser iguales para que todo funcione --------
       Set Thirst_Ability = Thirst
       Set Thirst_AbilityHer = Thirst
       Set Thirst_AumentoArmor_Ability = Thirst Armor Dummy
       Set Thirst_AumentoMS_Ability = Thirst Dummy
       Set Thirst_LibroConjuros_Ability = Libro Thirst
       Set Thirst_UnidadDummy = DummyVisionThirst
        Do Multiple ActionsFor each (Integer A) from 1 to 12, do (Actions)
           Bucle: Acciones
               Jugador - Desactivar Thirst_LibroConjuros_Ability for (Player((Integer A)))
[/gui]

Bloodrage: Drives a unit into a bloodthristy rage. That unit is unable to cast spells, has its attack damage increased, and loses a small amount of hit points every second.

[gui]Bloodrage
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) BloodRage_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ((Target unit of ability being cast) belongs to an enemy of (Triggering player)) Igual a (==) True
           Entonces: Acciones
               Unidad - Remove Positivo buffs considered Mágico from (Target unit of ability being cast) (Incluir expiration timers, Excluir auras)
               Unidad - Remove Desaparición buff from (Target unit of ability being cast)
           Otros: Acciones
               Unidad - Remove Negativo buffs considered Mágico from (Target unit of ability being cast) (Incluir expiration timers, Excluir auras)
[/gui]

Blood bath: Whenever Strygwyr kills a unit, he bathes himself in the blood, regenerating his life source.

[gui]Blood Bath
   Acontecimientos
       Unidad - A unit Muere
   Condiciones
       ((Triggering unit) is Una estructura) Igual a (==) False
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ((Triggering unit) is Un héroe) Igual a (==) True
           Entonces: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Level of BloodBath_Ability for (Killing unit)) Mayor que (>) 0
                   Entonces: Acciones
                       Set Real = ((Vida máx. of (Triggering unit)) x (0.10 x (Real((Level of BloodBath_Ability for (Killing unit))))))
                       Unidad - Set life of (Killing unit) to ((Vida of (Killing unit)) + Real)
                       Efecto especial - Create a special effect attached to the origin of (Killing unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl
                       Efecto especial - Destroy (Last created special effect)
                   Otros: Acciones
                       Set Punto = (Position of (Triggering unit))
                       Custom script:   set bj_wantDestroyGroup = true
                       Grupo de unidad - Pick every unit in (Units within 325.00 of Punto matching (((Level of BloodBath_Ability for (Matching unit)) Mayor que (>) 0) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Igual a (==) True))) and do (Actions)
                           Bucle: Acciones
                               Set Real = ((Vida máx. of (Triggering unit)) x (0.05 x (Real((Level of BloodBath_Ability for (Picked unit))))))
                               Unidad - Set life of (Picked unit) to ((Vida of (Picked unit)) + Real)
                       Custom script:   call RemoveLocation(udg_Punto)
           Otros: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Level of BloodBath_Ability for (Killing unit)) Mayor que (>) 0
                   Entonces: Acciones
                       Set Real = ((Vida máx. of (Triggering unit)) x (0.05 + (0.05 x (Real((Level of BloodBath_Ability for (Killing unit)))))))
                       Unidad - Set life of (Killing unit) to ((Vida of (Killing unit)) + Real)
                       Efecto especial - Create a special effect attached to the origin of (Killing unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl
                       Efecto especial - Destroy (Last created special effect)
                   Otros: Acciones
[/gui]

Thirst: Enables Strygwyr to sense the bleeding of any enemy hero below 20/30/40/50% hp. If he finds one, Strygwyr gains vision of that unit and increased movement speed and armor.

[gui]Thirst
   Acontecimientos
       Unidad - A unit Adquiere una habilidad
   Condiciones
       (Learned Hero Skill) Igual a (==) Thirst_AbilityHer
       (Learned skill level) Igual a (==) 1
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ST_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on ThirstLoop
           Otros: Acciones
       Set ST_Enteros[1] = (ST_Enteros[1] + 1)
       Set ST_Enteros[2] = (ST_Enteros[2] + 1)
       Set ST_Caster[ST_Enteros[2]] = (Triggering unit)
       Set ST_AoE[ST_Enteros[2]] = 6000.00
       Set ST_Instancia[ST_Enteros[2]] = 0
[/gui]

[gui]ThirstLoop
   Acontecimientos
       Tiempo - Every 0.20 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer ST_Enteros[3]) from 1 to ST_Enteros[2], do (Actions)
           Bucle: Acciones
               Set ST_Instancia[ST_Enteros[3]] = (ST_Instancia[ST_Enteros[3]] + 1)
               Set Entero2 = (Level of Thirst_Ability for ST_Caster[ST_Enteros[3]])
               Set Punto = (Position of ST_Caster[ST_Enteros[3]])
               Set Grupo = (Units within 99999.00 of Punto matching (((((Matching unit) is Un héroe) Igual a (==) True) and (((Matching unit) is an illusion) Igual a (==) False)) and ((((Matching unit) is dead) Igual a (==) False) and (((Matching unit) belongs to an enemy of (Owner of
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (ST_Caster[ST_Enteros[3]] is dead) Igual a (==) True
                   Entonces: Acciones
                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                           Bucle: Acciones
                               Set Dummy = (Load (Key ThirstDummy) of (Key (Picked unit)) in TablaHash)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Dummy No igual a (!=) Ninguna unidad
                                   Entonces: Acciones
                                       Unidad - Remove Dummy from the game
                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                   Otros: Acciones
                               Grupo de unidad - Remove (Picked unit) from Grupo
                   Otros: Acciones
                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                           Bucle: Acciones
                               Set Dummy = (Load (Key ThirstDummy) of (Key (Picked unit)) in TablaHash)
                               Set Punto2 = (Position of (Picked unit))
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (10.00 + (10.00 x (Real(Entero2))))
                                       (Distance between Punto and Punto2) Menor que o igual a (<=) ST_AoE[ST_Enteros[3]]
                                   Entonces: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Dummy Igual a (==) Ninguna unidad
                                           Entonces: Acciones
                                               Custom script:   if UnitInvisible(GetEnumUnit()) then
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (5.00 + (5.00 x (Real(Entero2))))
                                                   Entonces: Acciones
                                                       Unidad - Create 1 Thirst_UnidadDummy for (Owner of ST_Caster[ST_Enteros[3]]) at Punto2 facing Vista edificio predeterminada (270.0) degrees
                                                       Set Dummy = (Last created unit)
                                                       Tabla hash - Save Handle Of(Last created unit) as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Unidad - Add Vista certera (Neutral 1) to Dummy
                                                   Otros: Acciones
                                                       Unidad - Remove Dummy from the game
                                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                                       Grupo de unidad - Remove (Picked unit) from Grupo
                                               Custom script:   else
                                               Unidad - Create 1 Thirst_UnidadDummy for (Owner of ST_Caster[ST_Enteros[3]]) at Punto2 facing Vista edificio predeterminada (270.0) degrees
                                               Set Dummy = (Last created unit)
                                               Tabla hash - Save Handle Of(Last created unit) as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                               Custom script:   endif
                                           Otros: Acciones
                                               Unidad - Move Dummy instantly to Punto2
                                               Custom script:   if UnitInvisible(GetEnumUnit()) then
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (5.00 + (5.00 x (Real(Entero2))))
                                                   Entonces: Acciones
                                                       Unidad - Add Vista certera (Neutral 1) to Dummy
                                                   Otros: Acciones
                                                       Unidad - Remove Dummy from the game
                                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                                       Grupo de unidad - Remove (Picked unit) from Grupo
                                               Custom script:   endif
                                   Otros: Acciones
                                       Unidad - Remove Dummy from the game
                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                       Grupo de unidad - Remove (Picked unit) from Grupo
                               Custom script:   call RemoveLocation(udg_Punto2)
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Number of units in Grupo) Mayor que (>) 0
                   Entonces: Acciones
                       Unidad - Add Thirst_LibroConjuros_Ability to ST_Caster[ST_Enteros[3]]
                       Unidad - Set level of Thirst_AumentoMS_Ability for ST_Caster[ST_Enteros[3]] to Entero2
                       Unidad - Set level of Thirst_AumentoArmor_Ability for ST_Caster[ST_Enteros[3]] to Entero2
                   Otros: Acciones
                       Unidad - Remove Thirst_LibroConjuros_Ability from ST_Caster[ST_Enteros[3]]
               Custom script:   call DestroyGroup(udg_Grupo)
               Custom script:   call RemoveLocation(udg_Punto)
[/gui]

Rupture: Deals a mighty blow to the enemy causing any movement to result in bleeding and loss of life.

[gui]Rupture Init
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Rupture_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               R_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Rupture Loop
           Otros: Acciones
       Set R_Enteros[1] = (R_Enteros[1] + 1)
       Set R_Enteros[2] = (R_Enteros[2] + 1)
       Set R_Caster[R_Enteros[2]] = (Triggering unit)
       Set R_Target[R_Enteros[2]] = (Target unit of ability being cast)
       Set R_Percentage[R_Enteros[2]] = (0.20 x (Real((Level of (Ability being cast) for (Triggering unit)))))
       Set R_PuntoInit[R_Enteros[2]] = (Position of (Target unit of ability being cast))
       Set R_Tiempo[R_Enteros[2]] = (6.00 + (Real((Level of (Ability being cast) for (Triggering unit)))))
       Set Real = (50.00 + (100.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Vida of (Target unit of ability being cast)) Mayor que (>) Real
           Entonces: Acciones
               Unidad - Set life of (Target unit of ability being cast) to ((Vida of (Target unit of ability being cast)) - Real)
           Otros: Acciones
               Unidad - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing 9999.00 damage of attack type Caos and damage type Desconocido
[/gui]

[gui]Rupture Loop
   Acontecimientos
       Tiempo - Every 0.25 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer R_Enteros[3]) from 1 to R_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       R_Caster[R_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set R_Tiempo[R_Enteros[3]] = (R_Tiempo[R_Enteros[3]] - 0.25)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               R_Tiempo[R_Enteros[3]] Menor que (<) 0.01
                           Entonces: Acciones
                               Set R_Caster[R_Enteros[3]] = Ninguna unidad
                               Set R_Enteros[1] = (R_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       R_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set R_Enteros[2] = 0
                                   Otros: Acciones
                           Otros: Acciones
                               Set Punto = (Position of R_Target[R_Enteros[3]])
                               Set Real = (Distance between Punto and R_PuntoInit[R_Enteros[3]])
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Real Menor que (<) 1300.00
                                       Real Mayor que (>) 0.00
                                   Entonces: Acciones
                                       Efecto especial - Create a special effect attached to the chest of R_Target[R_Enteros[3]] using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                                       Efecto especial - Destroy (Last created special effect)
                                       Set Damage = (Real x R_Percentage[R_Enteros[3]])
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Vida of R_Target[R_Enteros[3]]) Menor que (<) Damage
                                           Entonces: Acciones
                                               Unidad - Cause R_Caster[R_Enteros[3]] to damage R_Target[R_Enteros[3]], dealing 9999.00 damage of attack type Caos and damage type Desconocido
                                           Otros: Acciones
                                               Unidad - Set life of R_Target[R_Enteros[3]] to ((Vida of R_Target[R_Enteros[3]]) - Damage)
                                   Otros: Acciones
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_R_PuntoInit[udg_R_Enteros[3]])
                               Set R_PuntoInit[R_Enteros[3]] = (Position of R_Target[R_Enteros[3]])
                   Otros: Acciones
[/gui]



Detonador de Constantes:
[gui]Constantes Habilidades Barathrum
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Charge of Darkness ------------------ --------
       Set ChargeOfDarkness_Ability = Charge of Darkness
       Set ChargeOfDarkness_DummyHabi = StunDummy Charge Of Darkness
       Set ChargeOfDarkness_ModelEffect = channel
       Set ChargeOfDarkness_ModelEffect = Abilities\Spells\Other\HowlOfTerror\HowlTarget.mdl
       -------- ------------ Greater Bash ------------------ --------
       Set GreaterBash_Ability = Greater Bash
       Set GreaterBash_HabiAumentoMS = Increase MS Greater Bash
       Set GreaterBash_ModelEffectFrictio = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
       -------- ------------ Nether Strike ------------------ --------
       Set NetherStrike_Ability = Nether Strike
[/gui]

Requisito para Greater Bash's:
[gui]Do a Greater Bash
   Acontecimientos
   Condiciones
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               GB_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Greater Loop
           Otros: Acciones
       Set GB_Enteros[1] = (GB_Enteros[1] + 1)
       Set GB_Enteros[2] = (GB_Enteros[2] + 1)
       Set GB_Caster[GB_Enteros[2]] = GB_Caster[0]
       Set GB_Duracion[GB_Enteros[2]] = GB_Duracion[0]
       Set GB_Target[GB_Enteros[2]] = GB_Target[0]
       Set GB_Speed[GB_Enteros[2]] = ((150.00 / GB_Duracion[0]) / 25.00)
       Set GB_Punto = (Position of GB_Caster[0])
       Set GB_Punto2 = (Position of GB_Target[0])
       Set GB_Angulo[GB_Enteros[2]] = (Angle from GB_Punto to GB_Punto2)
       Unidad - Cause GB_Caster[0] to damage GB_Target[0], dealing ((Current movement speed of GB_Caster[0]) x (0.10 x (Real((Level of GreaterBash_Ability for GB_Caster[0]))))) damage of attack type Conjuros and damage type Normal
       Unidad - Set the custom value of GB_Target[0] to 1
       Custom script:   call RemoveLocation(udg_GB_Punto)
       Custom script:   call RemoveLocation(udg_GB_Punto2)
[/gui]

[gui]Greater Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer GB_Enteros[3]) from 1 to GB_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       GB_Caster[GB_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set GB_Duracion[GB_Enteros[3]] = (GB_Duracion[GB_Enteros[3]] - 0.04)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               GB_Duracion[GB_Enteros[3]] Mayor que o igual a (>=) 0.01
                           Entonces: Acciones
                               Set Punto = (Position of GB_Target[GB_Enteros[3]])
                               Set Punto2 = (Punto offset by GB_Speed[GB_Enteros[3]] towards GB_Angulo[GB_Enteros[3]] degrees)
                               Efecto especial - Create a special effect at Punto2 using GreaterBash_ModelEffectFrictio
                               Efecto especial - Destroy (Last created special effect)
                               Unidad - Move GB_Target[GB_Enteros[3]] instantly to Punto2
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_Punto2)
                           Otros: Acciones
                               Unidad - Set the custom value of GB_Target[GB_Enteros[3]] to 0
                               Set GB_Caster[GB_Enteros[3]] = Ninguna unidad
                               Set GB_Enteros[1] = (GB_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       GB_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set GB_Enteros[2] = 0
                                   Otros: Acciones
                   Otros: Acciones
[/gui]

Charge of Darkness: Barathrum fixes his sight on an enemy and starts charging through all objects. Any unit that comes into contact during the charge is hit by a Greater Bash, including the target. Upon leaving the shadows, Barathrum shocks his opponent into an immobile state for some time. Charge is interrupted if disabled.

[gui]Charge of Darkness
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) ChargeOfDarkness_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               CD_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on ChargeOfDarkness
           Otros: Acciones
       Set CD_Enteros[1] = (CD_Enteros[1] + 1)
       Set CD_Enteros[2] = (CD_Enteros[2] + 1)
       Set CD_Booleana[CD_Enteros[2]] = False
       Set CD_Caster[CD_Enteros[2]] = (Triggering unit)
       Set CD_Target[CD_Enteros[2]] = (Target unit of ability being cast)
       Set CD_Speed[CD_Enteros[2]] = ((550.00 + (50.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))) / 25.00)
       Custom script:   set udg_CD_Efecto[udg_CD_Enteros[2]] = AddSpecialEffectTargetForPlayer( udg_ChargeOfDarkness_ModelEffect, GetSpellTargetUnit(), "overhead", GetTriggerPlayer() )
       Custom script:   call SetUnitAnimationByIndex(GetTriggerUnit(), 2)
       Animación - Change (Triggering unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 40.00% transparency
       Efecto especial - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\Shockwave\ShockwaveMissile.mdl
       Set CD_Efecto2[CD_Enteros[2]] = (Last created special effect)
[/gui]

[gui]ChargeOfDarkness
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
       Custom script:   local real x
       Custom script:   local real y
        Do Multiple ActionsFor each (Integer CD_Enteros[3]) from 1 to CD_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       CD_Caster[CD_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                                Multiple ConditionsAnd - All (Conditions) are true
                                   Condiciones
                                       (Current order of CD_Caster[CD_Enteros[3]]) No igual a (!=) (Order(ChargeOfDarkness_ModelEffect))
                           Entonces: Acciones
                               Set CD_Booleana[CD_Enteros[3]] = True
                           Otros: Acciones
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               (CD_Caster[CD_Enteros[3]] is dead) Igual a (==) False
                           Entonces: Acciones
                               Set Punto = (Position of CD_Caster[CD_Enteros[3]])
                               Set Punto2 = (Position of CD_Target[CD_Enteros[3]])
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (CD_Target[CD_Enteros[3]] is dead) Igual a (==) True
                                   Entonces: Acciones
                                       Set CD_Booleana[CD_Enteros[3]] = True
                                       Custom script:   set bj_wantDestroyGroup = true
                                       Grupo de unidad - Pick every unit in (Units within 4000.00 of Punto2 matching ((((Matching unit) is dead) Igual a (==) False) and ((((Matching unit) is Una estructura) Igual a (==) False) and ((((Matching unit) is visible to (Owner of CD_Caster[CD_Enteros[3]])) Igual a (==) True) and (((Matching and do (Actions)
                                           Bucle: Acciones
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (CD_Target[CD_Enteros[3]] is dead) Igual a (==) True
                                                   Entonces: Acciones
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               (Picked unit) No igual a (!=) Ninguna unidad
                                                           Entonces: Acciones
                                                               Efecto especial - Destroy CD_Efecto[CD_Enteros[3]]
                                                               Set CD_Target[CD_Enteros[3]] = (Picked unit)
                                                               Custom script:   set udg_CD_Efecto[udg_CD_Enteros[3]] = AddSpecialEffectTargetForPlayer( udg_ChargeOfDarkness_ModelEffect, GetEnumUnit(), "overhead", GetOwningPlayer(udg_CD_Caster[udg_CD_Enteros[3]]) )
                                                               Custom script:   call RemoveLocation(udg_Punto2)
                                                               Set Punto2 = (Position of CD_Target[CD_Enteros[3]])
                                                               Set CD_Booleana[CD_Enteros[3]] = False
                                                           Otros: Acciones
                                                   Otros: Acciones
                                   Otros: Acciones
                               Set Real = (Angle from Punto to Punto2)
                               Set Punto3 = (Punto offset by CD_Speed[CD_Enteros[3]] towards Real degrees)
                               Custom script:   set x = GetLocationX(udg_Punto3)
                               Custom script:   set y = GetLocationY(udg_Punto3)
                               Unidad - Make CD_Caster[CD_Enteros[3]] face Real over 0.00 seconds
                               Custom script:   call SetUnitX(udg_CD_Caster[udg_CD_Enteros[3]], x)
                               Custom script:   call SetUnitY(udg_CD_Caster[udg_CD_Enteros[3]], y)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]]) Mayor que (>) 0
                                   Entonces: Acciones
                                       Set Grupo = (Units within 300.00 of Punto3 matching ((((Matching unit) is Una estructura) Igual a (==) False) and ((((((Matching unit) is dead) Igual a (==) False) and ((Custom value of (Matching unit)) Igual a (==) 0)) and ((Matching unit) No igual a (!=) CD_Target[CD_E
                                       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]])))))
                                       Set GB_Caster[0] = CD_Caster[CD_Enteros[3]]
                                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                                           Bucle: Acciones
                                               Set GB_Target[0] = (Picked unit)
                                               Detonador - Run Do a Greater Bash (ignoring conditions)
                                   Otros: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Distance between Punto and Punto2) Menor que o igual a (<=) 128.00
                                   Entonces: Acciones
                                       Set CD_Booleana[CD_Enteros[3]] = True
                                       Unidad - Create 1 DUMMY_ID for (Owner of CD_Caster[CD_Enteros[3]]) at Punto3 facing Real degrees
                                       Unidad - Add ChargeOfDarkness_DummyHabi to (Last created unit)
                                       Unidad - Set level of ChargeOfDarkness_DummyHabi for (Last created unit) to (Level of ChargeOfDarkness_Ability for CD_Caster[CD_Enteros[3]])
                                       Unidad - Order (Last created unit) to Humano Rey de la Montaña: Rayo de tormenta CD_Target[CD_Enteros[3]]
                                       Unidad - Add a 1.00 second Genérico expiration timer to (Last created unit)
                                       Unidad - Cause CD_Caster[CD_Enteros[3]] to damage CD_Target[CD_Enteros[3]], dealing ((Current movement speed of CD_Caster[CD_Enteros[3]]) x (0.10 x (Real((Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]]))))) damage of attack type Conjuros and damage type Normal
                                       Unidad - Order CD_Caster[CD_Enteros[3]] to Atacar CD_Target[CD_Enteros[3]]
                                   Otros: Acciones
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_Punto2)
                               Custom script:   call RemoveLocation(udg_Punto3)
                           Otros: Acciones
                               Set CD_Booleana[CD_Enteros[3]] = True
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               CD_Booleana[CD_Enteros[3]] Igual a (==) True
                           Entonces: Acciones
                               Animación - Change CD_Caster[CD_Enteros[3]]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                               Efecto especial - Destroy CD_Efecto[CD_Enteros[3]]
                               Efecto especial - Destroy CD_Efecto2[CD_Enteros[3]]
                               Set CD_Caster[CD_Enteros[3]] = Ninguna unidad
                               Set CD_Enteros[1] = (CD_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       CD_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set CD_Enteros[2] = 0
                                   Otros: Acciones
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Empowering Haste: His presence increases the movement speed of nearby allied units.

Greater Bash: Gives a 17% chance to bash enemies across the ground, doing more initial damage and damage as they skid. You gain 15% movement speed bonus for 3 seconds when this triggers.

[gui]Greater Bash
   Acontecimientos
       Unidad - A unit Es atacado
   Condiciones
       (Level of GreaterBash_Ability for (Attacking unit)) Mayor que (>) 0
       ((Triggering unit) is Una estructura) Igual a (==) False
       (Random integer number between 1 and 100) Menor que o igual a (<=) 17
       (Custom value of (Triggering unit)) Igual a (==) 0
   Acciones
       Efecto especial - Create a special effect attached to the hand, right of (Attacking unit) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
       Efecto especial - Destroy (Last created special effect)
       Set Punto = (Position of (Triggering unit))
       Unidad - Create 1 DUMMY_ID for (Owner of (Attacking unit)) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add GreaterBash_HabiAumentoMS to (Last created unit)
       Unidad - Add a 1.00 second Genérico expiration timer to (Last created unit)
       Unidad - Order (Last created unit) to Orco Chamán: Sed de sangre (Attacking unit)
       Set GB_Caster[0] = (Attacking unit)
       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for (Attacking unit))))))
       Set GB_Target[0] = (Triggering unit)
       Detonador - Run Do a Greater Bash (ignoring conditions)
[/gui]

Nether Strike: Moves you next to your target doing extra damage. Performs a greater bash hit. Casting range improves per level.

[gui]Nether Strike
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
       Set NS_Enteros[1] = (NS_Enteros[1] + 1)
       Set NS_Enteros[2] = (NS_Enteros[2] + 1)
       Set NS_Caster[NS_Enteros[2]] = (Triggering unit)
       Set NS_Target[NS_Enteros[2]] = (Target unit of ability being cast)
       Set NS_Damage[NS_Enteros[2]] = (50.00 + (100.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
[/gui]

[gui]Nether Strike Finaliza
   Acontecimientos
       Unidad - A unit Finaliza el lanzamiento de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
       Custom script:   local real x
       Custom script:   local real y
        Do Multiple ActionsFor each (Integer NS_Enteros[3]) from 1 to NS_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Triggering unit) Igual a (==) NS_Caster[NS_Enteros[3]]
                   Entonces: Acciones
                       Set Punto = (Position of NS_Target[NS_Enteros[3]])
                       Set Punto2 = (Position of NS_Caster[NS_Enteros[3]])
                       Set Punto3 = (Punto offset by 128.00 towards (Angle from Punto2 to Punto) degrees)
                       Custom script:   set x = GetLocationX(udg_Punto3)
                       Custom script:   set y = GetLocationY(udg_Punto3)
                       Custom script:   call SetUnitX(udg_NS_Caster[udg_NS_Enteros[3]], x)
                       Custom script:   call SetUnitY(udg_NS_Caster[udg_NS_Enteros[3]], y)
                       Unidad - Make NS_Caster[NS_Enteros[3]] face Punto over 0.00 seconds
                       Animación - Play NS_Caster[NS_Enteros[3]]'s attack animation
                       Unidad - Cause NS_Caster[NS_Enteros[3]] to damage NS_Target[NS_Enteros[3]], dealing NS_Damage[NS_Enteros[3]] damage of attack type Conjuros and damage type Normal
                       Set GB_Caster[0] = NS_Caster[NS_Enteros[3]]
                       Set GB_Target[0] = NS_Target[NS_Enteros[3]]
                       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for GB_Caster[0])))))
                       Detonador - Run Do a Greater Bash (ignoring conditions)
                   Otros: Acciones
[/gui]

[gui]Nether Strike Detiene
   Acontecimientos
       Unidad - A unit Detiene el lanzamiento de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
        Do Multiple ActionsFor each (Integer NS_Enteros[3]) from 1 to NS_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Triggering unit) Igual a (==) NS_Caster[NS_Enteros[3]]
                   Entonces: Acciones
                       Set NS_Caster[NS_Enteros[3]] = Ninguna unidad
                       Set NS_Enteros[1] = (NS_Enteros[1] - 1)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               NS_Enteros[1] Igual a (==) 0
                           Entonces: Acciones
                               Set NS_Enteros[2] = 0
                           Otros: Acciones
                   Otros: Acciones
[/gui]



Última edición por Marcos_M el Jue Jul 13, 2017 7:17 pm, editado 2 veces
Volver arriba Ir abajo

AutorMensaje
Lorchipdelta
Soldado
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 72
Reputación Reputación : 3
Monedas de oro : 216
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Lun Nov 17, 2014 11:05 pm

q pena q no sigan subiendo heroes, seria genial q estuvieran todos pero supongo q seria mucho pedir
Volver arriba Ir abajo
https://goo.gl/1LeJDy
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2979
Reputación Reputación : 494
Monedas de oro : 9163
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Mar Nov 18, 2014 12:03 pm

Recuerda, que es una persona calcando héroes.. tienen muchos detalles y son molestos de hacer >_>
Volver arriba Ir abajo
cholotito
Capitán
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 179
Reputación Reputación : 5
Monedas de oro : 520
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Lun Dic 21, 2015 12:18 pm

El sniper el sniper!!
Volver arriba Ir abajo
ThemasterXDZ
Iniciado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2
Reputación Reputación : 0
Monedas de oro : 2
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Lun Feb 01, 2016 3:13 pm

Comento para descargar
Volver arriba Ir abajo
febetu16
Peón
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 41
Reputación Reputación : 4
Monedas de oro : 131
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Jue Oct 20, 2016 8:28 pm

Lo voy a probar.
Volver arriba Ir abajo
neofito.pumapari
Peón


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 36
Reputación Reputación : 0
Monedas de oro : 76
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Mar Nov 08, 2016 12:58 pm

Gracias.
Volver arriba Ir abajo
VicALV
Capitán
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 141
Reputación Reputación : 18
Monedas de oro : 643
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Vie Dic 23, 2016 3:34 pm

Comentando para ver !!!!!
Volver arriba Ir abajo
armando368
Caballero
avatar


Barra de Salud : Su salud está al 80% - Este usuario ha recibido una infracción

Mensajes Mensajes : 330
Reputación Reputación : 20
Monedas de oro : 1310
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Dom Dic 25, 2016 1:24 am

Comentando para ver y descargar,como dicen todos .


Ahora yo soy el que tiene Estrés y Malestar por las Clases . . .
Ahora soy el que tiene que Sufrir , a mi me Vale un Piñón(######)


BAH
Volver arriba Ir abajo
Mario5121
Peón


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 36
Reputación Reputación : 0
Monedas de oro : 127
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Lun Dic 26, 2016 9:24 pm

No se hacer nada de esto debo aprender mas xd.
Volver arriba Ir abajo
armando368
Caballero
avatar


Barra de Salud : Su salud está al 80% - Este usuario ha recibido una infracción

Mensajes Mensajes : 330
Reputación Reputación : 20
Monedas de oro : 1310
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Mar Dic 27, 2016 6:51 pm

@Ruke escribió:
Con:
http://www.worldofeditors.net/t490-mui-utilidad-para-gui
se te hubiese facilitado mas <.<

También recomiendo:
http://www.worldofeditors.net/t242-damage
para el daño o cualquier otra librería. GDD tiene un par de fallas que descubrí al hacer mi librería (además solo detecta el evento).

Buen aporte, +rep.

Sobre tu MUI es confusa , no he usando ningun "Turn on Trigger" y solo setee el Detonador , y no sucede nada e_e

Y sobre el AutomaticClean , es una Caca .

Tu MUI es Truco de Magia Negra ya que a nadie le Funciona -.- ( Osea es Basura )

La primera vez que vi eso me dificultaste el Aprendizaje GUI por culpa de las Dudas y no me Funcionaba

USAS MAGIA NEGRA ( es decir Es basura )


Ahora yo soy el que tiene Estrés y Malestar por las Clases . . .
Ahora soy el que tiene que Sufrir , a mi me Vale un Piñón(######)


BAH
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2979
Reputación Reputación : 494
Monedas de oro : 9163
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Miér Dic 28, 2016 12:41 pm

Link resubido.

Solucionados Sniper - Take Aim y Spiritbreaker - Charge of Darkness
Volver arriba Ir abajo
figty456
Aprendiz


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 20
Reputación Reputación : 0
Monedas de oro : 46
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Miér Abr 05, 2017 1:26 pm

oe no podes hacer una video como lo haces por paso porque yo no entiendo como procedo hacer
Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2979
Reputación Reputación : 494
Monedas de oro : 9163
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Miér Abr 05, 2017 2:05 pm

Volver arriba Ir abajo
figty456
Aprendiz


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 20
Reputación Reputación : 0
Monedas de oro : 46
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Jue Abr 20, 2017 10:10 am

oe hay un problema con el sniper que take aim no se habilita con el primer punto de habilidad si no con el segundo dicien se ve que aumenta 80 de alcance de ataque

Volver arriba Ir abajo
Marcos_M

avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2979
Reputación Reputación : 494
Monedas de oro : 9163
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Jue Abr 20, 2017 10:44 am

Quizás no configuraste bien la actualización al copiar el spell
Fijate que en Organigrama-Actualizaciones usadas
Tiene que estar la actualizacion de Take Aim en el Sniper

Edit: Error mío

[gui]Take Aim
Acontecimientos
Unidad - A unit Adquiere una habilidad
Condiciones
(Learned Hero Skill) Igual a (==) TakeAim_Ability
Acciones
Jugador - Set the current research level of TakeAim_Actualizacion to (Learned skill level) for (Triggering player)[/gui]

Debería usar este detonador. No tengo tiempo de actualizar el link ahora, pero deberías poder cambiarlo
Volver arriba Ir abajo
Romulo
Peón


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 48
Reputación Reputación : 0
Monedas de oro : 148
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: mi primer comentario XD Sáb Jun 24, 2017 11:52 pm

@Marcos_M escribió:
Bienvenidos!



Hoy les traigo 5 héroes de DotA, iban a ser 6, pero el Fénix es muy difícil de hacer y permitir que todo lo demás ande(hay que reducir la velocidad mínima del map a 0 y eso chocaría con los slows y muchas muchas complicaciones, o no tuve una buena idea)

IMPORTANTE: CORRESPONDEN A LA VERSION 6.78

Antes de pasar a los héroes, los requisitos de estos.

[gui]Inicializar
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Tabla hash - Create a hashtable
       Set TablaHash = (Last created hashtable)
       Set DUMMY_ID = Dummy
[/gui]

Este detonador es usado por todos los héroes, así que ya saben su importancia.

[jass]// GUI-Friendly Damage Detection -- v1.2.1 -- by Weep
//    http:// www.thehelper.net/forums/showthread.php?t=137957
//
//    Requires: only this trigger and its variables.
//
// -- What? --
//    This snippet provides a leak-free, GUI-friendly implementation of an "any unit takes
//    damage" event.  It requires no JASS knowledge to use.
//
//    It uses the Game - Value Of Real Variable event as its method of activating other
//    triggers, and passes the event responses through a few globals.
//
// -- Why? --
//    The traditional GUI method of setting up a trigger than runs when any unit is damaged
//    leaks trigger events.  This snippet is easy to implement and removes the need to do
//    you own GUI damage detection setup.
//
// -- How To Implement --
//    0. Before you copy triggers that use GDD into a new map, you need to copy over GDD
//       with its GDD Variable Creator trigger, or there will be a problem: the variables
//       won't be automatically created correctly.
//
//    1. Be sure "Automatically create unknown variables while pasting trigger data" is
//       enabled in the World Editor general preferences.
//    2. Copy this trigger category ("GDD") and paste it into your map.
//       (Alternately: create the variables listed in the globals block below, create a
//       trigger named "GUI Friendly Damage Detection", and paste in this entire text.)
//    3. Create your damage triggers using Game - Value Of Real Variable as the event,
//       select GDD_Event as the variable, and leave the rest of the settings to the default
//       "becomes Equal to 0.00".
//       The event responses are the following variables:
//          GDD_Damage is the amount of damage, replacing Event Response - Damage Taken.
//          GDD_DamagedUnit is the damaged unit, replacing Event Response - Triggering Unit.
//              Triggering Unit can still be used, if you need to use waits.
//              Read the -- Notes -- section below for more info.
//          GDD_DamageSource is the damaging unit, replacing Event Response - Damage Source.
//
// -- Notes --
//    GDD's event response variables are not wait-safe; you can't use them after a wait in
//    a trigger.  If you need to use waits, Triggering Unit (a.k.a. GetTriggerUnit()) can
//    be used in place of GDD_DamageSource.  There is no usable wait-safe equivalent to
//    Event Damage or Damage Source; you'll need to save the values yourself.
//
//    Don't write any values to the variables used as the event responses, or it will mess
//    up any other triggers using this snippet for their triggering.  Only use their values.
//
//    This uses arrays, so can detect damage for a maximum of 8190 units at a time, and
//    cleans up data at a rate of 33.33 per second, by default.  This should be enough for
//    most maps, but if you want to change the rate, change the value returned in the
//    GDD_RecycleRate function at the top of the code, below.
//
//    By default, GDD will not register units that have Locust at the moment of their
//    entering the game, and will not recognize when they take damage (which can only
//    happen if the Locust ability is later removed from the unit.)  To allow a unit to have
//    Locust yet still cause GDD damage events if Locust is removed, you can either design
//    the unit to not have Locust by default and add it via triggers after creation, or
//    edit the GDD_Filter function at the top of the code, below.
//
// -- Credits --
//    Captain Griffin on wc3c.net for the research and concept of GroupRefresh.
//
//    Credit in your map not needed, but please include this README.
//
// -- Version History --
//    1.2.1: Minor code cleaning.  Added configuration functions.  Updated documentation.
//    1.2.0: Made this snippet work properly with recursive damage.
//    1.1.1: Added a check in order to not index units with the Locust ability (dummy units).
//           If you wish to check for damage taken by a unit that is unselectable, do not
//           give the unit-type Locust in the object editor; instead, add the Locust ability
//           'Aloc' via a trigger after its creation, then remove it.
//    1.1.0: Added a check in case a unit gets moved out of the map and back.
//    1.0.0: First release.


//===================================================================
// Configurables.
function GDD_RecycleRate takes nothing returns real //The rate at which the system checks units to see if they've been removed from the game
   return 0.05
endfunction

function GDD_Filter takes unit u returns boolean //The condition a unit has to pass to have it registered for damage detection
   return GetUnitAbilityLevel(u, 'Aloc') == 0 //By default, the system ignores Locust units, because they normally can't take damage anyway
endfunction

//===================================================================
// This is just for reference.
// If you use JassHelper, you could uncomment this section instead of creating the variables in the trigger editor.

// globals
//  real udg_GDD_Event = 0.
//  real udg_GDD_Damage = 0.
//  unit udg_GDD_DamagedUnit
//  unit udg_GDD_DamageSource
//  trigger array udg_GDD__TriggerArray
//  integer array udg_GDD__Integers
//  unit array udg_GDD__UnitArray
//  group udg_GDD__LeftMapGroup = CreateGroup()
// endglobals

//===================================================================
// System code follows.  Don't touch!
function GDD_Event takes nothing returns boolean
   local unit damagedcache = udg_GDD_DamagedUnit
   local unit damagingcache = udg_GDD_DamageSource
   local real damagecache = udg_GDD_Damage
   set udg_GDD_DamagedUnit = GetTriggerUnit()
   set udg_GDD_DamageSource = GetEventDamageSource()
   set udg_GDD_Damage = GetEventDamage()
   set udg_GDD_Event = 1.
   set udg_GDD_Event = 0.
   set udg_GDD_DamagedUnit = damagedcache
   set udg_GDD_DamageSource = damagingcache
   set udg_GDD_Damage = damagecache
   set damagedcache = null
   set damagingcache = null
   return false
endfunction

function GDD_AddDetection takes nothing returns boolean
//  if(udg_GDD__Integers[0] > 8190) then
//      call BJDebugMsg("GDD: Too many damage events!  Decrease number of units present in the map or increase recycle rate.")
//      ***Recycle rate is specified in the GDD_RecycleRate function at the top of the code.  Smaller is faster.***
//      return
//  endif
   if(IsUnitInGroup(GetFilterUnit(), udg_GDD__LeftMapGroup)) then
       call GroupRemoveUnit(udg_GDD__LeftMapGroup, GetFilterUnit())
   elseif(GDD_Filter(GetFilterUnit())) then
       set udg_GDD__Integers[0] = udg_GDD__Integers[0]+1
       set udg_GDD__UnitArray[udg_GDD__Integers[0]] = GetFilterUnit()
       set udg_GDD__TriggerArray[udg_GDD__Integers[0]] = CreateTrigger()
       call TriggerRegisterUnitEvent(udg_GDD__TriggerArray[udg_GDD__Integers[0]], udg_GDD__UnitArray[udg_GDD__Integers[0]], EVENT_UNIT_DAMAGED)
       call TriggerAddCondition(udg_GDD__TriggerArray[udg_GDD__Integers[0]], Condition(function GDD_Event))
   endif
   return false
endfunction

function GDD_PreplacedDetection takes nothing returns nothing
   local group g = CreateGroup()
   local integer i = 0
   loop
       call GroupEnumUnitsOfPlayer(g, Player(i), Condition(function GDD_AddDetection))
       set i = i+1
       exitwhen i == bj_MAX_PLAYER_SLOTS
   endloop
   call DestroyGroup(g)
   set g = null
endfunction

function GDD_GroupRefresh takes nothing returns nothing
// Based on GroupRefresh by Captain Griffen on wc3c.net
   if (bj_slotControlUsed[5063] == true) then
       call GroupClear(udg_GDD__LeftMapGroup)
       set bj_slotControlUsed[5063] = false
   endif
   call GroupAddUnit(udg_GDD__LeftMapGroup, GetEnumUnit())
endfunction

function GDD_Recycle takes nothing returns nothing
   if(udg_GDD__Integers[0] <= 0) then
       return
   elseif(udg_GDD__Integers[1] <= 0) then
       set udg_GDD__Integers[1] = udg_GDD__Integers[0]
   endif
   if(GetUnitTypeId(udg_GDD__UnitArray[udg_GDD__Integers[1]]) == 0) then
       call DestroyTrigger(udg_GDD__TriggerArray[udg_GDD__Integers[1]])
       set udg_GDD__TriggerArray[udg_GDD__Integers[1]] = null
       set udg_GDD__TriggerArray[udg_GDD__Integers[1]] = udg_GDD__TriggerArray[udg_GDD__Integers[0]]
       set udg_GDD__UnitArray[udg_GDD__Integers[1]] = udg_GDD__UnitArray[udg_GDD__Integers[0]]
       set udg_GDD__UnitArray[udg_GDD__Integers[0]] = null
       set udg_GDD__Integers[0] = udg_GDD__Integers[0]-1
   endif
   set udg_GDD__Integers[1] = udg_GDD__Integers[1]-1
endfunction

function GDD_LeaveMap takes nothing returns boolean
   local boolean cached = bj_slotControlUsed[5063]
   if(udg_GDD__Integers[2] < 64) then
       set udg_GDD__Integers[2] = udg_GDD__Integers[2]+1
   else
       set bj_slotControlUsed[5063] = true
       call ForGroup(udg_GDD__LeftMapGroup, function GDD_GroupRefresh)
       set udg_GDD__Integers[2] = 0
   endif
   call GroupAddUnit(udg_GDD__LeftMapGroup, GetFilterUnit())
   set bj_slotControlUsed[5063] = cached
   return false
endfunction

// ===========================================================================
function InitTrig_GUI_Friendly_Damage_Detection takes nothing returns nothing
   local region r = CreateRegion()
   call RegionAddRect(r, GetWorldBounds())
   call TriggerRegisterEnterRegion(CreateTrigger(), r, Condition(function GDD_AddDetection))
   call TriggerRegisterLeaveRegion(CreateTrigger(), r, Condition(function GDD_LeaveMap))
   call GDD_PreplacedDetection()
   call TimerStart(CreateTimer(), GDD_RecycleRate(), true, function GDD_Recycle)
   set r = null
endfunction[/jass]

Crean las variables del sistema con esto

[gui]GDD Variable Creator
   Acontecimientos
   Condiciones
   Acciones
       Set GDD_Event = 0.00
       Set GDD_Damage = 0.00
       Set GDD_DamagedUnit = Ninguna unidad
       Set GDD_DamageSource = Ninguna unidad
       Set GDD__TriggerArray[0] = (This trigger)
       Set GDD__Integers[0] = 0
       Set GDD__UnitArray[0] = Ninguna unidad
       Set GDD__LeftMapGroup = GDD__LeftMapGroup
[/gui]

Unit Invisible
[jass]function UnitInvisible takes unit u returns boolean
   return GetUnitAbilityLevel(u,'Agho')>0 or GetUnitAbilityLevel(u,'Apiv')>0 or GetUnitAbilityLevel(u,'BOwk')>0 or GetUnitAbilityLevel(u,'Binv')>0 or (GetUnitAbilityLevel(u, 'Ashm')>0 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) > 18.00 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) < 6.00 and OrderId2String(GetUnitCurrentOrder(u)) == "ambush") or (GetUnitAbilityLevel(u, 'Sshm')>0 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) > 18.00 and GetFloatGameState(GAME_STATE_TIME_OF_DAY) < 6.00 and OrderId2String(GetUnitCurrentOrder(u)) == "ambush")
endfunction[/jass]

Esta función es solo utilizada por el Bloodseeker y su spell Thirst. Pueden agregar nuevos buffs de invisibles colocando en la línea del return esto [ljass] and GetUnitAbilityLevel(u,rawcode)[/ljass]. Si quieren saber el rawcode de sus buffs tienes que ir al editor de objetos y en Ver colocar Mostrar valores brutos. Luego solo colocan el rawcode entre ''

AddSpecialEffectTargetForPlayer
[jass]function AddSpecialEffectTargetForPlayer takes string modelName, widget targetWidget, string attachPoint, player whichPlayer returns effect
   local string s = ""
   
   if GetLocalPlayer() == whichPlayer or IsPlayerAlly(GetLocalPlayer(), whichPlayer) then
       set s = modelName
   endif
   
   return AddSpecialEffectTarget(s,targetWidget, attachPoint)
endfunction[/jass]

Esta función es usada por Spiritbreaker en Charge of Darkness y Sniper en Assassinate.


Bloodseeker


Detonador de constantes:
[gui]Constantes Hablidades Bloodseeker
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Blood Bath ------------------ --------
       Set BloodBath_Ability = Blood Bath
       -------- ------------ Blood Rage ------------------ --------
       Set BloodRage_Ability = Bloodrage
       -------- ------------ Rupture ------------------ --------
       Set Rupture_Ability = Rupture
       -------- ------------ Thirst ------------------ --------
       -------- Estos 2 deben ser iguales para que todo funcione --------
       Set Thirst_Ability = Thirst
       Set Thirst_AbilityHer = Thirst
       Set Thirst_AumentoArmor_Ability = Thirst Armor Dummy
       Set Thirst_AumentoMS_Ability = Thirst Dummy
       Set Thirst_LibroConjuros_Ability = Libro Thirst
       Set Thirst_UnidadDummy = DummyVisionThirst
        Do Multiple ActionsFor each (Integer A) from 1 to 12, do (Actions)
           Bucle: Acciones
               Jugador - Desactivar Thirst_LibroConjuros_Ability for (Player((Integer A)))
[/gui]

Bloodrage: Drives a unit into a bloodthristy rage. That unit is unable to cast spells, has its attack damage increased, and loses a small amount of hit points every second.

[gui]Bloodrage
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) BloodRage_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ((Target unit of ability being cast) belongs to an enemy of (Triggering player)) Igual a (==) True
           Entonces: Acciones
               Unidad - Remove Positivo buffs considered Mágico from (Target unit of ability being cast) (Incluir expiration timers, Excluir auras)
               Unidad - Remove Desaparición buff from (Target unit of ability being cast)
           Otros: Acciones
               Unidad - Remove Negativo buffs considered Mágico from (Target unit of ability being cast) (Incluir expiration timers, Excluir auras)
[/gui]

Blood bath: Whenever Strygwyr kills a unit, he bathes himself in the blood, regenerating his life source.

[gui]Blood Bath
   Acontecimientos
       Unidad - A unit Muere
   Condiciones
       ((Triggering unit) is Una estructura) Igual a (==) False
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ((Triggering unit) is Un hé️roe) Igual a (==) True
           Entonces: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Level of BloodBath_Ability for (Killing unit)) Mayor que (>) 0
                   Entonces: Acciones
                       Set Real = ((Vida máx. of (Triggering unit)) x (0.10 x (Real((Level of BloodBath_Ability for (Killing unit))))))
                       Unidad - Set life of (Killing unit) to ((Vida of (Killing unit)) + Real)
                       Efecto especial - Create a special effect attached to the origin of (Killing unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl
                       Efecto especial - Destroy (Last created special effect)
                   Otros: Acciones
                       Set Punto = (Position of (Triggering unit))
                       Custom script:   set bj_wantDestroyGroup = true
                       Grupo de unidad - Pick every unit in (Units within 325.00 of Punto matching (((Level of BloodBath_Ability for (Matching unit)) Mayor que (>) 0) and (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Igual a (==) True))) and do (Actions)
                           Bucle: Acciones
                               Set Real = ((Vida máx. of (Triggering unit)) x (0.05 x (Real((Level of BloodBath_Ability for (Picked unit))))))
                               Unidad - Set life of (Picked unit) to ((Vida of (Picked unit)) + Real)
                       Custom script:   call RemoveLocation(udg_Punto)
           Otros: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Level of BloodBath_Ability for (Killing unit)) Mayor que (>) 0
                   Entonces: Acciones
                       Set Real = ((Vida máx. of (Triggering unit)) x (0.05 + (0.05 x (Real((Level of BloodBath_Ability for (Killing unit)))))))
                       Unidad - Set life of (Killing unit) to ((Vida of (Killing unit)) + Real)
                       Efecto especial - Create a special effect attached to the origin of (Killing unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl
                       Efecto especial - Destroy (Last created special effect)
                   Otros: Acciones
[/gui]

Thirst: Enables Strygwyr to sense the bleeding of any enemy hero below 20/30/40/50% hp. If he finds one, Strygwyr gains vision of that unit and increased movement speed and armor.

[gui]Thirst
   Acontecimientos
       Unidad - A unit Adquiere una habilidad
   Condiciones
       (Learned Hero Skill) Igual a (==) Thirst_AbilityHer
       (Learned skill level) Igual a (==) 1
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               ST_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on ThirstLoop
           Otros: Acciones
       Set ST_Enteros[1] = (ST_Enteros[1] + 1)
       Set ST_Enteros[2] = (ST_Enteros[2] + 1)
       Set ST_Caster[ST_Enteros[2]] = (Triggering unit)
       Set ST_AoE[ST_Enteros[2]] = 6000.00
       Set ST_Instancia[ST_Enteros[2]] = 0
[/gui]

[gui]ThirstLoop
   Acontecimientos
       Tiempo - Every 0.20 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer ST_Enteros[3]) from 1 to ST_Enteros[2], do (Actions)
           Bucle: Acciones
               Set ST_Instancia[ST_Enteros[3]] = (ST_Instancia[ST_Enteros[3]] + 1)
               Set Entero2 = (Level of Thirst_Ability for ST_Caster[ST_Enteros[3]])
               Set Punto = (Position of ST_Caster[ST_Enteros[3]])
               Set Grupo = (Units within 99999.00 of Punto matching (((((Matching unit) is Un hé️roe) Igual a (==) True) and (((Matching unit) is an illusion) Igual a (==) False)) and ((((Matching unit) is dead) Igual a (==) False) and (((Matching unit) belongs to an enemy of (Owner of
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (ST_Caster[ST_Enteros[3]] is dead) Igual a (==) True
                   Entonces: Acciones
                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                           Bucle: Acciones
                               Set Dummy = (Load (Key ThirstDummy) of (Key (Picked unit)) in TablaHash)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Dummy No igual a (!=) Ninguna unidad
                                   Entonces: Acciones
                                       Unidad - Remove Dummy from the game
                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                   Otros: Acciones
                               Grupo de unidad - Remove (Picked unit) from Grupo
                   Otros: Acciones
                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                           Bucle: Acciones
                               Set Dummy = (Load (Key ThirstDummy) of (Key (Picked unit)) in TablaHash)
                               Set Punto2 = (Position of (Picked unit))
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (10.00 + (10.00 x (Real(Entero2))))
                                       (Distance between Punto and Punto2) Menor que o igual a (<=) ST_AoE[ST_Enteros[3]]
                                   Entonces: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Dummy Igual a (==) Ninguna unidad
                                           Entonces: Acciones
                                               Custom script:   if UnitInvisible(GetEnumUnit()) then
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (5.00 + (5.00 x (Real(Entero2))))
                                                   Entonces: Acciones
                                                       Unidad - Create 1 Thirst_UnidadDummy for (Owner of ST_Caster[ST_Enteros[3]]) at Punto2 facing Vista edificio predeterminada (270.0) degrees
                                                       Set Dummy = (Last created unit)
                                                       Tabla hash - Save Handle Of(Last created unit) as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Unidad - Add Vista certera (Neutral 1) to Dummy
                                                   Otros: Acciones
                                                       Unidad - Remove Dummy from the game
                                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                                       Grupo de unidad - Remove (Picked unit) from Grupo
                                               Custom script:   else
                                               Unidad - Create 1 Thirst_UnidadDummy for (Owner of ST_Caster[ST_Enteros[3]]) at Punto2 facing Vista edificio predeterminada (270.0) degrees
                                               Set Dummy = (Last created unit)
                                               Tabla hash - Save Handle Of(Last created unit) as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                               Custom script:   endif
                                           Otros: Acciones
                                               Unidad - Move Dummy instantly to Punto2
                                               Custom script:   if UnitInvisible(GetEnumUnit()) then
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (Percentage life of (Picked unit)) Menor que o igual a (<=) (5.00 + (5.00 x (Real(Entero2))))
                                                   Entonces: Acciones
                                                       Unidad - Add Vista certera (Neutral 1) to Dummy
                                                   Otros: Acciones
                                                       Unidad - Remove Dummy from the game
                                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                                       Grupo de unidad - Remove (Picked unit) from Grupo
                                               Custom script:   endif
                                   Otros: Acciones
                                       Unidad - Remove Dummy from the game
                                       Tabla hash - Save Handle OfNinguna unidad as (Key ThirstDummy) of (Key (Picked unit)) in TablaHash
                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(GetEnumUnit()),StringHash("ThirstDummy"))
                                       Grupo de unidad - Remove (Picked unit) from Grupo
                               Custom script:   call RemoveLocation(udg_Punto2)
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Number of units in Grupo) Mayor que (>) 0
                   Entonces: Acciones
                       Unidad - Add Thirst_LibroConjuros_Ability to ST_Caster[ST_Enteros[3]]
                       Unidad - Set level of Thirst_AumentoMS_Ability for ST_Caster[ST_Enteros[3]] to Entero2
                       Unidad - Set level of Thirst_AumentoArmor_Ability for ST_Caster[ST_Enteros[3]] to Entero2
                   Otros: Acciones
                       Unidad - Remove Thirst_LibroConjuros_Ability from ST_Caster[ST_Enteros[3]]
               Custom script:   call DestroyGroup(udg_Grupo)
               Custom script:   call RemoveLocation(udg_Punto)
[/gui]

Rupture: Deals a mighty blow to the enemy causing any movement to result in bleeding and loss of life.

[gui]Rupture Init
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Rupture_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               R_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Rupture Loop
           Otros: Acciones
       Set R_Enteros[1] = (R_Enteros[1] + 1)
       Set R_Enteros[2] = (R_Enteros[2] + 1)
       Set R_Caster[R_Enteros[2]] = (Triggering unit)
       Set R_Target[R_Enteros[2]] = (Target unit of ability being cast)
       Set R_Percentage[R_Enteros[2]] = (0.20 x (Real((Level of (Ability being cast) for (Triggering unit)))))
       Set R_PuntoInit[R_Enteros[2]] = (Position of (Target unit of ability being cast))
       Set R_Tiempo[R_Enteros[2]] = (6.00 + (Real((Level of (Ability being cast) for (Triggering unit)))))
       Set Real = (50.00 + (100.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Vida of (Target unit of ability being cast)) Mayor que (>) Real
           Entonces: Acciones
               Unidad - Set life of (Target unit of ability being cast) to ((Vida of (Target unit of ability being cast)) - Real)
           Otros: Acciones
               Unidad - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing 9999.00 damage of attack type Caos and damage type Desconocido
[/gui]

[gui]Rupture Loop
   Acontecimientos
       Tiempo - Every 0.25 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer R_Enteros[3]) from 1 to R_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       R_Caster[R_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set R_Tiempo[R_Enteros[3]] = (R_Tiempo[R_Enteros[3]] - 0.25)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               R_Tiempo[R_Enteros[3]] Menor que (<) 0.01
                           Entonces: Acciones
                               Set R_Caster[R_Enteros[3]] = Ninguna unidad
                               Set R_Enteros[1] = (R_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       R_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set R_Enteros[2] = 0
                                   Otros: Acciones
                           Otros: Acciones
                               Set Punto = (Position of R_Target[R_Enteros[3]])
                               Set Real = (Distance between Punto and R_PuntoInit[R_Enteros[3]])
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Real Menor que (<) 1300.00
                                       Real Mayor que (>) 0.00
                                   Entonces: Acciones
                                       Efecto especial - Create a special effect attached to the chest of R_Target[R_Enteros[3]] using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
                                       Efecto especial - Destroy (Last created special effect)
                                       Set Damage = (Real x R_Percentage[R_Enteros[3]])
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Vida of R_Target[R_Enteros[3]]) Menor que (<) Damage
                                           Entonces: Acciones
                                               Unidad - Cause R_Caster[R_Enteros[3]] to damage R_Target[R_Enteros[3]], dealing 9999.00 damage of attack type Caos and damage type Desconocido
                                           Otros: Acciones
                                               Unidad - Set life of R_Target[R_Enteros[3]] to ((Vida of R_Target[R_Enteros[3]]) - Damage)
                                   Otros: Acciones
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_R_PuntoInit[udg_R_Enteros[3]])
                               Set R_PuntoInit[R_Enteros[3]] = (Position of R_Target[R_Enteros[3]])
                   Otros: Acciones
[/gui]



Detonador de Constantes:
[gui]Constantes Habilidades Barathrum
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Charge of Darkness ------------------ --------
       Set ChargeOfDarkness_Ability = Charge of Darkness
       Set ChargeOfDarkness_DummyHabi = StunDummy Charge Of Darkness
       Set ChargeOfDarkness_ModelEffect = channel
       Set ChargeOfDarkness_ModelEffect = Abilities\Spells\Other\HowlOfTerror\HowlTarget.mdl
       -------- ------------ Greater Bash ------------------ --------
       Set GreaterBash_Ability = Greater Bash
       Set GreaterBash_HabiAumentoMS = Increase MS Greater Bash
       Set GreaterBash_ModelEffectFrictio = Abilities\Spells\Human\FlakCannons\FlakTarget.mdl
       -------- ------------ Nether Strike ------------------ --------
       Set NetherStrike_Ability = Nether Strike
[/gui]

Requisito para Greater Bash's:
[gui]Do a Greater Bash
   Acontecimientos
   Condiciones
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               GB_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Greater Loop
           Otros: Acciones
       Set GB_Enteros[1] = (GB_Enteros[1] + 1)
       Set GB_Enteros[2] = (GB_Enteros[2] + 1)
       Set GB_Caster[GB_Enteros[2]] = GB_Caster[0]
       Set GB_Duracion[GB_Enteros[2]] = GB_Duracion[0]
       Set GB_Target[GB_Enteros[2]] = GB_Target[0]
       Set GB_Speed[GB_Enteros[2]] = ((150.00 / GB_Duracion[0]) / 25.00)
       Set GB_Punto = (Position of GB_Caster[0])
       Set GB_Punto2 = (Position of GB_Target[0])
       Set GB_Angulo[GB_Enteros[2]] = (Angle from GB_Punto to GB_Punto2)
       Unidad - Cause GB_Caster[0] to damage GB_Target[0], dealing ((Current movement speed of GB_Caster[0]) x (0.10 x (Real((Level of GreaterBash_Ability for GB_Caster[0]))))) damage of attack type Conjuros and damage type Normal
       Unidad - Set the custom value of GB_Target[0] to 1
       Custom script:   call RemoveLocation(udg_GB_Punto)
       Custom script:   call RemoveLocation(udg_GB_Punto2)
[/gui]

[gui]Greater Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer GB_Enteros[3]) from 1 to GB_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       GB_Caster[GB_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set GB_Duracion[GB_Enteros[3]] = (GB_Duracion[GB_Enteros[3]] - 0.04)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               GB_Duracion[GB_Enteros[3]] Mayor que o igual a (>=) 0.01
                           Entonces: Acciones
                               Set Punto = (Position of GB_Target[GB_Enteros[3]])
                               Set Punto2 = (Punto offset by GB_Speed[GB_Enteros[3]] towards GB_Angulo[GB_Enteros[3]] degrees)
                               Efecto especial - Create a special effect at Punto2 using GreaterBash_ModelEffectFrictio
                               Efecto especial - Destroy (Last created special effect)
                               Unidad - Move GB_Target[GB_Enteros[3]] instantly to Punto2
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_Punto2)
                           Otros: Acciones
                               Unidad - Set the custom value of GB_Target[GB_Enteros[3]] to 0
                               Set GB_Caster[GB_Enteros[3]] = Ninguna unidad
                               Set GB_Enteros[1] = (GB_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       GB_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set GB_Enteros[2] = 0
                                   Otros: Acciones
                   Otros: Acciones
[/gui]

Charge of Darkness: Barathrum fixes his sight on an enemy and starts charging through all objects. Any unit that comes into contact during the charge is hit by a Greater Bash, including the target. Upon leaving the shadows, Barathrum shocks his opponent into an immobile state for some time. Charge is interrupted if disabled.

[gui]Charge of Darkness
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) ChargeOfDarkness_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               CD_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on ChargeOfDarkness
           Otros: Acciones
       Set CD_Enteros[1] = (CD_Enteros[1] + 1)
       Set CD_Enteros[2] = (CD_Enteros[2] + 1)
       Set CD_Booleana[CD_Enteros[2]] = False
       Set CD_Caster[CD_Enteros[2]] = (Triggering unit)
       Set CD_Target[CD_Enteros[2]] = (Target unit of ability being cast)
       Set CD_Speed[CD_Enteros[2]] = ((550.00 + (50.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))) / 25.00)
       Custom script:   set udg_CD_Efecto[udg_CD_Enteros[2]] = AddSpecialEffectTargetForPlayer( udg_ChargeOfDarkness_ModelEffect, GetSpellTargetUnit(), "overhead", GetTriggerPlayer() )
       Custom script:   call SetUnitAnimationByIndex(GetTriggerUnit(), 2)
       Animación - Change (Triggering unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 40.00% transparency
       Efecto especial - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Orc\Shockwave\ShockwaveMissile.mdl
       Set CD_Efecto2[CD_Enteros[2]] = (Last created special effect)
[/gui]

[gui]ChargeOfDarkness
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
       Custom script:   local real x
       Custom script:   local real y
        Do Multiple ActionsFor each (Integer CD_Enteros[3]) from 1 to CD_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       CD_Caster[CD_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                                Multiple ConditionsAnd - All (Conditions) are true
                                   Condiciones
                                       (Current order of CD_Caster[CD_Enteros[3]]) No igual a (!=) (Order(ChargeOfDarkness_ModelEffect))
                           Entonces: Acciones
                               Set CD_Booleana[CD_Enteros[3]] = True
                           Otros: Acciones
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               (CD_Caster[CD_Enteros[3]] is dead) Igual a (==) False
                           Entonces: Acciones
                               Set Punto = (Position of CD_Caster[CD_Enteros[3]])
                               Set Punto2 = (Position of CD_Target[CD_Enteros[3]])
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (CD_Target[CD_Enteros[3]] is dead) Igual a (==) True
                                   Entonces: Acciones
                                       Set CD_Booleana[CD_Enteros[3]] = True
                                       Custom script:   set bj_wantDestroyGroup = true
                                       Grupo de unidad - Pick every unit in (Units within 4000.00 of Punto2 matching ((((Matching unit) is dead) Igual a (==) False) and ((((Matching unit) is Una estructura) Igual a (==) False) and ((((Matching unit) is visible to (Owner of CD_Caster[CD_Enteros[3]])) Igual a (==) True) and (((Matching and do (Actions)
                                           Bucle: Acciones
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (CD_Target[CD_Enteros[3]] is dead) Igual a (==) True
                                                   Entonces: Acciones
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               (Picked unit) No igual a (!=) Ninguna unidad
                                                           Entonces: Acciones
                                                               Efecto especial - Destroy CD_Efecto[CD_Enteros[3]]
                                                               Set CD_Target[CD_Enteros[3]] = (Picked unit)
                                                               Custom script:   set udg_CD_Efecto[udg_CD_Enteros[3]] = AddSpecialEffectTargetForPlayer( udg_ChargeOfDarkness_ModelEffect, GetEnumUnit(), "overhead", GetOwningPlayer(udg_CD_Caster[udg_CD_Enteros[3]]) )
                                                               Custom script:   call RemoveLocation(udg_Punto2)
                                                               Set Punto2 = (Position of CD_Target[CD_Enteros[3]])
                                                               Set CD_Booleana[CD_Enteros[3]] = False
                                                           Otros: Acciones
                                                   Otros: Acciones
                                   Otros: Acciones
                               Set Real = (Angle from Punto to Punto2)
                               Set Punto3 = (Punto offset by CD_Speed[CD_Enteros[3]] towards Real degrees)
                               Custom script:   set x = GetLocationX(udg_Punto3)
                               Custom script:   set y = GetLocationY(udg_Punto3)
                               Unidad - Make CD_Caster[CD_Enteros[3]] face Real over 0.00 seconds
                               Custom script:   call SetUnitX(udg_CD_Caster[udg_CD_Enteros[3]], x)
                               Custom script:   call SetUnitY(udg_CD_Caster[udg_CD_Enteros[3]], y)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]]) Mayor que (>) 0
                                   Entonces: Acciones
                                       Set Grupo = (Units within 300.00 of Punto3 matching ((((Matching unit) is Una estructura) Igual a (==) False) and ((((((Matching unit) is dead) Igual a (==) False) and ((Custom value of (Matching unit)) Igual a (==) 0)) and ((Matching unit) No igual a (!=) CD_Target[CD_E
                                       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]])))))
                                       Set GB_Caster[0] = CD_Caster[CD_Enteros[3]]
                                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                                           Bucle: Acciones
                                               Set GB_Target[0] = (Picked unit)
                                               Detonador - Run Do a Greater Bash (ignoring conditions)
                                   Otros: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Distance between Punto and Punto2) Menor que o igual a (<=) 128.00
                                   Entonces: Acciones
                                       Set CD_Booleana[CD_Enteros[3]] = True
                                       Unidad - Create 1 DUMMY_ID for (Owner of CD_Caster[CD_Enteros[3]]) at Punto3 facing Real degrees
                                       Unidad - Add ChargeOfDarkness_DummyHabi to (Last created unit)
                                       Unidad - Set level of ChargeOfDarkness_DummyHabi for (Last created unit) to (Level of ChargeOfDarkness_Ability for CD_Caster[CD_Enteros[3]])
                                       Unidad - Order (Last created unit) to Humano Rey de la Montaña: Rayo de tormenta CD_Target[CD_Enteros[3]]
                                       Unidad - Add a 1.00 second Gené️rico expiration timer to (Last created unit)
                                       Unidad - Cause CD_Caster[CD_Enteros[3]] to damage CD_Target[CD_Enteros[3]], dealing ((Current movement speed of CD_Caster[CD_Enteros[3]]) x (0.10 x (Real((Level of GreaterBash_Ability for CD_Caster[CD_Enteros[3]]))))) damage of attack type Conjuros and damage type Normal
                                       Unidad - Order CD_Caster[CD_Enteros[3]] to Atacar CD_Target[CD_Enteros[3]]
                                   Otros: Acciones
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_Punto2)
                               Custom script:   call RemoveLocation(udg_Punto3)
                           Otros: Acciones
                               Set CD_Booleana[CD_Enteros[3]] = True
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               CD_Booleana[CD_Enteros[3]] Igual a (==) True
                           Entonces: Acciones
                               Animación - Change CD_Caster[CD_Enteros[3]]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                               Efecto especial - Destroy CD_Efecto[CD_Enteros[3]]
                               Efecto especial - Destroy CD_Efecto2[CD_Enteros[3]]
                               Set CD_Caster[CD_Enteros[3]] = Ninguna unidad
                               Set CD_Enteros[1] = (CD_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       CD_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set CD_Enteros[2] = 0
                                   Otros: Acciones
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Empowering Haste: His presence increases the movement speed of nearby allied units.

Greater Bash: Gives a 17% chance to bash enemies across the ground, doing more initial damage and damage as they skid. You gain 15% movement speed bonus for 3 seconds when this triggers.

[gui]Greater Bash
   Acontecimientos
       Unidad - A unit Es atacado
   Condiciones
       (Level of GreaterBash_Ability for (Attacking unit)) Mayor que (>) 0
       ((Triggering unit) is Una estructura) Igual a (==) False
       (Random integer number between 1 and 100) Menor que o igual a (<=) 17
       (Custom value of (Triggering unit)) Igual a (==) 0
   Acciones
       Efecto especial - Create a special effect attached to the hand, right of (Attacking unit) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile_mini.mdl
       Efecto especial - Destroy (Last created special effect)
       Set Punto = (Position of (Triggering unit))
       Unidad - Create 1 DUMMY_ID for (Owner of (Attacking unit)) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add GreaterBash_HabiAumentoMS to (Last created unit)
       Unidad - Add a 1.00 second Gené️rico expiration timer to (Last created unit)
       Unidad - Order (Last created unit) to Orco Chamán: Sed de sangre (Attacking unit)
       Set GB_Caster[0] = (Attacking unit)
       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for (Attacking unit))))))
       Set GB_Target[0] = (Triggering unit)
       Detonador - Run Do a Greater Bash (ignoring conditions)
[/gui]

Nether Strike: Moves you next to your target doing extra damage. Performs a greater bash hit. Casting range improves per level.

[gui]Nether Strike
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
       Set NS_Enteros[1] = (NS_Enteros[1] + 1)
       Set NS_Enteros[2] = (NS_Enteros[2] + 1)
       Set NS_Caster[NS_Enteros[2]] = (Triggering unit)
       Set NS_Target[NS_Enteros[2]] = (Target unit of ability being cast)
       Set NS_Damage[NS_Enteros[2]] = (50.00 + (100.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
[/gui]

[gui]Nether Strike Finaliza
   Acontecimientos
       Unidad - A unit Finaliza el lanzamiento de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
       Custom script:   local real x
       Custom script:   local real y
        Do Multiple ActionsFor each (Integer NS_Enteros[3]) from 1 to NS_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Triggering unit) Igual a (==) NS_Caster[NS_Enteros[3]]
                   Entonces: Acciones
                       Set Punto = (Position of NS_Target[NS_Enteros[3]])
                       Set Punto2 = (Position of NS_Caster[NS_Enteros[3]])
                       Set Punto3 = (Punto offset by 128.00 towards (Angle from Punto2 to Punto) degrees)
                       Custom script:   set x = GetLocationX(udg_Punto3)
                       Custom script:   set y = GetLocationY(udg_Punto3)
                       Custom script:   call SetUnitX(udg_NS_Caster[udg_NS_Enteros[3]], x)
                       Custom script:   call SetUnitY(udg_NS_Caster[udg_NS_Enteros[3]], y)
                       Unidad - Make NS_Caster[NS_Enteros[3]] face Punto over 0.00 seconds
                       Animación - Play NS_Caster[NS_Enteros[3]]'s attack animation
                       Unidad - Cause NS_Caster[NS_Enteros[3]] to damage NS_Target[NS_Enteros[3]], dealing NS_Damage[NS_Enteros[3]] damage of attack type Conjuros and damage type Normal
                       Set GB_Caster[0] = NS_Caster[NS_Enteros[3]]
                       Set GB_Target[0] = NS_Target[NS_Enteros[3]]
                       Set GB_Duracion[0] = (0.80 + (0.20 x (Real((Level of GreaterBash_Ability for GB_Caster[0])))))
                       Detonador - Run Do a Greater Bash (ignoring conditions)
                   Otros: Acciones
[/gui]

[gui]Nether Strike Detiene
   Acontecimientos
       Unidad - A unit Detiene el lanzamiento de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) NetherStrike_Ability
   Acciones
        Do Multiple ActionsFor each (Integer NS_Enteros[3]) from 1 to NS_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Triggering unit) Igual a (==) NS_Caster[NS_Enteros[3]]
                   Entonces: Acciones
                       Set NS_Caster[NS_Enteros[3]] = Ninguna unidad
                       Set NS_Enteros[1] = (NS_Enteros[1] - 1)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               NS_Enteros[1] Igual a (==) 0
                           Entonces: Acciones
                               Set NS_Enteros[2] = 0
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Very Happy Very Happy Very Happy
Volver arriba Ir abajo
gutyra
Iniciado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 2
Reputación Reputación : 0
Monedas de oro : 2
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: RE: Mar Jul 11, 2017 3:02 pm

Muy bien! Very Happy
Volver arriba Ir abajo
KaelthaZz
Aprendiz


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 16
Reputación Reputación : 2
Monedas de oro : 79
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Mar Jul 11, 2017 9:34 pm

buen aporte
Volver arriba Ir abajo
Marcusdramus
Caballero
avatar


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 318
Reputación Reputación : 8
Monedas de oro : 1417
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Sáb Nov 11, 2017 6:34 pm

Gracias Marcos
Volver arriba Ir abajo
Magemerald
Aprendiz


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 20
Reputación Reputación : 2
Monedas de oro : 22
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Sáb Ene 13, 2018 4:15 pm

A ver que tal
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: [PACK] Héroes de DotA

Volver arriba Ir abajo
 

[PACK] Héroes de DotA

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 2 de 3.Ir a la página : Precedente  1, 2, 3  Siguiente

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Proyectos/Propuestas :: Héroes-