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 : 1, 2, 3  Siguiente
AutorMensaje
Marcos_M

avatar


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

Mensajes Mensajes : 3062
Reputación Reputación : 511
Monedas de oro : 9495
Monedas de Platino : 0

Inventario :



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

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
Marcos_M

avatar


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

Mensajes Mensajes : 3062
Reputación Reputación : 511
Monedas de oro : 9495
Monedas de Platino : 0

Inventario :



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

Guardian Wisp


Detonador de Constantes:
[gui]Constantes Habilidades Wisp
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Tether ------------------ --------
       Set Tether_Ability = Tether
       Set Tether_CancelAbility = Cancel Tether
       Set Tether_AbilityDummy = Tether Dummy
       Set Tether_AbilityStun = StunDummy Tether
       -------- ------------ Spirits ------------------ --------
       Set Spirits_Ability = Spirits
       Set Spirits_PullOut = Push out
       Set Spirits_PushIn = Push in
       -------- ------------ Overcharge ------------------ --------
       Set Overcharge_Ability = Overcharge
       Set Overcharge_AbilityDummy = OverChargeDummy (Guantes de Presteza)
       Set Overcharge_Buff = Overcharge
       -------- ------------ Relocate ------------------ --------
       Set Relocate_Ability = Relocate
[/gui]

Tether: Io tethers himself to an allied unit, granting both units bonus movement speed. Any enemy units that contact the tether will be slowed. The tether will break if it stretches beyond 900 units. Lasts 12 seconds.

[gui]Tether Init
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Tether_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               Teth_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Tether Loop
           Otros: Acciones
       Set Teth_Enteros[1] = (Teth_Enteros[1] + 1)
       Set Teth_Enteros[2] = (Teth_Enteros[2] + 1)
       Custom script:   set udg_Teth_Grupo[udg_Teth_Enteros[2]] = CreateGroup()
       Set Teth_Caster[Teth_Enteros[2]] = (Triggering unit)
       Set Teth_Target[Teth_Enteros[2]] = (Target unit of ability being cast)
       Set Punto = (Position of (Triggering unit))
       Set Punto2 = (Position of (Target unit of ability being cast))
       Rayo - Create a Cadena de relámpagos - Principal lightning effect from source Punto to target Punto2
       Rayo - Change color of (Last created lightning effect) to (0.50 0.50 1.00) with 1.00 alpha
       Set Teth_Rayo[Teth_Enteros[2]] = (Last created lightning effect)
       Set Teth_Duracion[Teth_Enteros[2]] = 12.00
       Set Teth_Life[Teth_Enteros[2]] = (Vida of (Triggering unit))
       Set Teth_Mana[Teth_Enteros[2]] = (Maná of (Triggering unit))
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Distance between Punto and Punto2) Mayor que o igual a (>=) 700.00
           Entonces: Acciones
               Set Teth_Boolean[Teth_Enteros[2]] = True
           Otros: Acciones
               Set Teth_Boolean[Teth_Enteros[2]] = False
       Jugador - Desactivar Tether_Ability for (Triggering player)
       Unidad - Add Tether_CancelAbility to (Triggering unit)
       Unidad - Create 1 DUMMY_ID for (Triggering player) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add a 1.00 second Genérico expiration timer to (Last created unit)
       Unidad - Add Tether_AbilityDummy to (Last created unit)
       Unidad - Order (Last created unit) to Orco Chamán: Sed de sangre (Triggering unit)
       Unidad - Create 1 DUMMY_ID for (Triggering player) at Punto facing Vista edificio predeterminada (270.0) degrees
       Unidad - Add Tether_AbilityDummy 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 (Target unit of ability being cast)
       Custom script:   call RemoveLocation(udg_Punto)
       Custom script:   call RemoveLocation(udg_Punto2)
[/gui]

[gui]Tether Loop
   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 Teth_Enteros[3]) from 1 to Teth_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       Teth_Caster[Teth_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set Teth_Duracion[Teth_Enteros[3]] = (Teth_Duracion[Teth_Enteros[3]] - 0.04)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               Teth_Duracion[Teth_Enteros[3]] Mayor que o igual a (>=) 0.01
                           Entonces: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Vida of Teth_Caster[Teth_Enteros[3]]) Mayor que (>) Teth_Life[Teth_Enteros[3]]
                                   Entonces: Acciones
                                       Set Real = (((Vida of Teth_Caster[Teth_Enteros[3]]) - Teth_Life[Teth_Enteros[3]]) x 1.50)
                                       Unidad - Set life of Teth_Target[Teth_Enteros[3]] to ((Vida of Teth_Target[Teth_Enteros[3]]) + Real)
                                   Otros: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Maná of Teth_Caster[Teth_Enteros[3]]) Mayor que (>) Teth_Mana[Teth_Enteros[3]]
                                   Entonces: Acciones
                                       Set Real = (((Maná of Teth_Caster[Teth_Enteros[3]]) - Teth_Mana[Teth_Enteros[3]]) x 1.50)
                                       Unidad - Set mana of Teth_Target[Teth_Enteros[3]] to ((Maná of Teth_Target[Teth_Enteros[3]]) + Real)
                                   Otros: Acciones
                               Set Punto = (Position of Teth_Caster[Teth_Enteros[3]])
                               Set Punto2 = (Position of Teth_Target[Teth_Enteros[3]])
                               Set Real = (Angle from Punto to Punto2)
                                Do Multiple ActionsFor each (Integer A) from 1 to ((Integer((Distance between Punto and Punto2))) / 65), do (Actions)
                                   Bucle: Acciones
                                       Set Punto3 = (Punto offset by (65.00 x (Real((Integer A)))) towards Real degrees)
                                       Custom script:   set bj_wantDestroyGroup = true
                                       Grupo de unidad - Pick every unit in (Units within 65.00 of Punto3 matching ((((Matching unit) is in Teth_Grupo[Teth_Enteros[3]]) Igual a (==) False) and (((Matching unit) belongs to an enemy of (Owner of Teth_Caster[Teth_Enteros[3]])) Igual a (==) True))) and do (Actions)
                                           Bucle: Acciones
                                               Unidad - Create 1 Dummy for (Owner of Teth_Caster[Teth_Enteros[3]]) at Punto3 facing Vista edificio predeterminada (270.0) degrees
                                               Unidad - Add Tether_AbilityStun to (Last created unit)
                                               Unidad - Set level of Tether_AbilityStun for (Last created unit) to (Level of Tether_Ability for Teth_Caster[Teth_Enteros[3]])
                                               Unidad - Order (Last created unit) to Humano Rey de la Montaña: Rayo de tormenta (Picked unit)
                                               Unidad - Add a 1.00 second Genérico expiration timer to (Last created unit)
                                               Grupo de unidad - Add (Picked unit) to Teth_Grupo[Teth_Enteros[3]]
                                       Custom script:   call RemoveLocation(udg_Punto3)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Teth_Boolean[Teth_Enteros[3]] Igual a (==) True
                                   Entonces: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Distance between Punto and Punto2) Menor que (<) 300.00
                                           Entonces: Acciones
                                               Set Teth_Boolean[Teth_Enteros[3]] = False
                                           Otros: Acciones
                                               Set Punto3 = (Punto offset by 26.00 towards Real degrees)
                                               Custom script:   set x = GetLocationX(udg_Punto3)
                                               Custom script:   set y = GetLocationY(udg_Punto3)
                                               Custom script:   call SetUnitX(udg_Teth_Caster[udg_Teth_Enteros[3]], x)
                                               Custom script:   call SetUnitY(udg_Teth_Caster[udg_Teth_Enteros[3]], y)
                                               Custom script:   call RemoveLocation(udg_Punto3)
                                   Otros: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Distance between Punto and Punto2) Mayor que o igual a (>=) 900.00
                                           Entonces: Acciones
                                               Set Teth_Duracion[Teth_Enteros[3]] = 0.00
                                           Otros: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Distance between Punto and Punto2) Mayor que o igual a (>=) 500.00
                                           Entonces: Acciones
                                               Rayo - Change color of (Last created lightning effect) to (0.50 0.50 1.00) with (500.00 / (Distance between Punto and Punto2)) alpha
                                           Otros: Acciones
                               Rayo - Move Teth_Rayo[Teth_Enteros[3]] to source Punto and target Punto2
                               Set Teth_Life[Teth_Enteros[3]] = (Vida of Teth_Caster[Teth_Enteros[3]])
                               Set Teth_Mana[Teth_Enteros[3]] = (Maná of Teth_Caster[Teth_Enteros[3]])
                               Custom script:   call RemoveLocation(udg_Punto)
                               Custom script:   call RemoveLocation(udg_Punto2)
                           Otros: Acciones
                               Custom script:   call DestroyGroup(udg_Teth_Grupo[udg_Teth_Enteros[3]])
                               Custom script:   call DestroyLightning(udg_Teth_Rayo[udg_Teth_Enteros[3]])
                               Unidad - Remove Tether_CancelAbility from Teth_Caster[Teth_Enteros[3]]
                               Jugador - Activar Tether_Ability for (Owner of Teth_Caster[Teth_Enteros[3]])
                               Set Teth_Caster[Teth_Enteros[3]] = Ninguna unidad
                               Set Teth_Target[Teth_Enteros[3]] = Ninguna unidad
                               Set Teth_Enteros[1] = (Teth_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Teth_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set Teth_Enteros[2] = 0
                                   Otros: Acciones
                   Otros: Acciones
[/gui]

[gui]Tether Cancel
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Tether_CancelAbility
   Acciones
        Do Multiple ActionsFor each (Integer Teth_Enteros[3]) from 1 to Teth_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 (==) Teth_Caster[Teth_Enteros[3]]
                   Entonces: Acciones
                       Set Teth_Duracion[Teth_Enteros[3]] = 0.00
                   Otros: Acciones
[/gui]

Spirits: Io summons 5 ancient Spirits over the course of 4 seconds; the Spirits dance around Io in a circle to protect him. If an enemy hero moves close enough to touch a Spirit, the Spirit releases its life energy in a burst, damaging all enemies in a 300 area of effect. Non hero units only take minor damage upon touching a spirit and do not cause them to explode.

[gui]Spirits
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Spirits_Ability
   Acciones
       Set Caster = (Triggering unit)
       Set Identificador = (Triggering unit)
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Load (Key Spirits_End) of (Key Identificador) from TablaHash) Igual a (==) False
           Entonces: Acciones
               Tabla hash - Save True as (Key Spirits_End) of (Key Identificador) in TablaHash
               Detonador - Run Spirits Loop (ignoring conditions)
           Otros: Acciones
       Tabla hash - Save 0 as (Key Spirits_Num) of (Key Identificador) in TablaHash
       Tabla hash - Save 19.00 as (Key Spirits_Duracion) of (Key Identificador) in TablaHash
       Tabla hash - Save (Facing of (Triggering unit)) as (Key Spirits_Angle) of (Key Identificador) in TablaHash
       Tabla hash - Save 0.50 as (Key Spirits_Time) of (Key Identificador) in TablaHash
       Tabla hash - Save (25.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) as (Key Spirits_DamageHeroes) of (Key Identificador) in TablaHash
       Tabla hash - Save (2.00 + (6.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))) as (Key Spirits_DamageCreeps) of (Key Identificador) in TablaHash
       Tabla hash - Save 150.00 as (Key Spirits_Distancia) of (Key Identificador) in TablaHash
       Tabla hash - Save False as (Key Spirits_End) of (Key Identificador) in TablaHash
       Tabla hash - Save False as (Key Spirits_Alejar) of (Key Identificador) in TablaHash
       Tabla hash - Save False as (Key Spirits_Acercar) of (Key Identificador) in TablaHash
       Grupo de unidad - Add (Triggering unit) to Spirits_Grupo
       Unidad - Add Spirits_PushIn to (Triggering unit)
       Unidad - Add Spirits_PullOut to (Triggering unit)
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Spirits_Grupo) Igual a (==) 1
           Entonces: Acciones
               Detonador - Turn on Spirits Loop
           Otros: Acciones
[/gui]

[gui]Spirits Push In
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Spirits_PushIn
   Acciones
       Tabla hash - Save False as (Key Spirits_Alejar) of (Key Identificador) in TablaHash
       Tabla hash - Save True as (Key Spirits_Acercar) of (Key Identificador) in TablaHash
[/gui]

[gui]Spirits Push Out
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Spirits_PullOut
   Acciones
       Tabla hash - Save True as (Key Spirits_Alejar) of (Key Identificador) in TablaHash
       Tabla hash - Save False as (Key Spirits_Acercar) of (Key Identificador) in TablaHash
[/gui]

[gui]Spirits Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Spirits_Grupo) Mayor que (>) 0
           Entonces: Acciones
               Grupo de unidad - Pick every unit in Spirits_Grupo and do (Actions)
                   Bucle: Acciones
                       Set Caster = (Picked unit)
                       Set Punto = (Position of Caster)
                       Set Identificador = (Picked unit)
                       Set Jugador = (Owner of (Picked unit))
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               (Load (Key Spirits_End) of (Key Identificador) from TablaHash) Igual a (==) False
                           Entonces: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Load (Key Spirits_Acercar) of (Key Identificador) from TablaHash) Igual a (==) True
                                   Entonces: Acciones
                                       Set Real2 = ((Load (Key Spirits_Distancia) of (Key Identificador) from TablaHash) - 20.00)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Real2 Menor que (<) 100.00
                                           Entonces: Acciones
                                               Tabla hash - Save 100.00 as (Key Spirits_Distancia) of (Key Identificador) in TablaHash
                                           Otros: Acciones
                                               Tabla hash - Save Real2 as (Key Spirits_Distancia) of (Key Identificador) in TablaHash
                                   Otros: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Load (Key Spirits_Alejar) of (Key Identificador) from TablaHash) Igual a (==) True
                                   Entonces: Acciones
                                       Set Real2 = ((Load (Key Spirits_Distancia) of (Key Identificador) from TablaHash) + 20.00)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Real2 Mayor que (>) 875.00
                                           Entonces: Acciones
                                               Tabla hash - Save 875.00 as (Key Spirits_Distancia) of (Key Identificador) in TablaHash
                                           Otros: Acciones
                                               Tabla hash - Save Real2 as (Key Spirits_Distancia) of (Key Identificador) in TablaHash
                                   Otros: Acciones
                               Set Real3 = ((Load (Key Spirits_Angle) of (Key Identificador) from TablaHash) - 6.20)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Real3 Menor que (<) 0.00
                                   Entonces: Acciones
                                       Grupo de unidad - Remove all units from Grupo
                                       Set Real3 = (Real3 + 360.00)
                                   Otros: Acciones
                               Tabla hash - Save Real3 as (Key Spirits_Angle) of (Key Identificador) in TablaHash
                               Set Entero2 = (Load (Key Spirits_Num) of (Key Identificador) from TablaHash)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Entero2 Menor que (<) 5
                                   Entonces: Acciones
                                       Set Real = ((Load (Key Spirits_Time) of (Key Identificador) from TablaHash) - 0.04)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Real Menor que (<) 0.01
                                           Entonces: Acciones
                                               Set Real = 0.88
                                               Set Entero2 = (Entero2 + 1)
                                               Set Real2 = ((Load (Key Spirits_Distancia) of (Key Identificador) from TablaHash) - 0.00)
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       (Integer B) Igual a (==) 1
                                                   Entonces: Acciones
                                                       Set Real3 = ((Real3 + 80.60) - 8.60)
                                                   Otros: Acciones
                                                       Set Real3 = ((Real3 + 136.40) - 64.00)
                                               Set Real3 = (Real3 + (72.00 x ((Real(Entero2)) - 1.00)))
                                               Set Punto2 = (Punto offset by Real2 towards Real3 degrees)
                                               Unidad - Create 1 DUMMY_ID for Jugador at Punto2 facing Punto
                                               Animación - Change (Last created unit) flying height to 75.00 at 0.00
                                               Efecto especial - Create a special effect attached to the origin of (Last created unit) using Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
                                               Tabla hash - Save Handle Of(Last created unit) as (Key (Spirits_Dummy + (String(Entero2)))) of (Key Identificador) in TablaHash
                                               Tabla hash - Save Handle Of(Last created special effect) as 0 of (Key (Last created unit)) in TablaHash
                                               Tabla hash - Save (Load (Key Spirits_Duracion) of (Key Identificador) from TablaHash) as 1 of (Key (Last created unit)) in TablaHash
                                               Custom script:   call SaveGroupHandle(udg_TablaHash, GetHandleId(udg_Dummy), 3, CreateGroup())
                                               Tabla hash - Save Real3 as 2 of (Key (Last created unit)) in TablaHash
                                               Tabla hash - Save Entero2 as (Key Spirits_Num) of (Key Identificador) in TablaHash
                                               Custom script:   call RemoveLocation(udg_Punto2)
                                           Otros: Acciones
                                       Tabla hash - Save Real as (Key Spirits_Time) of (Key Identificador) in TablaHash
                                   Otros: Acciones
                               Set Real = ((Load (Key Spirits_Duracion) of (Key Identificador) from TablaHash) - 0.04)
                               Tabla hash - Save Real as (Key Spirits_Duracion) of (Key Identificador) in TablaHash
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Real Menor que (<) 0.01
                                   Entonces: Acciones
                                       Tabla hash - Save True as (Key Spirits_End) of (Key Identificador) in TablaHash
                                   Otros: Acciones
                                Do Multiple ActionsFor each (Integer B) from 1 to Entero2, do (Actions)
                                   Bucle: Acciones
                                       Set Dummy = (Load (Key (Spirits_Dummy + (String((Integer B))))) of (Key Identificador) in TablaHash)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               (Dummy is alive) Igual a (==) True
                                           Entonces: Acciones
                                               Custom script:   call SaveReal(udg_TablaHash, GetHandleId(udg_Dummy), 1, LoadReal(udg_TablaHash, GetHandleId(udg_Dummy), 1) - 0.04)
                                               Custom script:   call SaveReal(udg_TablaHash, GetHandleId(udg_Dummy), 2, LoadReal(udg_TablaHash, GetHandleId(udg_Dummy), 2) - 6.2)
                                               Custom script:   set udg_Grupo = LoadGroupHandle(udg_TablaHash,GetHandleId(udg_Dummy), 3)
                                               Set Real2 = ((Load (Key Spirits_Distancia) of (Key Identificador) from TablaHash) - 0.00)
                                               Custom script:   set udg_Real3 = LoadReal(udg_TablaHash,GetHandleId(udg_Dummy), 2)
                                               Set Punto2 = (Punto offset by Real2 towards Real3 degrees)
                                               Unidad - Move Dummy instantly to Punto2, facing Punto
                                               Custom script:   set bj_wantDestroyGroup = true
                                               Grupo de unidad - Pick every unit in (Units within 60.00 of Punto2 matching ((((Matching unit) is Una estructura) Igual a (==) False) and (((((Matching unit) is Inmune a la magia) Igual a (==) False) and (((Matching unit) is in Grupo) Igual a (==) False)) and ((((Matching unit) is dead) Igual a  and do (Actions)
                                                   Bucle: Acciones
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               ((Picked unit) is Un héroe) Igual a (==) True
                                                           Entonces: Acciones
                                                               Custom script:   call SaveReal(udg_TablaHash, GetHandleId(udg_Dummy), 1, 0.0)
                                                               Grupo de unidad - Add (Picked unit) to Grupo
                                                           Otros: Acciones
                                                               Unidad - Cause Caster to damage (Picked unit), dealing (Load (Key Spirits_DamageCreeps) of (Key Identificador) from TablaHash) damage of attack type Conjuros and damage type Normal
                                               Custom script:   set udg_Grupo = null
                                               Custom script:   set udg_Real2 = LoadReal(udg_TablaHash, GetHandleId(udg_Dummy), 1)
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       Real2 Menor que (<) 0.01
                                                   Entonces: Acciones
                                                       Set Grupo = (Units within 300.00 of Punto2 matching ((((Matching unit) is Una estructura) Igual a (==) False) and (((((Matching unit) is Inmune a la magia) Igual a (==) False) and (((Matching unit) is dead) Igual a (==) False)) and (((Matching unit) belongs to an enemy o
                                                       Grupo de unidad - Pick every unit in Grupo and do (Actions)
                                                           Bucle: Acciones
                                                               Unidad - Cause Caster to damage (Picked unit), dealing (Load (Key Spirits_DamageHeroes) of (Key Identificador) from TablaHash) damage of attack type Conjuros and damage type Normal
                                                       Unidad - Kill Dummy
                                                       Efecto especial - Create a special effect at Punto2 using Abilities\Spells\Undead\FreezingBreath\FreezingBreathMissile.mdl
                                                       Efecto especial - Destroy (Last created special effect)
                                                       Custom script:   call DestroyGroup(udg_Grupo)
                                                       Custom script:   call DestroyEffect(LoadEffectHandle(udg_TablaHash, GetHandleId(udg_Dummy), 0))
                                                       Custom script:   call FlushChildHashtable(udg_TablaHash,GetHandleId(udg_Dummy))
                                                   Otros: Acciones
                                               Custom script:   call RemoveLocation(udg_Punto2)
                                           Otros: Acciones
                           Otros: Acciones
                               Custom script:    call DestroyGroup(udg_Grupo)
                                Do Multiple ActionsFor each (Integer A) from 1 to 5, do (Actions)
                                   Bucle: Acciones
                                       Set Dummy = (Load (Key (Spirits_Dummy + (String((Integer A))))) of (Key Identificador) in TablaHash)
                                       Set Punto2 = (Position of Dummy)
                                       Custom script:   set udg_Real2 = LoadReal(udg_TablaHash, GetHandleId(udg_Dummy), 1)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Real2 Mayor que o igual a (>=) 0.01
                                           Entonces: Acciones
                                               Set Grupo = (Units within 300.00 of Punto2 matching ((((Matching unit) is Una estructura) Igual a (==) False) and (((((Matching unit) is Inmune a la magia) Igual a (==) False) and (((Matching unit) is dead) Igual a (==) False)) and (((Matching unit) belongs to an enemy o
                                               Grupo de unidad - Pick every unit in Grupo and do (Actions)
                                                   Bucle: Acciones
                                                       Unidad - Cause Caster to damage (Picked unit), dealing (Load (Key Spirits_DamageHeroes) of (Key Identificador) from TablaHash) damage of attack type Conjuros and damage type Normal
                                               Unidad - Kill Dummy
                                               Efecto especial - Create a special effect at Punto2 using Abilities\Spells\Undead\FreezingBreath\FreezingBreathMissile.mdl
                                               Efecto especial - Destroy (Last created special effect)
                                               Custom script:   call DestroyGroup(udg_Grupo)
                                               Custom script:   call DestroyEffect(LoadEffectHandle(udg_TablaHash, GetHandleId(udg_Dummy), 0))
                                               Custom script:   call DestroyGroup(LoadGroupHandle(udg_TablaHash, GetHandleId(udg_Dummy),3))
                                               Custom script:   call FlushChildHashtable(udg_TablaHash,GetHandleId(udg_Dummy))
                                           Otros: Acciones
                                       Custom script:   call RemoveLocation(udg_Punto2)
                                       Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "Spirits_Dummy" + I2S(bj_forLoopAIndex) )))
                               Custom script:   call RemoveSavedInteger(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Num"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Duracion"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Angle"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Time"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_DamageHeroes"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_DamageCreeps"))
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Distancia"))
                               Custom script:   call RemoveSavedBoolean(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Acercar"))
                               Custom script:   call RemoveSavedBoolean(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Spirits_Alejar"))
                               Grupo de unidad - Remove Caster from Spirits_Grupo
                               Unidad - Remove Spirits_PushIn from Caster
                               Unidad - Remove Spirits_PullOut from Caster
           Otros: Acciones
               Detonador - Turn off (This trigger)
[/gui]

Overcharge: Io draws on more energy than he can safely handle, granting him bonus attack speed and damage reduction, but draining 4.5% of his current HP and MP per second. If Io is tethered to an ally the bonuses are also granted to that ally.

[gui]Overcharge
   Acontecimientos
       Unidad - A unit Finaliza el lanzamiento de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Overcharge_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               OC_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on OverchargeLoop
           Otros: Acciones
       Set OC_Enteros[1] = (OC_Enteros[1] + 1)
       Set OC_Enteros[2] = (OC_Enteros[2] + 1)
       Set OC_Caster[OC_Enteros[2]] = (Triggering unit)
       Set OC_Booleana[OC_Enteros[2]] = (OC_Caster[OC_Enteros[2]] has buff Overcharge_Buff)
        Do Multiple ActionsFor each (Integer Teth_Enteros[3]) from 1 to Teth_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 (==) Teth_Caster[Teth_Enteros[3]]
                   Entonces: Acciones
                       Set OC_Unidad[OC_Enteros[2]] = Teth_Target[Teth_Enteros[3]]
                       Unidad - Add Overcharge_AbilityDummy to OC_Unidad[OC_Enteros[2]]
                       Unidad - Set level of Overcharge_AbilityDummy for OC_Unidad[OC_Enteros[2]] to (Level of (Ability being cast) for (Triggering unit))
                   Otros: Acciones
       Unidad - Add Overcharge_AbilityDummy to (Triggering unit)
       Unidad - Set level of Overcharge_AbilityDummy for (Triggering unit) to (Level of (Ability being cast) for (Triggering unit))
[/gui]

[gui]Ovecharge Damage
   Acontecimientos
       Partida - GDD_Event becomes Igual a 1.00
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer OC_Enteros[3]) from 1 to OC_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       OC_Caster[OC_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 ConditionsOr - Any (Conditions) are true
                                   Condiciones
                                       GDD_DamagedUnit Igual a (==) OC_Unidad[OC_Enteros[3]]
                                       GDD_DamagedUnit Igual a (==) OC_Caster[OC_Enteros[3]]
                           Entonces: Acciones
                               Set Real = (GDD_Damage x (0.05 x (Real((Level of Overcharge_Ability for OC_Caster[OC_Enteros[3]])))))
                               Set Real2 = ((Vida of GDD_DamagedUnit) + Real)
                               Unidad - Set life of GDD_DamagedUnit to Real2
                           Otros: Acciones
                   Otros: Acciones
[/gui]

[gui]OverchargeLoop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer OC_Enteros[3]) from 1 to OC_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       OC_Caster[OC_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
                               OC_Booleana[OC_Enteros[3]] Igual a (==) True
                           Entonces: Acciones
                               Set OC_Booleana[OC_Enteros[3]] = (OC_Caster[OC_Enteros[3]] has buff Overcharge_Buff)
                               Unidad - Set mana of OC_Caster[OC_Enteros[3]] to ((Maná of OC_Caster[OC_Enteros[3]]) - (((Maná of OC_Caster[OC_Enteros[3]]) x 0.04) / 25.00))
                               Unidad - Set life of OC_Caster[OC_Enteros[3]] to ((Vida of OC_Caster[OC_Enteros[3]]) - (((Vida of OC_Caster[OC_Enteros[3]]) x 0.04) / 25.00))
                                Do Multiple ActionsFor each (Integer Teth_Enteros[3]) from 1 to Teth_Enteros[2], do (Actions)
                                   Bucle: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               OC_Caster[OC_Enteros[3]] Igual a (==) Teth_Caster[OC_Enteros[3]]
                                           Entonces: Acciones
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       Ninguna unidad No igual a (!=) Teth_Target[Teth_Enteros[3]]
                                                   Entonces: Acciones
                                                       Unidad - Add Overcharge_AbilityDummy to OC_Unidad[OC_Enteros[3]]
                                                       Unidad - Set level of Overcharge_AbilityDummy for OC_Unidad[OC_Enteros[3]] to (Level of Overcharge_Ability for OC_Caster[OC_Enteros[3]])
                                                   Otros: Acciones
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       OC_Unidad[OC_Enteros[3]] No igual a (!=) Teth_Target[Teth_Enteros[3]]
                                                   Entonces: Acciones
                                                       Unidad - Remove Overcharge_AbilityDummy from OC_Unidad[OC_Enteros[3]]
                                                       Set OC_Unidad[OC_Enteros[3]] = Ninguna unidad
                                                   Otros: Acciones
                                           Otros: Acciones
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       OC_Unidad[OC_Enteros[3]] No igual a (!=) Ninguna unidad
                                                   Entonces: Acciones
                                                       Unidad - Remove Overcharge_AbilityDummy from OC_Unidad[OC_Enteros[3]]
                                                       Set OC_Unidad[OC_Enteros[3]] = Ninguna unidad
                                                   Otros: Acciones
                           Otros: Acciones
                               Unidad - Remove Overcharge_AbilityDummy from OC_Unidad[OC_Enteros[3]]
                               Unidad - Remove Overcharge_AbilityDummy from OC_Caster[OC_Enteros[3]]
                               Set OC_Enteros[1] = (OC_Enteros[1] - 1)
                               Set OC_Caster[OC_Enteros[3]] = Ninguna unidad
                               Set OC_Unidad[OC_Enteros[3]] = Ninguna unidad
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       OC_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Detonador - Turn off (This trigger)
                                       Set OC_Enteros[2] = 0
                                   Otros: Acciones
                   Otros: Acciones
[/gui]

Relocate: Io temporarily relocates himself, along with any tethered hero, to the target location for 12 seconds.

[gui]Relocate
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Relocate_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               Rel_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Relocate Loop
           Otros: Acciones
       Set Rel_Enteros[1] = (Rel_Enteros[1] + 1)
       Set Rel_Enteros[2] = (Rel_Enteros[2] + 1)
        Do Multiple ActionsFor each (Integer Teth_Enteros[3]) from 1 to Teth_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 (==) Teth_Caster[Teth_Enteros[3]]
                       (Teth_Target[Teth_Enteros[3]] is Un héroe) Igual a (==) True
                   Entonces: Acciones
                       Set Rel_Unidad[Rel_Enteros[2]] = Teth_Target[Teth_Enteros[3]]
                   Otros: Acciones
       Set Rel_Caster[Rel_Enteros[2]] = (Triggering unit)
       Set Rel_Delay[Rel_Enteros[2]] = (2.75 - (0.25 x (Real((Level of (Ability being cast) for (Triggering unit))))))
       Set Rel_PuntoInicial[Rel_Enteros[2]] = (Position of (Triggering unit))
       Set Rel_PuntoTarget[Rel_Enteros[2]] = (Target point of ability being cast)
       Set Rel_Timer[Rel_Enteros[2]] = 12.00
       Visibilidad - Create an initially Activado visibility modifier for (Triggering player) emitting Visibilidad from Rel_PuntoInicial[Rel_Enteros[2]] to a radius of 400.00
       Set Rel_Vision[Rel_Enteros[2]] = (Last created visibility modifier)
       Visibilidad - Create an initially Activado visibility modifier for (Triggering player) emitting Visibilidad from Rel_PuntoTarget[Rel_Enteros[2]] to a radius of 400.00
       Set Rel_Vision2[Rel_Enteros[2]] = (Last created visibility modifier)
       Secuencia cinematográfica - Ping minimap for (All players) at Rel_PuntoTarget[Rel_Enteros[2]] for 2.00 seconds, using a Aviso ping of color (100.00%, 0.00%, 0.00%)
[/gui]

[gui]Relocate Loop
   Acontecimientos
       Tiempo - Every 0.05 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer Rel_Enteros[3]) from 1 to Rel_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       Rel_Caster[Rel_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
                               Rel_Delay[Rel_Enteros[3]] Mayor que o igual a (>=) 0.00
                           Entonces: Acciones
                               Set Rel_Delay[Rel_Enteros[3]] = (Rel_Delay[Rel_Enteros[3]] - 0.05)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Rel_Delay[Rel_Enteros[3]] Igual a (==) 0.00
                                   Entonces: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Rel_Unidad[Rel_Enteros[3]] No igual a (!=) Ninguna unidad
                                           Entonces: Acciones
                                               Unidad - Move Rel_Unidad[Rel_Enteros[3]] instantly to Rel_PuntoTarget[Rel_Enteros[3]]
                                               Cámara - Pan camera for (Owner of Rel_Unidad[Rel_Enteros[3]]) to Rel_PuntoTarget[Rel_Enteros[3]] over 0.00 seconds
                                           Otros: Acciones
                                       Unidad - Move Rel_Caster[Rel_Enteros[3]] instantly to Rel_PuntoTarget[Rel_Enteros[3]]
                                       Cámara - Pan camera for (Owner of Rel_Caster[Rel_Enteros[3]]) to Rel_PuntoTarget[Rel_Enteros[3]] over 0.00 seconds
                                       Efecto especial - Create a special effect at Rel_PuntoTarget[Rel_Enteros[3]] using Objects\Spawnmodels\NightElf\NEDeathSmall\NEDeathSmall.mdl
                                       Efecto especial - Destroy (Last created special effect)
                                       Efecto especial - Create a special effect at Rel_PuntoInicial[Rel_Enteros[3]] using Abilities\Spells\Items\ClarityPotion\ClarityTarget.mdl
                                       Set Rel_EfectoTarget[Rel_Enteros[3]] = (Last created special effect)
                                       Visibilidad - Destroy Rel_Vision2[Rel_Enteros[3]]
                                   Otros: Acciones
                           Otros: Acciones
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       (Rel_Timer[Rel_Enteros[3]] mod 1.00) Igual a (==) 0.00
                                   Entonces: Acciones
                                       Texto flotante - Create floating text that reads ((|cff0000ff + (String((Integer(Rel_Timer[Rel_Enteros[3]]))))) + ! |r) above Rel_Caster[Rel_Enteros[3]] with Z offset 100.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                                       Texto flotante - Set the velocity of (Last created floating text) to 20.00 towards 90.00 degrees
                                       Texto flotante - Change (Last created floating text): Desactivar permanence
                                       Texto flotante - Change the lifespan of (Last created floating text) to 0.90 seconds
                                   Otros: Acciones
                               Set Rel_Timer[Rel_Enteros[3]] = (Rel_Timer[Rel_Enteros[3]] - 0.05)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       Rel_Timer[Rel_Enteros[3]] Menor que (<) 0.00
                                   Entonces: Acciones
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Rel_Unidad[Rel_Enteros[3]] No igual a (!=) Ninguna unidad
                                           Entonces: Acciones
                                               Unidad - Move Rel_Unidad[Rel_Enteros[3]] instantly to Rel_PuntoInicial[Rel_Enteros[3]]
                                               Cámara - Pan camera for (Owner of Rel_Unidad[Rel_Enteros[3]]) to Rel_PuntoInicial[Rel_Enteros[3]] over 0.00 seconds
                                           Otros: Acciones
                                       Unidad - Move Rel_Caster[Rel_Enteros[3]] instantly to Rel_PuntoInicial[Rel_Enteros[3]]
                                       Cámara - Pan camera for (Owner of Rel_Caster[Rel_Enteros[3]]) to Rel_PuntoInicial[Rel_Enteros[3]] over 0.00 seconds
                                       Efecto especial - Create a special effect at Rel_PuntoInicial[Rel_Enteros[3]] using Objects\Spawnmodels\NightElf\NEDeathSmall\NEDeathSmall.mdl
                                       Efecto especial - Destroy (Last created special effect)
                                       Efecto especial - Destroy Rel_EfectoTarget[Rel_Enteros[3]]
                                       Visibilidad - Destroy Rel_Vision[Rel_Enteros[3]]
                                       Set Rel_Caster[Rel_Enteros[3]] = Ninguna unidad
                                       Set Rel_Unidad[Rel_Enteros[3]] = Ninguna unidad
                                       Set Rel_Enteros[1] = (Rel_Enteros[1] - 1)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Rel_Enteros[1] Igual a (==) 0
                                           Entonces: Acciones
                                               Set Rel_Enteros[2] = 0
                                               Detonador - Turn off (This trigger)
                                           Otros: Acciones
                                   Otros: Acciones
                   Otros: Acciones
[/gui]


Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3062
Reputación Reputación : 511
Monedas de oro : 9495
Monedas de Platino : 0

Inventario :



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

Enchantress


Detonador de Constantes:
[gui]Constantes Habilidades Enchantress
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Untouchable ------------------ --------
       Set Untouchable_Ability = Untouchable
       Set Untouchable_AbilityDummy = Untouchable Dummy (Guantes de Presteza)
       -------- ------------ Enchant ------------------ --------
       Set Enchant_Ability = Enchant
       -------- ------------ Healing Wisp ------------------ --------
       Set HealingWisp_Ability = Nature's Attendants
       -------- ------------ Impetus ------------------ --------
       Set Impetus_Ability = Impetus
       Set Imp_Buff = Impetus (Solo para detectar y gráfico)
[/gui]

Untouchable: Whenever the Enchantress is attacked, she beguiles the unit into slowing its attack.

[gui]Untouchable
   Acontecimientos
       Unidad - A unit Es atacado
   Condiciones
       (Level of Untouchable_Ability for (Triggering unit)) Mayor que (>) 0
   Acciones
       Set Caster = (Triggering unit)
       Set Identificador = (Attacking unit)
       Tabla hash - Save 3.00 as (Key Untouch_Duracion) of (Key Identificador) in TablaHash
       Unidad - Add Untouchable_AbilityDummy to (Attacking unit)
       Unidad - Set level of Untouchable_AbilityDummy for (Attacking unit) to (Level of Untouchable_Ability for (Triggering unit))
       Grupo de unidad - Add (Attacking unit) to Untouchable_Grupo
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Untouchable_Grupo) Igual a (==) 1
           Entonces: Acciones
               Detonador - Turn on Untouchable Loop
           Otros: Acciones
[/gui]

[gui]Untouchable Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Untouchable_Grupo) Mayor que (>) 0
           Entonces: Acciones
               Grupo de unidad - Pick every unit in Untouchable_Grupo and do (Actions)
                   Bucle: Acciones
                       Set Identificador = (Picked unit)
                       Set Real = ((Load (Key Untouch_Duracion) of (Key Identificador) from TablaHash) - 0.04)
                       Tabla hash - Save Real as (Key Untouch_Duracion) of (Key Identificador) in TablaHash
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               Real Menor que (<) 0.01
                           Entonces: Acciones
                               Unidad - Remove Untouchable_AbilityDummy from (Picked unit)
                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Untouch_Duracion"))
                               Grupo de unidad - Remove (Picked unit) from Untouchable_Grupo
                           Otros: Acciones
           Otros: Acciones
               Detonador - Turn off (This trigger)
[/gui]

Enchant: Brings target unit under control of Aiushtha. If the unit cannot be converted, it will be slowed instead.

[gui]Enchant
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Enchant_Ability
       ((Target unit of ability being cast) is Un hé️roe) Igual a (==) False
   Acciones
       Unidad - Change ownership of (Target unit of ability being cast) to (Triggering player) and Cambiar color
       Unidad - Add a 80.00 second Gené️rico expiration timer to (Target unit of ability being cast)
[/gui]

Nature's Attendants: Releases a swarm of wisps to heal nearby allies in a 275 radius. Each wisp lasts 11 seconds and heals 10hp/sec.

[gui]Healing Wisps
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) HealingWisp_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               HW_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Healing Wisps Loop
           Otros: Acciones
       Set HW_Enteros[1] = (HW_Enteros[1] + 1)
       Set HW_Enteros[2] = (HW_Enteros[2] + 1)
       Set HW_Caster[HW_Enteros[2]] = (Triggering unit)
       Set HW_Numero[HW_Enteros[2]] = (1 + (2 x (Level of (Ability being cast) for (Triggering unit))))
       Set HW_Duracion[HW_Enteros[2]] = 11.00
[/gui]

[gui]Healing Wisps Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer HW_Enteros[3]) from 1 to HW_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       HW_Caster[HW_Enteros[3]] No igual a (!=) Ninguna unidad
                   Entonces: Acciones
                       Set HW_Duracion[HW_Enteros[3]] = (HW_Duracion[HW_Enteros[3]] - 0.04)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               (HW_Duracion[HW_Enteros[3]] mod 1.00) Igual a (==) 0.00
                           Entonces: Acciones
                               Set Punto = (Position of HW_Caster[HW_Enteros[3]])
                                Do Multiple ActionsFor each (Integer A) from 1 to HW_Numero[HW_Enteros[3]], do (Actions)
                                   Bucle: Acciones
                                       Set Grupo = (Units within 300.00 of Punto matching (((((Matching unit) is Una estructura) Igual a (==) False) and ((Vida of (Matching unit)) Menor que (<) (Vida máx. of (Matching unit)))) and ((((Matching unit) is Mecánica) Igual a (==) False) and (((Matching unit) bel
                                       Set Dummy = (Random unit from Grupo)
                                       Unidad - Set life of Dummy to ((Vida of Dummy) + 10.00)
                                       Custom script:   call DestroyGroup(udg_Grupo)
                               Custom script:   call RemoveLocation(udg_Punto)
                           Otros: Acciones
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               HW_Duracion[HW_Enteros[3]] Menor que o igual a (<=) 0.00
                           Entonces: Acciones
                               Set HW_Caster[HW_Enteros[3]] = Ninguna unidad
                               Set HW_Enteros[1] = (HW_Enteros[1] - 1)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       HW_Enteros[1] Igual a (==) 0
                                   Entonces: Acciones
                                       Set HW_Enteros[2] = 0
                                       Detonador - Turn off (This trigger)
                                   Otros: Acciones
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Impetus: Gives strength to the Enchantress' attacks, causing them to deal greater damage the further away the target is.

[gui]Impetus
   Acontecimientos
       Partida - GDD_Event becomes Igual a 1.00
   Condiciones
       (GDD_DamagedUnit has buff Imp_Buff) Igual a (==) True
       (Level of Impetus_Ability for GDD_DamageSource) Mayor que (>) 0
   Acciones
       Set Punto = (Position of GDD_DamageSource)
       Set Punto2 = (Position of GDD_DamagedUnit)
       Set Real = (Distance between Punto and Punto2)
       Set Real = (Real x (0.05 + (0.10 x (Real((Level of Impetus_Ability for GDD_DamageSource))))))
       Unidad - Remove Imp_Buff buff from GDD_DamagedUnit
       Unidad - Cause GDD_DamageSource to damage GDD_DamagedUnit, dealing Real damage of attack type Caos and damage type Universal
       Texto flotante - Create floating text that reads (+ + (String((Integer(Real))))) at Punto2 with Z offset 0.00, using font size 10.00, color (60.00%, 100.00%, 100.00%), and 0.00% transparency
       Texto flotante - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
       Texto flotante - Change (Last created floating text): Desactivar permanence
       Texto flotante - Change the lifespan of (Last created floating text) to 3.00 seconds
       Custom script:   call RemoveLocation(udg_Punto)
       Custom script:   call RemoveLocation(udg_Punto2)
[/gui]


Sniper


Detonador de Constantes:
[gui]Sniper Constantes
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       -------- ------------ Assassinate ------------------ --------
       Set Assassinate_Ability = Assasinate
       Set Assassinate_ModelEffect = textures\Snipe Target.mdx
       -------- ------------ Take Aim ------------------ --------
       Set TakeAim_Ability = Take Aim
       Set TakeAim_Actualizacion = Take Aim
       -------- ------------ Shrapnel ------------------ --------
       Set Shrapnel_Ability = Shrapnel
       Set Shrapnel_ModelEffectMisil = Abilities\Weapons\BoatMissile\BoatMissile.mdl
       Set Shrapnel_ModelEffectEfecto = Abilities\Weapons\GyroCopter\GyroCopterImpact.mdl
[/gui]

Shrapnel: Fires a ball full of shrapnel into the air. which promptly explodes, showering the target area in explosive pellets. Enemy units that walk in this area get damaged and slowed. Deals 1/3 damage to buildings. Lasts for 9 seconds

[gui]Shrapnel
   Acontecimientos
       Unidad - A unit Inicia el efecto de una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Shrapnel_Ability
   Acciones
       Set Caster = (Triggering unit)
       Set Identificador = (Triggering unit)
       Set Entero = ((Load (Key Shrapnel 0) of (Key Identificador) from TablaHash) + 1)
       Set Punto = (Position of (Triggering unit))
       Tabla hash - Save (X of Punto) as (Key ((S_X + 0) + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save (X of Punto) as (Key ((S_Y + 0) + (String(Entero)))) of (Key Identificador) in TablaHash
       Set Punto2 = (Target point of ability being cast)
       Tabla hash - Save (X of Punto2) as (Key ((S_X + (String(1))) + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save (Y of Punto2) as (Key ((S_Y + (String(1))) + (String(Entero)))) of (Key Identificador) in TablaHash
       Set Real = (Angle from Punto to Punto2)
        Do Multiple ActionsFor each (Integer A) from 0 to 3, do (Actions)
           Bucle: Acciones
               Set Punto3 = (Punto2 offset by 340.00 towards (Real + (90.00 x (Real((Integer A))))) degrees)
               Tabla hash - Save (X of Punto3) as (Key ((S_X + (String(((Integer A) + 2)))) + (String(Entero)))) of (Key Identificador) in TablaHash
               Tabla hash - Save (Y of Punto3) as (Key ((S_Y + (String(((Integer A) + 2)))) + (String(Entero)))) of (Key Identificador) in TablaHash
               Custom script:   call RemoveLocation(udg_Punto3)
               Set Punto3 = (Punto2 offset by 220.00 towards (Real + (45.00 + (90.00 x (Real((Integer A)))))) degrees)
               Tabla hash - Save (X of Punto3) as (Key ((S_X + (String(((Integer A) + 6)))) + (String(Entero)))) of (Key Identificador) in TablaHash
               Tabla hash - Save (Y of Punto3) as (Key ((S_Y + (String(((Integer A) + 6)))) + (String(Entero)))) of (Key Identificador) in TablaHash
               Custom script:   call RemoveLocation(udg_Punto3)
       Tabla hash - Save (12.00 x (Real((Level of (Ability being cast) for (Triggering unit))))) as (Key (S_Damage + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save 0.28 as (Key (S_Delay1 + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save 0.52 as (Key (S_Delay2 + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save 0.00 as (Key (S_Delay3 + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save 0.00 as (Key (S_Time + (String(Entero)))) of (Key Identificador) in TablaHash
       Tabla hash - Save Entero as (Key Shrapnel 0) of (Key Identificador) in TablaHash
       Grupo de unidad - Add (Triggering unit) to Shrapnel_Grupo
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Shrapnel_Grupo) Igual a (==) 1
           Entonces: Acciones
               Detonador - Turn on Shrapnel Loop
           Otros: Acciones
       Custom script:   call RemoveLocation(udg_Punto)
       Custom script:   call RemoveLocation(udg_Punto2)
[/gui]

[gui]Shrapnel Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               (Number of units in Shrapnel_Grupo) Mayor que (>) 0
           Entonces: Acciones
               Grupo de unidad - Pick every unit in Shrapnel_Grupo and do (Actions)
                   Bucle: Acciones
                       Custom script:   local real x
                       Custom script:   local real y
                       Custom script:   local integer Id = GetHandleId(GetEnumUnit())
                       Set Caster = (Picked unit)
                       Set Jugador = (Owner of (Picked unit))
                       Set Identificador = (Picked unit)
                       Set Entero = (Load (Key Shrapnel 0) of (Key Identificador) from TablaHash)
                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                           Si: Condiciones
                               Entero Mayor que (>) 0
                           Entonces: Acciones
                                Do Multiple ActionsFor each (Integer i) from 1 to Entero, do (Actions)
                                   Bucle: Acciones
                                       Set Damage = (Load (Key (S_Damage + (String(i)))) of (Key Identificador) from TablaHash)
                                       Set Real = (Load (Key (S_Delay1 + (String(i)))) of (Key Identificador) from TablaHash)
                                       Set Real = (Real - 0.04)
                                       Tabla hash - Save Real as (Key (S_Delay1 + (String(i)))) of (Key Identificador) in TablaHash
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               Real Menor que (<) 0.01
                                           Entonces: Acciones
                                               Set Real2 = (Load (Key (S_Delay2 + (String(i)))) of (Key Identificador) from TablaHash)
                                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                   Si: Condiciones
                                                       Real2 Mayor que o igual a (>=) 0.01
                                                   Entonces: Acciones
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               Real2 Igual a (==) 0.60
                                                           Entonces: Acciones
                                                               Custom script:   set x = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_X" + "0" ) + I2S(udg_i) )))
                                                               Custom script:   set y = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_Y" + "0" ) + I2S(udg_i) )))
                                                               Custom script:   set udg_Punto = Location(x,y)
                                                                Do Multiple ActionsFor each (Integer A) from 1 to 9, do (Actions)
                                                                   Bucle: Acciones
                                                                       Custom script:   set x = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_X" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                                       Custom script:   set y = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_Y" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                                       Custom script:   set udg_Punto2 = Location(x,y)
                                                                       Unidad - Create 1 Dummy for Jugador at Punto facing (Angle from Punto to Punto2) degrees
                                                                       Animación - Change (Last created unit) flying height to 500.00 at 0.00
                                                                       Efecto especial - Create a special effect attached to the origin of (Last created unit) using Shrapnel_ModelEffectMisil
                                                                       Tabla hash - Save Handle Of(Last created unit) as (Key ((S_Dummy + (String((Integer A)))) + (String(i)))) of (Key Identificador) in TablaHash
                                                                       Tabla hash - Save Handle Of(Last created special effect) as (Key ((S_Efecto + (String((Integer A)))) + (String(i)))) of (Key Identificador) in TablaHash
                                                                       Tabla hash - Save ((Distance between Punto and Punto2) / 13.00) as (Key Speed) of (Key (Last created unit)) in TablaHash
                                                                       Custom script:   call RemoveLocation(udg_Punto2)
                                                               Custom script:   call RemoveLocation(udg_Punto)
                                                           Otros: Acciones
                                                        Do Multiple ActionsFor each (Integer A) from 1 to 9, do (Actions)
                                                           Bucle: Acciones
                                                               Custom script:   set x = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_X" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                               Custom script:   set y = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_Y" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                               Set Dummy = (Load (Key ((S_Dummy + (String((Integer A)))) + (String(i)))) of (Key Identificador) in TablaHash)
                                                               Custom script:   set udg_Real3 = LoadReal(udg_TablaHash, GetHandleId(udg_Dummy), StringHash("Speed"))
                                                               Set Punto = (Position of Dummy)
                                                               Custom script:   set udg_Punto2 = Location(x,y)
                                                               Set Punto3 = (Punto offset by Real3 towards (Angle from Punto to Punto2) degrees)
                                                               Unidad - Move Dummy instantly to Punto3
                                                               Animación - Change Dummy flying height to ((Current flying height of Dummy) - 38.46) at 0.00
                                                               Custom script:   call RemoveLocation(udg_Punto2)
                                                               Custom script:   call RemoveLocation(udg_Punto)
                                                       Set Real2 = (Real2 - 0.04)
                                                       Tabla hash - Save Real2 as (Key (S_Delay2 + (String(i)))) of (Key Identificador) in TablaHash
                                                   Otros: Acciones
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               Real2 Igual a (==) 0.00
                                                           Entonces: Acciones
                                                                Do Multiple ActionsFor each (Integer A) from 1 to 9, do (Actions)
                                                                   Bucle: Acciones
                                                                       Set Dummy = (Load (Key ((S_Dummy + (String((Integer A)))) + (String(i)))) of (Key Identificador) in TablaHash)
                                                                       Set Efecto = (Load (Key ((S_Efecto + (String((Integer A)))) + (String(i)))) of (Key Identificador) in TablaHash)
                                                                       Custom script:   call FlushChildHashtable(udg_TablaHash, GetHandleId(udg_Dummy))
                                                                       Unidad - Kill Dummy
                                                                       Efecto especial - Destroy Efecto
                                                               Tabla hash - Save -0.10 as (Key (S_Delay2 + (String(i)))) of (Key Identificador) in TablaHash
                                                           Otros: Acciones
                                                       Set Real = ((Load (Key (S_Time + (String(i)))) of (Key Identificador) from TablaHash) + 0.04)
                                                       Set Real3 = (Load (Key (S_Delay3 + (String(i)))) of (Key Identificador) from TablaHash)
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               Real3 Igual a (==) 0.00
                                                           Entonces: Acciones
                                                               Custom script:   set x = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_X" + I2S(1) ) + I2S(udg_i) )))
                                                               Custom script:   set y = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_Y" + I2S(1) ) + I2S(udg_i) )))
                                                               Custom script:   set udg_Punto = Location(x,y)
                                                                Do Multiple ActionsFor each (Integer A) from 1 to 9, do (Actions)
                                                                   Bucle: Acciones
                                                                       Custom script:   set x = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_X" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                                       Custom script:   set y = LoadReal(udg_TablaHash, Id, StringHash(( ( "S_Y" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                                       Custom script:   set udg_Punto2 = Location(x,y)
                                                                       Efecto especial - Create a special effect at Punto2 using Shrapnel_ModelEffectEfecto
                                                                       Efecto especial - Destroy (Last created special effect)
                                                                       Custom script:   call RemoveLocation(udg_Punto2)
                                                               Set Grupo = (Units within 400.00 of Punto matching ((((Matching unit) is Mecánica) Igual a (==) False) and ((((Matching unit) is dead) Igual a (==) False) and (((Matching unit) belongs to an enemy of Jugador) Igual a (==) True))))
                                                               Grupo de unidad - Pick every unit in Grupo and do (Actions)
                                                                   Bucle: Acciones
                                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                                           Si: Condiciones
                                                                               ((Picked unit) is Una estructura) Igual a (==) True
                                                                           Entonces: Acciones
                                                                               Unidad - Cause Caster to damage (Picked unit), dealing (Damage x 0.33) damage of attack type Conjuros and damage type Normal
                                                                           Otros: Acciones
                                                                               Unidad - Cause Caster to damage (Picked unit), dealing Damage damage of attack type Conjuros and damage type Normal
                                                                               Set Punto3 = (Position of (Picked unit))
                                                                               Unidad - Create 1 Dummy for Jugador at Punto3 facing Vista edificio predeterminada (270.0) degrees
                                                                               Unidad - Add Shrapnel Dummy  to (Last created unit)
                                                                               Unidad - Add a 1.00 second Gené️rico expiration timer to (Last created unit)
                                                                               Unidad - Set level of Shrapnel Dummy  for (Last created unit) to (Level of Shrapnel_Ability for Caster)
                                                                               Unidad - Order (Last created unit) to Humano Hechicera: Ralentizar (Picked unit)
                                                                               Custom script:   call RemoveLocation(udg_Punto3)
                                                               Custom script:   call DestroyGroup(udg_Grupo)
                                                               Set Real3 = 1.04
                                                               Custom script:   call RemoveLocation(udg_Punto)
                                                           Otros: Acciones
                                                       Set Real3 = (Real3 - 0.04)
                                                       Tabla hash - Save Real3 as (Key (S_Delay3 + (String(i)))) of (Key Identificador) in TablaHash
                                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                           Si: Condiciones
                                                               Real Mayor que o igual a (>=) 9.00
                                                           Entonces: Acciones
                                                                Do Multiple ActionsFor each (Integer A) from 1 to 9, do (Actions)
                                                                   Bucle: Acciones
                                                                       Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_X" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                                       Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_Y" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_X" + "0" ) + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_Y" + "0" ) + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "S_Damage" + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "S_Delay1" + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "S_Delay2" + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "S_Delay3" + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedReal(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( "S_Time" + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_Dummy" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                               Custom script:   call RemoveSavedHandle(udg_TablaHash, GetHandleId(udg_Identificador), StringHash(( ( "S_Efecto" + I2S(bj_forLoopAIndex) ) + I2S(udg_i) )))
                                                               Custom script:   call SaveInteger( udg_TablaHash, GetHandleId(udg_Identificador), StringHash("Shrapnel 0"), udg_Entero - 1 )
                                                           Otros: Acciones
                                                       Tabla hash - Save Real as (Key (S_Time + (String(i)))) of (Key Identificador) in TablaHash
                                           Otros: Acciones
                           Otros: Acciones
                               Grupo de unidad - Remove (Picked unit) from Shrapnel_Grupo
           Otros: Acciones
               Detonador - Turn off (This trigger)
[/gui]

Headshot: Proporciona la oportunidad de que un ataque provoque una bonificación de daño y aturda a su adversario durante 0.25 segundos.

Take Aim: Kardel uses his dwarf engineering skills to make modifications to his rifle, enhancing the range of his rifle.

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

Assassinate: Take time to draw a bead, and then deal a large amount of damage to the target at a huge range.

[gui]Assassinate
   Acontecimientos
       Unidad - A unit Comienza a canalizar una habilidad
   Condiciones
       (Ability being cast) Igual a (==) Assassinate_Ability
   Acciones
        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
           Si: Condiciones
               A_Enteros[1] Igual a (==) 0
           Entonces: Acciones
               Detonador - Turn on Assassinate Loop
           Otros: Acciones
       Set A_Enteros[1] = (A_Enteros[1] + 1)
       Set A_Enteros[2] = (A_Enteros[2] + 1)
       Set A_Caster[A_Enteros[2]] = (Triggering unit)
       Set A_Target[A_Enteros[2]] = (Target unit of ability being cast)
       Set A_TiempoAdicional[A_Enteros[2]] = 1.00
       Custom script:   set udg_A_Efecto[udg_A_Enteros[2]] = AddSpecialEffectTargetForPlayer(udg_Assassinate_ModelEffect, GetSpellTargetUnit(), "overhead", GetTriggerPlayer())
       Unidad - Conceder shared vision of (Target unit of ability being cast) to (Triggering player)
[/gui]

[gui]Assassinate Loop
   Acontecimientos
       Tiempo - Every 0.04 seconds of game time
   Condiciones
   Acciones
        Do Multiple ActionsFor each (Integer A_Enteros[3]) from 1 to A_Enteros[2], do (Actions)
           Bucle: Acciones
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       A_Caster[A_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
                               (Current order of A_Caster[A_Enteros[3]]) No igual a (!=) (Order(thunderbolt))
                           Entonces: Acciones
                               Set A_TiempoAdicional[A_Enteros[3]] = (A_TiempoAdicional[A_Enteros[3]] - 0.04)
                                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                   Si: Condiciones
                                       A_TiempoAdicional[A_Enteros[3]] Menor que (<) 0.01
                                   Entonces: Acciones
                                       Efecto especial - Destroy A_Efecto[A_Enteros[3]]
                                       Unidad - Negar shared vision of A_Target[A_Enteros[3]] to (Owner of A_Caster[A_Enteros[3]])
                                       Set A_Caster[A_Enteros[3]] = Ninguna unidad
                                       Set A_Enteros[1] = (A_Enteros[1] - 1)
                                        Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                           Si: Condiciones
                                               A_Enteros[1] Igual a (==) 0
                                           Entonces: Acciones
                                               Set A_Enteros[2] = 0
                                               Detonador - Turn off (This trigger)
                                           Otros: Acciones
                                   Otros: Acciones
                           Otros: Acciones
                   Otros: Acciones
[/gui]

Link oculto. Comenta


Si se me escapó un leak o hay alguna constante que deba ser seteada que no puse. Me avisan Very Happy


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

avatar


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

Mensajes Mensajes : 251
Reputación Reputación : 28
Monedas de oro : 518
Monedas de Platino : 0

Inventario :
Armadura de Plata
Gema de la visión verdadera

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

¿y mi fenix?, ¿donde está mi fenix?

xD genial, un gran aporte por un gran admin Wink


Volver arriba Ir abajo
Ruke

avatar


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

Mensajes Mensajes : 298
Reputación Reputación : 63
Monedas de oro : 1677
Monedas de Platino : 0

Inventario :



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

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.
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3062
Reputación Reputación : 511
Monedas de oro : 9495
Monedas de Platino : 0

Inventario :



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

Sauron, yo siempre tengo yeta con tus librerías :v

PD: No se me hace la costumbre, sino hubiera usado MUI xD

Para la próxima lo hago en MUI
Volver arriba Ir abajo
shikuso
Capitán
avatar


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

Mensajes Mensajes : 133
Reputación Reputación : 48
Monedas de oro : 682
Monedas de Platino : 0

Inventario :



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

Shocked  bravo marcos bounce  gacias  :hand: 



Volver arriba Ir abajo
GhxBronie

avatar


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

Mensajes Mensajes : 941
Reputación Reputación : 174
Monedas de oro : 4138
Monedas de Platino : 5

Inventario :



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

Ya me decía, cuando los ibas a Publicar -

Buen Trabajo +rep




[ Mis Otras Cuentas ]
Volver arriba Ir abajo
MuSe

avatar


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

Mensajes Mensajes : 216
Reputación Reputación : 46
Monedas de oro : 2587
Monedas de Platino : 5

Inventario :



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

Buen trabajo Marcos Wink, como dice Adram.. donde está el Fenix? xD +rep

Saludos.
Volver arriba Ir abajo
TRISTAN
Caballero
avatar


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

Mensajes Mensajes : 297
Reputación Reputación : 60
Monedas de oro : 1788
Monedas de Platino : 3

Inventario :



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

Buen aporte Marquinhos aunque no me llama la atención mucho esto de los Heroes de Dota, es un gran aporte para aquellos que piensan utilizarlos.. Ojalá tu trabajo prospere y puedas alcanzar muchos más.. Very Happy



Valar Morghulis|Mis aportes|
Volver arriba Ir abajo
Audiomiguelz
Peón
avatar


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

Mensajes Mensajes : 52
Reputación Reputación : 0
Monedas de oro : 184
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Vie Mar 07, 2014 5:23 pm

Puedes hacer uno del Lyon .3 jajaj es broma xD

Comentando para ver Very Happy




Volver arriba Ir abajo
Puuck
Peón
avatar


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

Mensajes Mensajes : 35
Reputación Reputación : 0
Monedas de oro : 16
Monedas de Platino : 0

Inventario :
Cuchillo


Mensaje(#) Tema: Re: [PACK] Héroes de DotA Vie Mar 07, 2014 5:34 pm

Desde que entre supe que no entenderia nada xD en todo caso muy buen aporte. Gj  Wink  Wink  Wink 


Volver arriba Ir abajo
kaelthas
Aprendiz


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

Mensajes Mensajes : 13
Reputación Reputación : 0
Monedas de oro : 23
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Dom Mar 16, 2014 11:29 am

Comento para descargar Very Happy
Volver arriba Ir abajo
somnivoro
Peón
avatar


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

Mensajes Mensajes : 32
Reputación Reputación : 0
Monedas de oro : 108
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Jue Jun 12, 2014 6:20 pm

ando por akí revisandolo todo, y junto con comentar para descargar kisiera preguntar Very Happy
ke tipo de variable es: Set GDD__LeftMapGroup = GDD__LeftMapGroup??
gracias
Volver arriba Ir abajo
distorsionx
Iniciado


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

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

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Jue Jun 12, 2014 11:31 pm

estaba buscando take aim, muchas gracias
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3062
Reputación Reputación : 511
Monedas de oro : 9495
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Vie Jun 13, 2014 8:08 am

@somnivoro escribió:
ando por akí revisandolo todo, y junto con comentar para descargar kisiera preguntar Very Happy
ke tipo de variable es:  Set GDD__LeftMapGroup = GDD__LeftMapGroup??
gracias

Creo que es una booleana. Pero deja al WorldEdit que se encargu de crear las variables
Volver arriba Ir abajo
dariem
Peón


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

Mensajes Mensajes : 38
Reputación Reputación : 1
Monedas de oro : 105
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Lun Jun 30, 2014 4:59 pm

Buen aporte
Volver arriba Ir abajo
Metalx
Capitán


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

Mensajes Mensajes : 150
Reputación Reputación : 4
Monedas de oro : 453
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Vie Jul 04, 2014 8:30 pm

wow, quisiera bajarme esto
Volver arriba Ir abajo
madafaka3
Aprendiz
avatar


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 : 64
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: [PACK] Héroes de DotA Miér Oct 29, 2014 8:15 pm

:O gracias muy buen aporte estoy creando un mapa parecido a dota pero con nuevos personajes muchas gracias What a Face bounce cheers
Volver arriba Ir abajo
Therick
Aprendiz
avatar


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

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

Inventario :



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

Wow voy a probar Smile


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 1 de 3.Ir a la página : 1, 2, 3  Siguiente

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