Page 1 of 3 1 2 3 LastLast
Results 1 to 10 of 27

Thread: Arc Warden data.(dota1)

  1. #1
    Basic Member igo95862's Avatar
    Join Date
    Aug 2012
    Posts
    3,142

    Arc Warden data.(dota1)

    Dota 1 data:
    Spoiler: 

    I. Hero
    Spoiler: 

    [N0MK]
    auto=_
    abilList=AInv
    heroAbilList=Aamk,A2LL,A2LM,A2M0,A2M1
    level=5
    type=_
    goldcost=250
    stockMax=1
    stockRegen=6
    stockStart=15
    HP=150
    realHP=550
    regenHP=0.25
    regenType=always
    realM=225
    mana0=100
    regenMana=0.01
    def=-1
    realdef=3.7
    defType=hero
    spd=295
    bldtm=55
    reptm=55
    sight=1350
    nsight=600
    STR=24
    INT=24
    AGI=15
    STRplus=1.9
    INTplus=2.1
    AGIplus=1.8
    abilTest=6
    Primary=AGI
    upgrades=_
    tilesets=*
    preventPlace=_
    requirePlace=_
    collision=24
    race=human
    prio=9
    threat=1
    valid=1
    deathType=2
    death=2.13
    cargoSize=1
    movetp=foot
    turnRate=0.4
    propWin=61
    orientInterp=4
    formation=2
    targType=ground
    pathTex=_
    points=110
    buffType=_
    nameCount=1
    canFlee=1
    file=units\creeps\GnollWarden\GnollWarden
    unitSound=Acolyte
    name=Custom_N0MK
    hideHeroDeathMsg=1
    blend=0.15
    scale=1.5
    scaleBull=1
    maxPitch=10
    maxRoll=10
    elevPts=2
    elevRad=50
    walk=200
    run=200
    weap1=WoodHeavyBash
    weap2=_
    teamColor=-1
    armor=Flesh
    modelScale=1.1
    red=255
    green=255
    blue=255
    uberSplat=_
    unitShadow=Shadow
    buildingShadow=_
    shadowW=120
    shadowH=120
    shadowX=60
    shadowY=60
    shadowOnWater=1
    weapsOn=1
    acquire=800
    castpt=0.3
    castbsw=0.51
    launchY=70
    launchZ=11
    impactZ=11
    weapType1=_
    targs1=air,debris,ground,item,structure,ward
    showUI1=1
    rangeN1=625
    RngBuff1=250
    atkType1=hero
    weapTp1=missile
    cool1=1.7
    dice1=1
    sides1=11
    dmgplus1=24
    mindmg1=2
    avgdmg1=7
    maxdmg1=12
    dmgpt1=0.3
    backSw1=0.7
    splashTargs1=_
    targCount1=1
    weapType2=_
    targs2=ground,structure,debris,air,item,ward
    showUI2=1
    rangeN2=500
    RngBuff2=250
    atkType2=hero
    weapTp2=missile
    cool2=2.13
    dice2=2
    sides2=4
    mindmg2=2
    avgdmg2=5
    maxdmg2=8
    dmgpt2=0.3
    backSw2=0.7
    splashTargs2=_
    targCount2=1
    Name="Arc Warden"
    Propernames=Zet
    Tip="Arc Warden"
    Hotkey=
    Ubertip="In the magnetic and ether touched lands of the far south a perpetual storm rages. In this strange, barren land, only an isolated tribe of nomads know to exist. These nomads worship the very nether storms that plague the land, and born out of this bizarre energy and intense faith, a chaotic god emerges. Sensing the calamity of the approaching battle of the ancients, the infant deity imbues his most trusted prophet with avataric powers and sends him to quell the forces of order and good that impede his growth. Wielding the ether touched powers of lightning, magnetism, and the ability to reverberate an exact duplicate of himself into being, Arc Warden is a force to be reckoned with.|n |n|c000042ffStrength|r - 24 + 1.9|n|c00ff0303Agility|r - 15 + 1.8|n|c000042ffIntelligence|r - 24 + 2.1|n|nLearns Flux, Magnetic Field, Spark Wraith, and |c00ff8000Tempest Double|r.|n|nAttack range of 625. |nMovement speed of 295."
    Revivetip="Revive Arc Warden"
    Awakentip="Revive Arc Warden"
    Art=ReplaceableTextures\CommandButtons\BTNGnollWar den.blp
    Buttonpos=0,1
    Requires=
    Requires1=
    Requires2=
    Specialart=
    ScoreScreenIcon=ReplaceableTextures\CommandButtons \BTNGnollWarden.blp
    Missileart=war3mapImported\GnollMissile.mdl
    Missilearc=0.1
    Missilespeed=800
    MissileHoming=1
    Requirescount=3

    II. Spells
    Spoiler: 

    Flux
    Spoiler: 

    [A2M1]
    code=ANcl
    checkDep=1
    levels=4
    reqLevel=1
    levelSkip=2
    priority=5
    targs1=air,enemies,ground,neutral,organic
    Cool1=20
    Cost1=75
    Rng1=600
    DataB1=1
    DataC1=1
    DataD1=0.98
    DataF1=thunderbolt
    targs2=air,enemies,ground,neutral,organic
    Cool2=20
    Cost2=75
    Rng2=700
    DataB2=1
    DataC2=1
    DataD2=0.98
    DataF2=thunderbolt
    targs3=air,enemies,ground,neutral,organic
    Cool3=20
    Cost3=75
    Rng3=800
    DataB3=1
    DataC3=1
    DataD3=0.98
    DataF3=thunderbolt
    targs4=air,enemies,ground,neutral,organic
    Cool4=20
    Cost4=75
    Rng4=900
    DataB4=1
    DataC4=1
    DataD4=0.98
    DataF4=thunderbolt
    Art=ReplaceableTextures\CommandButtons\BTNPurge.bl p
    Buttonpos=0,2
    Casterart=
    Casterattach=
    Targetart=
    Order=thunderbolt
    Animnames=spell
    Effectart=
    ResearchArt=ReplaceableTextures\CommandButtons\BTN Purge.blp
    Targetattach=origin
    Name="Flux"
    Tip="Flux [|cffffcc00C|r] - [|cffffcc00Level 1|r]","Flux [|cffffcc00C|r] - [|cffffcc00Level 2|r]","Flux [|cffffcc00C|r] - [|cffffcc00Level 3|r]","Flux [|cffffcc00C|r] - [|cffffcc00Level 4|r]"
    Ubertip="Engulfs an enemy unit with swirling volatile energy for 6 seconds, slowing it's movement speed by 50% and dealing 15 damage per second if it is alone. The effect is muted if there is a nearby enemy unit within 225 aoe. |n|n|cff99ccffCooldown: |r 20","Engulfs an enemy unit with swirling volatile energy for 6 seconds, slowing it's movement speed by 50% and dealing 30 damage per second if it is alone. The effect is muted if there is a nearby enemy unit within 225 aoe. |n|n|cff99ccffCooldown: |r 20","Engulfs an enemy unit with swirling volatile energy for 6 seconds, slowing it's movement speed by 50% and dealing 45 damage per second if it is alone. The effect is muted if there is a nearby enemy unit within 225 aoe. |n|n|cff99ccffCooldown: |r 20","Engulfs an enemy unit with swirling volatile energy for 6 seconds, slowing it's movement speed by 50% and dealing 60 damage per second if it is alone. The effect is muted if there is a nearby enemy unit within 225 aoe. |n|n|cff99ccffCooldown: |r 20"
    Hotkey=C
    Researchtip="Learn Flux [|cffffcc00C|r] - [|cffffcc00Level %d|r]"
    Researchubertip="Engulfs an enemy unit with swirling volatile energy for 6 seconds, slowing it's movement speed by 50% and dealing damage over time if it is alone. The effect is muted if there is a nearby enemy unit within 225 aoe. |n|n|cffffcc00Level 1|r - 15 DPS |n|cffffcc00Level 2|r - 30 DPS |n|cffffcc00Level 3|r - 45 DPS |n|cffffcc00Level 4|r - 60 DPS |n|n|cff99ccffCooldown: |r 20"
    Researchhotkey="C"

    Magnetic Field
    Spoiler: 

    [A2LM]
    code=ANcl
    checkDep=1
    levels=4
    reqLevel=1
    levelSkip=2
    targs1=air,ground,debris,enemy,neutral,organic
    Cool1=50
    Cost1=110
    Area1=275
    Rng1=900
    DataB1=2
    DataC1=3
    DataD1=0.5
    DataF1=acidbomb
    targs2=air,ground,debris,enemy,neutral,organic
    Cool2=50
    Cost2=110
    Area2=275
    Rng2=900
    DataB2=2
    DataC2=3
    DataD2=0.5
    DataF2=acidbomb
    targs3=air,ground,debris,enemy,neutral,organic
    Cool3=50
    Cost3=110
    Area3=275
    Rng3=900
    DataB3=2
    DataC3=3
    DataD3=0.5
    DataF3=acidbomb
    targs4=air,ground,debris,enemy,neutral,organic
    Cool4=50
    Cost4=110
    Area4=275
    Rng4=900
    DataB4=2
    DataC4=3
    DataD4=0.5
    DataF4=acidbomb
    Art=ReplaceableTextures\CommandButtons\BTNMagnetic Field.blp
    Buttonpos=1,2
    Casterart=
    Casterattach=
    Targetart=
    Order=acidbomb
    Animnames=attack,two
    Researchbuttonpos=1,0
    Effectart=
    ResearchArt=ReplaceableTextures\CommandButtons\BTN MagneticField.blp
    Targetattach=
    Name="Magnetic Field"
    Tip="Magnetic |cffffcc00F|rield - [|cffffcc00Level 1|r]","Magnetic |cffffcc00F|rield - [|cffffcc00Level 2|r]","Magnetic |cffffcc00F|rield - [|cffffcc00Level 3|r]","Magnetic |cffffcc00F|rield - [|cffffcc00Level 4|r]"
    Ubertip="Distorts space, generating a circular field that grants 100% evasion and 50 bonus attack speed to allied heroes and buildings within. The field has an aoe of 275 and lasts 3.5 seconds. |n|n|cff99ccffCooldown: |r 50","Distorts space, generating a circular field that grants 100% evasion and 60 bonus attack speed to allied heroes and buildings within. The field has an aoe of 275 and lasts 4 seconds. |n|n|cff99ccffCooldown: |r 50","Distorts space, generating a circular field that grants 100% evasion and 70 bonus attack speed to allied heroes and buildings within. The field has an aoe of 275 and lasts 4.5 seconds. |n|n|cff99ccffCooldown: |r 50","Distorts space, generating a circular field that grants 100% evasion and 80 bonus attack speed to allied heroes and buildings within. The field has an aoe of 275 and lasts 5 seconds. |n|n|cff99ccffCooldown: |r 50"
    Hotkey=F
    Researchtip="Learn Magnetic |cffffcc00F|rield - [|cffffcc00Level %d|r]"
    Researchubertip="Distorts space, generating a circular field that grants 100% evasion and bonus attack speed to allied heroes and buildings within. The field has an aoe of 275. |n|n|cffffcc00Level 1|r - Lasts 3.5 seconds. 50 Attack Speed Bonus. |n|cffffcc00Level 2|r - Lasts 4 seconds. 60 Attack Speed Bonus. |n|cffffcc00Level 3|r - Lasts 4.5 seconds. 70 Attack Speed Bonus. |n|cffffcc00Level 4|r - Lasts 5 seconds. 80 Attack Speed Bonus. |n|n|cff99ccffCooldown: |r 50"
    Researchhotkey="F"

    Spark Wraith
    Spoiler: 

    [A2LL]
    code=ANcl
    checkDep=1
    levels=4
    reqLevel=1
    targs1=air,enemies,ground,hero
    Cool1=4
    Cost1=50
    Rng1=2000
    DataB1=2
    DataC1=1
    DataD1=0.5
    DataF1=channel
    targs2=air,enemies,ground,hero
    Cool2=4
    Cost2=50
    Rng2=2000
    DataB2=2
    DataC2=1
    DataD2=0.5
    DataF2=channel
    targs3=air,enemies,ground,hero
    Cool3=4
    Cost3=50
    Rng3=2000
    DataB3=2
    DataC3=1
    DataD3=0.5
    DataF3=channel
    targs4=air,enemies,ground,hero
    Cool4=4
    Cost4=50
    Rng4=2000
    DataB4=2
    DataC4=1
    DataD4=0.5
    DataF4=channel
    Art=ReplaceableTextures\CommandButtons\BTNSparkWra ith.blp
    Buttonpos=2,2
    Casterart=
    Casterattach=
    Targetart=
    Order=channel
    Animnames=attack
    Researchbuttonpos=2,0
    Effectart=
    ResearchArt=ReplaceableTextures\CommandButtons\BTN SparkWraith.blp
    Targetattach=
    Name="Spark Wraith"
    Tip="Spa|cffffcc00r|rk Wraith - [|cffffcc00Level 1|r]","Spa|cffffcc00r|rk Wraith - [|cffffcc00Level 2|r]","Spa|cffffcc00r|rk Wraith - [|cffffcc00Level 3|r]","Spa|cffffcc00r|rk Wraith - [|cffffcc00Level 4|r]"
    Ubertip="Summons a Spark Wraith that takes 3 seconds to fully materialize. Haunts the targeted area until an enemy comes within its range and then fuses itself into him dealing 150 magical damage. |n|n|cff99ccffCooldown: |r 4","Summons a Spark Wraith that takes 3 seconds to fully materialize. Haunts the targeted area until an enemy comes within its range and then fuses itself into him dealing 200 magical damage. |n|n|cff99ccffCooldown: |r 4","Summons a Spark Wraith that takes 3 seconds to fully materialize. Haunts the targeted area until an enemy comes within its range and then fuses itself into him dealing 250 magical damage. |n|n|cff99ccffCooldown: |r 4","Summons a Spark Wraith that takes 3 seconds to fully materialize. Haunts the targeted area until an enemy comes within its range and then fuses itself into him dealing 300 magical damage. |n|n|cff99ccffCooldown: |r 4"
    Hotkey=R
    Researchtip="Learn Spa|cffffcc00r|rk Wraith - [|cffffcc00Level %d|r]"
    Researchubertip="Summons a Spark Wraith that takes 3 seconds to fully materialize. Haunts the targeted area until an enemy comes within its range and then fuses itself into him dealing magical damage. |n|n|cffffcc00Level 1|r - 150 damage |n|cffffcc00Level 2|r - 200 damage |n|cffffcc00Level 3|r - 250 damage |n|cffffcc00Level 4|r - 300 damage |n|n|cff99ccffCooldown: |r 4"
    Researchhotkey="R"

    Tempest Double
    Spoiler: 

    [A2M0]
    code=ANsg
    levels=3
    reqLevel=6
    levelSkip=5
    targs1=_
    Dur1=0.01
    HeroDur1=0.01
    Cool1=65
    Area1=200
    DataA1=1
    UnitID1=e00E
    BuffID1=BNsg
    targs2=_
    Dur2=0.01
    HeroDur2=0.01
    Cool2=60
    Area2=200
    DataA2=1
    UnitID2=e00E
    BuffID2=BNsg
    targs3=_
    Dur3=0.01
    HeroDur3=0.01
    Cool3=55
    Area3=200
    DataA3=1
    UnitID3=e00E
    BuffID3=BNsg
    targs4=_
    Dur4=75.00
    HeroDur4=75.00
    Cool4=120.00
    Cost4=75
    Area4=200
    DataA4=1
    UnitID4=e00E
    BuffID4=BNsg
    Art=ReplaceableTextures\CommandButtons\BTNTempestD ouble.blp
    Buttonpos=3,2
    Targetart=Abilities\Spells\Orc\FeralSpirit\feralsp iritdone.mdl
    Order=summongrizzly
    Animnames=spell,slam
    Researchart=ReplaceableTextures\CommandButtons\BTN TempestDouble.blp
    Researchbuttonpos=3,0
    Name="Tempest Double"
    Tip="Tempest |cffffcc00D|rouble - [|cffffcc00Level 1|r]","Tempest |cffffcc00D|rouble - [|cffffcc00Level 2|r]","Tempest |cffffcc00D|rouble - [|cffffcc00Level 3|r]","Summon Spirit |cffffcc00B|rear - [|cffffcc00Level 4|r]"
    Ubertip="By vibrating at extreme speeds, Tempest is able to create a perfect electrical incarnation of himself for 20 seconds, at the cost of 30% of his health and mana. This incarnation can use any spells or items he has, and spawns with his health and mana after the cast. |n|n|cff99ccffCooldown: |r 65","By vibrating at extreme speeds, Tempest is able to create a perfect electrical incarnation of himself for 20 seconds, at the cost of 15% of his health and mana. This incarnation can use any spells or items he has, and spawns with his health and mana after the cast. |n|n|cff99ccffCooldown: |r 60","By vibrating at extreme speeds, Tempest is able to create a perfect electrical incarnation of himself for 20 seconds, at the cost of 0% of his health and mana. This incarnation can use any spells or items he has, and spawns with his health and mana after the cast. |n|n|cff99ccffCooldown: |r 55","Summons a powerful 2700 hit point Spirit Bear companion. He stays with you permanently, but if he dies, you lose 400 health. He will Entangle enemies he attacks 20% of the time, dealing 40 damage per second over 3 seconds and forbidding movement. He has Demolish, dealing 1.4 times damage against buildings. If he tries to attack while too far from Syllabear, he will be teleported back. He can also Return to Syllabear's position at any time. Takes 33% less damage from spells. |n|n|cff99ccffCooldown: |r 120"
    Hotkey=D
    Researchtip="Learn Tempest |cffffcc00D|rouble - [|cffffcc00Level %d|r]"
    Researchubertip="By vibrating at extreme speeds, Tempest is able to create a perfect electrical incarnation of himself for 20 seconds, at the cost of health and mana. This incarnation can use any spells or items he has, and spawns with his health and mana after the cast. |n|n|cffffcc00Level 1|r - 30% HP/Mana cost |n|cffffcc00Level 2|r - 15% HP/Mana cost |n|cffffcc00Level 3|r - 0% HP/Mana cost |n|n|cff99ccffCooldown: |r 65/60/55"
    Researchhotkey="D"


    III. Table of Spells interactions with different status effects.

    Skill/Hero
    Magic Immunity
    Linken Sphere Purge Dispel Cyclone and invulnerability Banish Fog of War Invisibility Disjointness Doom
    Arc Warden
    Flux
    Cannot be casted on magic immunity
    Dispelled by magic immunity
    Blocked Cannot be purged Cannot be dispelled by Dark Pact
    Borrowed Time and Aphotic shield will dispel it for short period of time but it will be reapplied.
    Invulnerable and Cycloned allies mute damage and slow. Banished allies will not mute damage and slow Fogged allies of enemy can mute damage and slow. Invisible allies of targeted enemy will mute damage and slow. - -
    Magnetic Field
    Works on magic immune allies. - Cannot be purged - Affects invulnerable allies - - - - Doom will disable evasion
    but not attack speed buff
    Spark Wraith
    Ignores magic immune enemies. Not blocked - - Shots at cycloned and invunerable enemies effectively wasting it self. Ignores banished Flying 300/300 Duration of the wraith + 3.34s Invisible enemies will trigger sparks and will get chased and damaged. Cannot be disjoint. Will follow you to your real position. -


    IV. Few Aspects

    Tempest Double is a real hero. It interacts with all spells as a hero or a Meepo clone. For example it can damage Supernova

    Tempest Double and tango interaction. Shared tango cannot be sold.

    V. JASS code

    Spoiler: 

    elseif loc_integer01==110 then

    call ExecuteFunc("Func4290") Spark Wraith
    Spoiler: 

    function Func4290 takes nothing returns nothing
    local trigger loc_trigger01=CreateTrigger()
    call Func0175(loc_trigger01,EVENT_PLAYER_UNIT_SPELL_EFF ECT)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4289))
    set loc_trigger01=null
    endfunction

    function Func4289 takes nothing returns boolean
    if GetSpellAbilityId()=='A2LL' then
    call Func4288()
    endif
    return false
    endfunction

    function Func4288 takes nothing returns nothing
    local unit loc_unit01=GetTriggerUnit()
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local real loc_real01=GetSpellTargetX()
    local real loc_real02=GetSpellTargetY()
    local unit loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01), 'h0EG',loc_real01,loc_real02,270)
    local integer loc_integer02=GetUnitAbilityLevel(loc_unit01,'A2LL ')
    call SetUnitAnimationByIndex(loc_unit02,0)
    call TriggerRegisterTimerEvent(loc_trigger01,3,false)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4287))
    call SaveInteger(hashtable001,(loc_integer01),(5),(loc_ integer02))
    call SaveUnitHandle(hashtable001,(loc_integer01),(45),( loc_unit02))
    set loc_unit01=null
    set loc_unit02=null
    set loc_trigger01=null
    endfunction

    function Func4287 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local integer loc_integer02=(LoadInteger(hashtable001,(loc_integ er01),(5)))
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(45)))
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    set loc_trigger01=CreateTrigger()
    set loc_integer01=GetHandleId(loc_trigger01)
    call TriggerRegisterTimerEvent(loc_trigger01,0.05,true)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4286))
    call SaveInteger(hashtable001,(loc_integer01),(5),(loc_ integer02))
    call SaveUnitHandle(hashtable001,(loc_integer01),(45),( loc_unit01))
    call SetUnitAnimationByIndex(loc_unit01,1)
    set loc_trigger01=null
    set loc_unit01=null
    return false
    endfunction

    function Func4286 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local integer loc_integer02=(LoadInteger(hashtable001,(loc_integ er01),(5)))
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(45)))
    local group loc_group01
    local unit loc_unit02
    if GetTriggerEvalCount(loc_trigger01)>real395/0.05 then
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call KillUnit(loc_unit01)
    else
    set unit124=loc_unit01
    set loc_group01=Func0030()
    call GroupEnumUnitsInRange(loc_group01,GetUnitX(loc_uni t01),GetUnitY(loc_unit01),400,Condition(function Func0308))
    set loc_unit02=Func0250(loc_group01,GetUnitX(loc_unit0 1),GetUnitY(loc_unit01))
    call Func0029(loc_group01)
    if loc_unit02!=null then
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call Func4285(loc_integer02,loc_unit01,loc_unit02)
    endif
    set loc_group01=null
    set loc_unit02=null
    endif
    set loc_trigger01=null
    set loc_unit01=null
    return false
    endfunction

    function Func4285 takes integer loc_integer01,unit loc_unit01,unit loc_unit02 returns nothing
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer02=GetHandleId(loc_trigger01)
    call SetUnitAnimationByIndex(loc_unit01,2)
    call SetUnitVertexColor(loc_unit01,255,255,255,150)
    call TriggerRegisterTimerEvent(loc_trigger01,0.05,true)
    call TriggerRegisterDeathEvent(loc_trigger01,loc_unit02 )
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4284))
    call SaveInteger(hashtable001,(loc_integer02),(5),(loc_ integer01))
    call SaveUnitHandle(hashtable001,(loc_integer02),(17),( loc_unit02))
    call SaveUnitHandle(hashtable001,(loc_integer02),(45),( loc_unit01))
    call SetUnitAnimationByIndex(loc_unit01,2)
    set loc_trigger01=null
    endfunction

    function Func4284 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(17)))
    local unit loc_unit02=(LoadUnitHandle(hashtable001,(loc_integ er01),(45)))
    local integer loc_integer02=(LoadInteger(hashtable001,(loc_integ er01),(5)))
    local real loc_real01
    local real loc_real02
    local real loc_real03
    if GetTriggerEventId()==EVENT_WIDGET_DEATH then
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call KillUnit(loc_unit02)
    else
    set loc_real03=Func0168(GetUnitX(loc_unit02),GetUnitY( loc_unit02),GetUnitX(loc_unit01),GetUnitY(loc_unit 01))
    set loc_real01=GetUnitX(loc_unit02)+20*Cos(loc_real03* bj_DEGTORAD)
    set loc_real02=GetUnitY(loc_unit02)+20*Sin(loc_real03* bj_DEGTORAD)
    call SetUnitX(loc_unit02,loc_real01)
    call SetUnitY(loc_unit02,loc_real02)
    call SetUnitFacing(loc_unit02,loc_real03)
    if Func0146(loc_unit02,loc_unit01)<30 then
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call Func0114(loc_unit02,loc_unit01,1,100+50*loc_intege r02)
    call KillUnit(loc_unit02)
    call SetUnitAnimationByIndex(loc_unit02,3)
    endif
    endif
    set loc_trigger01=null
    set loc_unit01=null
    set loc_unit02=null
    return false
    endfunction



    call ExecuteFunc("Func4296") Magnetic field
    Spoiler: 

    function Func4296 takes nothing returns nothing
    local trigger loc_trigger01=CreateTrigger()
    call Func0175(loc_trigger01,EVENT_PLAYER_UNIT_SPELL_EFF ECT)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4295))
    set loc_trigger01=null
    endfunction

    function Func4295 takes nothing returns boolean
    if GetSpellAbilityId()=='A2LM' then
    call Func4294()
    endif
    return false
    endfunction

    function Func4294 takes nothing returns nothing
    local unit loc_unit01=GetTriggerUnit()
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local real loc_real01=GetSpellTargetX()
    local real loc_real02=GetSpellTargetY()
    local integer loc_integer02
    local integer loc_integer03=GetUnitAbilityLevel(loc_unit01,'A2LM ')
    call TriggerRegisterTimerEvent(loc_trigger01,0.1,true)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4293))
    call SaveUnitHandle(hashtable001,(loc_integer01),(2),(l oc_unit01))
    call SaveGroupHandle(hashtable001,(loc_integer01),(340) ,(Func0030()))
    call SaveReal(hashtable001,(loc_integer01),(6),((loc_re al01)*1.0))
    call SaveReal(hashtable001,(loc_integer01),(7),((loc_re al02)*1.0))
    call SaveReal(hashtable001,(loc_integer01),(442),(((Tim erGetElapsed(timer001))+3+0.5*loc_integer03)*1.0))
    call SaveEffectHandle(hashtable001,(loc_integer01),(32) ,(AddSpecialEffect("war3mapImported\\MagneticField 04.mdl",loc_real01,loc_real02)))
    set loc_integer02=0
    loop
    exitwhen loc_integer02>5
    call SetPlayerAbilityAvailable(players003[loc_integer02],'A2M9',false)
    call SetPlayerAbilityAvailable(players004[loc_integer02],'A2M9',false)
    call SetPlayerAbilityAvailable(players003[loc_integer02],'A2MA',false)
    call SetPlayerAbilityAvailable(players004[loc_integer02],'A2MA',false)
    call SetPlayerAbilityAvailable(players003[loc_integer02],'A2MA',false)
    call SetPlayerAbilityAvailable(players004[loc_integer02],'A2LN',false)
    call SetPlayerAbilityAvailable(players003[loc_integer02],'A2M8',false)
    call SetPlayerAbilityAvailable(players004[loc_integer02],'A2M8',false)
    set loc_integer02=loc_integer02+1
    endloop
    set loc_unit01=null
    set loc_trigger01=null
    endfunction

    function Func4293 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(2)))
    local real loc_real01=(LoadReal(hashtable001,(loc_integer01), (6)))
    local real loc_real02=(LoadReal(hashtable001,(loc_integer01), (7)))
    local real loc_real03=(LoadReal(hashtable001,(loc_integer01), (442)))
    local integer loc_integer02=GetUnitAbilityLevel(loc_unit01,'A2LM ')
    local group loc_group01=(LoadGroupHandle(hashtable001,(loc_int eger01),(340)))
    local group loc_group02=Func0030()
    local group loc_group03=Func0030()
    local group loc_group04=Func0030()
    set integer543=loc_integer02
    if(TimerGetElapsed(timer001))>loc_real03 then
    call DestroyEffect((LoadEffectHandle(hashtable001,(loc_ integer01),(32))))
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call ForGroup(loc_group01,function Func4291)
    call Func0029(loc_group01)
    call Func0029(loc_group02)
    call Func0029(loc_group03)
    call Func0029(loc_group04)
    return false
    endif
    set unit124=loc_unit01
    call GroupEnumUnitsInRange(loc_group03,loc_real01,loc_r eal02,300,Condition(function Func0331))
    call GroupEnumUnitsInRange(loc_group04,loc_real01,loc_r eal02,419,Condition(function Func0317))
    call GroupAddGroup(loc_group03,loc_group02)
    call GroupAddGroup(loc_group04,loc_group02)
    call Func0029(loc_group03)
    call Func0029(loc_group04)
    call GroupRemoveGroup(loc_group02,loc_group01)
    call ForGroup(loc_group01,function Func4291)
    call ForGroup(loc_group02,function Func4292)
    call SaveGroupHandle(hashtable001,(loc_integer01),(340) ,(loc_group02))
    call Func0029(loc_group01)
    set loc_trigger01=null
    set loc_unit01=null
    set loc_group01=null
    set loc_group02=null
    return false
    endfunction

    function Func4292 takes nothing returns nothing
    if Func0272(GetEnumUnit())then
    return
    endif
    if integer543==1 then
    set integer544='A2M9'
    elseif integer543==2 then
    set integer544='A2MA'
    elseif integer543==3 then
    set integer544='A2LN'
    elseif integer543==4 then
    set integer544='A2M8'
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),integer544)==0 then
    call Func0190(GetEnumUnit(),integer544)
    call SetPlayerAbilityAvailable(GetOwningPlayer(GetEnumU nit()),integer544,false)
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'ACes' )
    if integer544=='A2M9' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2M4' )
    elseif integer544=='A2MA' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2M5' )
    elseif integer544=='A2LN' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2M6' )
    elseif integer544=='A2M8' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2M7' )
    elseif integer544=='A2NP' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2NM' )
    elseif integer544=='A2NS' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2NL' )
    elseif integer544=='A2NR' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2NN' )
    elseif integer544=='A2NQ' then
    call UnitMakeAbilityPermanent(GetEnumUnit(),true,'A2NO' )
    endif
    endif
    endfunction

    function Func4291 takes nothing returns nothing
    if Func0272(GetEnumUnit())then
    return
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2M9')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2M9')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2MA')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2MA')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2LN')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2LN')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2M8')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2M8')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2NP')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2NP')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2NS')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2NS')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2NR')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2NR')
    endif
    if GetUnitAbilityLevel(GetEnumUnit(),'A2NQ')>0 then
    call UnitRemoveAbility(GetEnumUnit(),'A2NQ')
    endif
    endfunction




    call ExecuteFunc("Func4300") Flux
    Spoiler: 

    function Func4300 takes nothing returns nothing
    local trigger loc_trigger01=CreateTrigger()
    call Func0175(loc_trigger01,EVENT_PLAYER_UNIT_SPELL_EFF ECT)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4299))
    set loc_trigger01=null
    endfunction

    function Func4299 takes nothing returns boolean
    if GetSpellAbilityId()=='A2M1' and Func0028(GetSpellTargetUnit())==false then
    call Func4298()
    endif
    return false
    endfunction

    function Func4298 takes nothing returns nothing
    local unit loc_unit01=GetTriggerUnit()
    local unit loc_unit02=GetSpellTargetUnit()
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local integer loc_integer02='A2LW'
    if GetUnitTypeId(loc_unit01)=='N0MM' then
    set loc_integer02='A2LY'
    endif
    call SetPlayerAbilityAvailable(GetOwningPlayer(loc_unit 02),'A2LW',false)
    call SetPlayerAbilityAvailable(GetOwningPlayer(loc_unit 02),'A2LY',false)
    call TriggerRegisterTimerEvent(loc_trigger01,0.05,true)
    call TriggerRegisterDeathEvent(loc_trigger01,loc_unit02 )
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4297))
    call SaveUnitHandle(hashtable001,(loc_integer01),(2),(l oc_unit01))
    call SaveUnitHandle(hashtable001,(loc_integer01),(17),( loc_unit02))
    call SaveInteger(hashtable001,(loc_integer01),(758),(lo c_integer02))
    call SaveEffectHandle(hashtable001,(loc_integer01),(32) ,(AddSpecialEffectTarget("war3mapImported\\Flux3.m dx",loc_unit02,"origin")))
    call TriggerEvaluate(loc_trigger01)
    set loc_unit01=null
    set loc_unit02=null
    set loc_trigger01=null
    endfunction

    function Func4297 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(2)))
    local unit loc_unit02=(LoadUnitHandle(hashtable001,(loc_integ er01),(17)))
    local integer loc_integer02=GetUnitAbilityLevel(loc_unit01,'A2M1 ')
    local integer loc_integer03=(LoadInteger(hashtable001,(loc_integ er01),(758)))
    local integer loc_integer04=(LoadInteger(hashtable001,(loc_integ er01),(34)))
    local group loc_group01
    if GetTriggerEventId()==EVENT_WIDGET_DEATH or loc_integer04>120 or Func0097(loc_unit02)then
    call UnitRemoveAbility(loc_unit02,'A2LW')
    call UnitRemoveAbility(loc_unit02,'A2LY')
    call UnitRemoveAbility(loc_unit02,'B0G2')
    call UnitRemoveAbility(loc_unit02,'B0G3')
    call DestroyEffect((LoadEffectHandle(hashtable001,(loc_ integer01),(32))))
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    else
    set loc_integer04=loc_integer04+1
    call SaveInteger(hashtable001,(loc_integer01),(34),(loc _integer04))
    set unit124=loc_unit01
    set loc_group01=Func0030()
    call GroupEnumUnitsInRange(loc_group01,GetUnitX(loc_uni t02),GetUnitY(loc_unit02),250,Condition(function Func0301))
    call GroupRemoveUnit(loc_group01,loc_unit02)
    if FirstOfGroup(loc_group01)==null then
    if loc_integer03=='A2LW' then
    if GetUnitAbilityLevel(loc_unit02,'A2LW')==0 then
    call Func0190(loc_unit02,'A2LW')
    call UnitMakeAbilityPermanent(loc_unit02,true,'A2LU')
    call UnitMakeAbilityPermanent(loc_unit02,true,'A2ME')
    endif
    else
    if GetUnitAbilityLevel(loc_unit02,'A2LY')==0 then
    call Func0190(loc_unit02,'A2LY')
    call UnitMakeAbilityPermanent(loc_unit02,true,'A2LT')
    call UnitMakeAbilityPermanent(loc_unit02,true,'A2ME')
    endif
    endif
    if ModuloInteger(loc_integer04,10)==0 then
    call Func0114(loc_unit01,loc_unit02,1,loc_integer02*15* 0.5)
    endif
    else
    if loc_integer03=='A2LW' then
    if GetUnitAbilityLevel(loc_unit02,'A2LW')>0 then
    call UnitRemoveAbility(loc_unit02,'A2LW')
    call UnitRemoveAbility(loc_unit02,'B0G2')
    endif
    else
    if GetUnitAbilityLevel(loc_unit02,'A2LY')>0 then
    call UnitRemoveAbility(loc_unit02,'A2LY')
    call UnitRemoveAbility(loc_unit02,'B0G3')
    endif
    endif
    endif
    call Func0029(loc_group01)
    set loc_group01=null
    endif
    set loc_trigger01=null
    set loc_unit01=null
    set loc_unit02=null
    return false
    endfunction





    call ExecuteFunc("Func4306") Tempest Double
    Spoiler: 

    function Func4306 takes nothing returns nothing
    local trigger loc_trigger01=CreateTrigger()
    call Func0175(loc_trigger01,EVENT_PLAYER_UNIT_SPELL_EFF ECT)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4305))
    set loc_trigger01=null
    endfunction

    function Func4305 takes nothing returns boolean
    if GetSpellAbilityId()=='A2M0' then
    call Func4304()
    endif
    return false
    endfunction

    function Func4304 takes nothing returns nothing
    local unit loc_unit01=GetTriggerUnit()
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01), 'N0MM',GetUnitX(loc_unit01),GetUnitY(loc_unit01),0 )
    local integer loc_integer02=GetUnitAbilityLevel(loc_unit01,'A2M0 ')
    local integer loc_integer03=0
    local item loc_item01
    local integer loc_integer04='I02M'
    call DestroyEffect(AddSpecialEffectTarget("Abilities\\S pells\\Orc\\FeralSpirit\\feralspirittarget.mdl",lo c_unit02,"chest"))
    if Func0056(GetOwningPlayer(loc_unit02))==false then
    set loc_integer04='I0PC'
    endif
    call SelectUnitAddForPlayer(loc_unit02,GetOwningPlayer( loc_unit01))
    call DisableTrigger(trigger057)
    loop
    exitwhen loc_integer03>5
    if UnitItemInSlot(loc_unit01,loc_integer03)!=null and GetItemTypeId(UnitItemInSlot(loc_unit01,loc_intege r03))!=integers091[integer198]and GetItemTypeId(UnitItemInSlot(loc_unit01,loc_intege r03))!=integers091[integer225]and GetItemTypeId(UnitItemInSlot(loc_unit01,loc_intege r03))!=integers091[integer147]and GetItemTypeId(UnitItemInSlot(loc_unit01,loc_intege r03))!=integers091[integer148]and GetItemTypeId(UnitItemInSlot(loc_unit01,loc_intege r03))!=integers091[integer155]then
    set loc_item01=CreateItem(GetItemTypeId(UnitItemInSlot (loc_unit01,loc_integer03)),0,0)
    if GetItemCharges(UnitItemInSlot(loc_unit01,loc_integ er03))>0 then
    call SetItemCharges(loc_item01,GetItemCharges(UnitItemI nSlot(loc_unit01,loc_integer03)))
    endif
    call UnitAddItem(loc_unit02,loc_item01)
    call SetItemPlayer(loc_item01,GetOwningPlayer(loc_unit0 2),false)
    if GetItemTypeId(loc_item01)==integers091[integer212]or GetItemTypeId(loc_item01)==integers091[integer213]or GetItemTypeId(loc_item01)==integers091[integer085]then
    call SetItemDropOnDeath(loc_item01,false)
    endif
    else
    call UnitAddItem(loc_unit02,CreateItem(loc_integer04,0, 0))
    endif
    set loc_integer03=loc_integer03+1
    endloop
    call EnableTrigger(trigger057)
    call SetHeroLevel(loc_unit02,GetHeroLevel(loc_unit01),f alse)
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'Aamk ')
    call SelectHeroSkill(loc_unit02,'Aamk')
    set loc_integer03=loc_integer03+1
    endloop
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'A2LL ')
    call SelectHeroSkill(loc_unit02,'A2LL')
    set loc_integer03=loc_integer03+1
    endloop
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'A2LM ')
    call SelectHeroSkill(loc_unit02,'A2LM')
    set loc_integer03=loc_integer03+1
    endloop
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'A2M1 ')
    call SelectHeroSkill(loc_unit02,'A2M1')
    set loc_integer03=loc_integer03+1
    endloop
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'A2B4 ')
    call SelectHeroSkill(loc_unit02,'A2B4')
    set loc_integer03=loc_integer03+1
    endloop
    set loc_integer03=1
    loop
    exitwhen loc_integer03>GetUnitAbilityLevel(loc_unit01,'A2M0 ')
    call SelectHeroSkill(loc_unit02,'A2M0')
    set loc_integer03=loc_integer03+1
    endloop
    call UnitRemoveAbility(loc_unit02,'A2M0')
    call UnitModifySkillPoints(loc_unit02,-25)
    call SuspendHeroXP(loc_unit02,true)
    call TriggerRegisterTimerEvent(loc_trigger01,0.1,true)
    call TriggerRegisterDeathEvent(loc_trigger01,loc_unit02 )
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4303))
    call SaveUnitHandle(hashtable001,(loc_integer01),(2),(l oc_unit01))
    call SaveUnitHandle(hashtable001,(loc_integer01),(17),( loc_unit02))
    call SetUnitState(loc_unit01,UNIT_STATE_LIFE,GetUnitSta te(loc_unit01,UNIT_STATE_LIFE)*(1-(0.45-0.15*loc_integer02)))
    call SetUnitState(loc_unit01,UNIT_STATE_MANA,GetUnitSta te(loc_unit01,UNIT_STATE_MANA)*(1-(0.45-0.15*loc_integer02)))
    call SetUnitState(loc_unit02,UNIT_STATE_LIFE,GetUnitSta te(loc_unit01,UNIT_STATE_LIFE))
    call SetUnitState(loc_unit02,UNIT_STATE_MANA,GetUnitSta te(loc_unit01,UNIT_STATE_MANA))
    set loc_unit01=null
    set loc_unit02=null
    set loc_trigger01=null
    endfunction

    function Func4303 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(2)))
    local unit loc_unit02=(LoadUnitHandle(hashtable001,(loc_integ er01),(17)))
    local integer loc_integer02=GetUnitAbilityLevel(loc_unit01,'A2M0 ')
    if GetTriggerEvalCount(loc_trigger01)==200 or GetTriggerEventId()==EVENT_WIDGET_DEATH then
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call KillUnit(loc_unit02)
    call DestroyEffect(AddSpecialEffect("Abilities\\Spells\ \Orc\\FeralSpirit\\feralspirittarget.mdl",GetUnitX (loc_unit02),GetUnitX(loc_unit02)))
    set loc_trigger01=CreateTrigger()
    set loc_integer01=GetHandleId(loc_trigger01)
    call SaveUnitHandle(hashtable001,(loc_integer01),(2),(l oc_unit02))
    call TriggerRegisterTimerEvent(loc_trigger01,0,false)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4302))
    set loc_trigger01=CreateTrigger()
    set loc_integer01=GetHandleId(loc_trigger01)
    call TriggerRegisterTimerEvent(loc_trigger01,3,false)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4301))
    call SaveUnitHandle(hashtable001,(loc_integer01),(17),( loc_unit02))
    else
    call SuspendHeroXP(loc_unit02,true)
    call UnitModifySkillPoints(loc_unit02,-25)
    endif
    set loc_trigger01=null
    set loc_unit01=null
    set loc_unit02=null
    return false
    endfunction

    function Func4301 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(17)))
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call FlushChildHashtable(hashtable001,(GetHandleId(loc_ unit01)))
    call RemoveUnit(loc_unit01)
    set loc_trigger01=null
    set loc_unit01=null
    return false
    endfunction

    function Func4302 takes nothing returns boolean
    local trigger loc_trigger01=GetTriggeringTrigger()
    local integer loc_integer01=GetHandleId(loc_trigger01)
    local unit loc_unit01=(LoadUnitHandle(hashtable001,(loc_integ er01),(2)))
    call FlushChildHashtable(hashtable001,(loc_integer01))
    call Func0035(loc_trigger01)
    call FlushChildHashtable(hashtable001,(GetHandleId(loc_ unit01)))
    call ShowUnit(loc_unit01,false)
    set loc_trigger01=null
    set loc_unit01=null
    return false
    endfunction



    call ExecuteFunc("Func4098") Unused ability named Blackjack
    Spoiler: 

    function Func4098 takes nothing returns nothing
    local trigger loc_trigger01=CreateTrigger()
    call Func0175(loc_trigger01,EVENT_PLAYER_UNIT_SPELL_EFF ECT)
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4097))
    set loc_trigger01=null
    endfunction

    function Func4097 takes nothing returns boolean
    if GetSpellAbilityId()=='A2B4' then
    call Func4096()
    endif
    return false
    endfunction
    function Func4096 takes nothing returns nothing
    local real loc_real01=GetSpellTargetX()
    local real loc_real02=GetSpellTargetY()
    local unit loc_unit01=GetTriggerUnit()
    local real loc_real03=GetUnitX(loc_unit01)
    local real loc_real04=GetUnitY(loc_unit01)
    local real loc_real05=Func0168(loc_real03,loc_real04,loc_real 01,loc_real02)*bj_DEGTORAD
    local real loc_real06
    local unit loc_unit02
    local real loc_real07=Func0125(loc_real03+500*Cos(loc_real05) )
    local real loc_real08=Func0128(loc_real04+500*Sin(loc_real05) )
    local integer loc_integer01=0
    local trigger loc_trigger01=CreateTrigger()
    local integer loc_integer02=GetHandleId(loc_trigger01)
    local real loc_real09
    local integer loc_integer03=GetUnitAbilityLevel(loc_unit01,'A2B4 ')
    local integer loc_integer04='h0DN'
    set loc_integer01=loc_integer01+1
    set loc_real06=loc_real05*bj_RADTODEG+90
    if loc_real06>360 then
    set loc_real06=loc_real06-360
    endif
    set loc_real06=loc_real06*bj_DEGTORAD
    set loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01), loc_integer04,loc_real03+100*Cos(loc_real05)+100*C os(loc_real06),loc_real04+100*Sin(loc_real05)+100* Sin(loc_real06),loc_real05*bj_RADTODEG)
    call SaveUnitHandle(hashtable001,(loc_integer02),(393+l oc_integer01-1),(loc_unit02))
    call SaveBoolean(hashtable001,(loc_integer02),(511+loc_ integer01-1),(false))
    call SaveReal(hashtable001,(loc_integer02),(549+loc_int eger01-1),((GetUnitX(loc_unit02))*1.0))
    call SaveReal(hashtable001,(loc_integer02),(567+loc_int eger01-1),((GetUnitY(loc_unit02))*1.0))
    set loc_integer01=loc_integer01+1
    set loc_real06=loc_real05*bj_RADTODEG-90
    if loc_real06<0 then
    set loc_real06=360+loc_real06
    endif
    set loc_real06=loc_real06*bj_DEGTORAD
    set loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01), loc_integer04,loc_real03+100*Cos(loc_real05)+100*C os(loc_real06),loc_real04+100*Sin(loc_real05)+100* Sin(loc_real06),loc_real05*bj_RADTODEG)
    call SaveUnitHandle(hashtable001,(loc_integer02),(393+l oc_integer01-1),(loc_unit02))
    call SaveBoolean(hashtable001,(loc_integer02),(511+loc_ integer01-1),(false))
    call SaveReal(hashtable001,(loc_integer02),(549+loc_int eger01-1),((GetUnitX(loc_unit02))*1.0))
    call SaveReal(hashtable001,(loc_integer02),(567+loc_int eger01-1),((GetUnitY(loc_unit02))*1.0))
    set loc_integer01=loc_integer01+1
    set loc_unit02=CreateUnit(GetOwningPlayer(loc_unit01), loc_integer04,loc_real03+100*Cos(loc_real05),loc_r eal04+100*Sin(loc_real05),loc_real05*bj_RADTODEG)
    call SaveUnitHandle(hashtable001,(loc_integer02),(393+l oc_integer01-1),(loc_unit02))
    call SaveBoolean(hashtable001,(loc_integer02),(511+loc_ integer01-1),(false))
    call SaveReal(hashtable001,(loc_integer02),(549+loc_int eger01-1),((GetUnitX(loc_unit02))*1.0))
    call SaveReal(hashtable001,(loc_integer02),(567+loc_int eger01-1),((GetUnitY(loc_unit02))*1.0))
    call TriggerRegisterTimerEvent(loc_trigger01,0.015,true )
    call TriggerAddCondition(loc_trigger01,Condition(functi on Func4095))
    call SaveUnitHandle(hashtable001,(loc_integer02),(2),(l oc_unit01))
    call SaveReal(hashtable001,(loc_integer02),(6),((loc_re al03)*1.0))
    call SaveReal(hashtable001,(loc_integer02),(7),((loc_re al04)*1.0))
    call SaveReal(hashtable001,(loc_integer02),(137),((loc_ real05)*1.0))
    call SaveReal(hashtable001,(loc_integer02),(47),((loc_r eal07)*1.0))
    call SaveReal(hashtable001,(loc_integer02),(48),((loc_r eal08)*1.0))
    call SaveGroupHandle(hashtable001,(loc_integer02),(187) ,(Func0030()))
    set loc_unit01=null
    set loc_unit02=null
    set loc_trigger01=null
    endfunction





    Hero:
    Spoiler: 

    Armor: -2
    Magic Resistance: 25

    Damage min: 25
    Damage max: 35
    Attack rate: 1.7
    Attack point: 0.3
    Acquisition: 800
    Attack range: 625
    Projectile speed: 800

    Primary attribute: AGI
    BaseStrength: 24
    StrengthGain: 1.9
    BaseIntelligence: 24
    IntelligenceGain: 2.1
    BaseAgility: 15
    AgilityGain: 1.8

    Health Regen: 0.25

    Collision: DOTA_HULL_SIZE_HERO
    Movespeed: 295
    Turn Rate: 0.4

    Day Vision: 1800
    Night Vision: 800


    Spells:
    Flux
    Spoiler: 

    Cast point: 0.3
    Mana cost: 75
    Cooldown: 20
    Cast range: 600/700/800/900
    Targeting type: Unit Target
    Targets: Enemies: heroes, creeps. NOT magic immune enemies or siege units.

    *Then casted places a debuff on targeted targeted enemy.

    Duration: 6

    Debuff slows movement speed.
    Moevement speed slow amount: 50%

    Debuff deals damage over time.
    Damage per second: 15/30/45/60
    Damage type: Magical
    Damage period: 0.5
    Damage per tick: 7.5/15/22.5/30
    Ticks amount: 12
    Total damage: 90/180/270/360

    Debuff stacks with it self independently.
    Effects are doubled,trippled and so on on each cast. Applying new debuffs does not affect duration of old ones.

    If targeted enemy comes in 225 range of another enemy unit debuff won't deal damage or slow. If target no longer has any enemy units debuff resumes doing damage and slow.
    That means that non ancient neutrals can also mute debuff.
    AoE: 225 (center-collision)
    Debuff still counts down its duration while muted.
    If target no longer has any enemy units debuff resumes doing damage and slow.


    Interactions list:
    Magic immunity: Can NOT be casted on magic immunity. CAN be dispelled by magic immunity
    Linken Sphere: Blocked
    Purge: Can NOT be purged
    Negative buff removal(Dark Pact, Aphotic Shield...): Can NOT be dispelled
    Invulnerability: Invulnerable enemies CAN mute debuff
    Banish(Disruption, Astral Imprisoment): Banished enemies will NOT mute debuff
    FoW: Fogged enemies CAN mute debuff.
    Invisibility: Invisible enemies CAN mute debuff
    Ancients:CAN be targeted and affected. Spirit bear CAN mute debuff. Other anicents will NOT mute debuff.
    Roshan: CAN be targeted and affected. Will NOT mute debuff.
    Illusions: Works normally
    Meepo: Works normally.
    Siege: Can NOT be targeted. Does NOT mute debuff.
    Structures: Do NOT mute debuff.




    Magnetic Field
    Spoiler: 

    Cast point: 0.3
    Mana cost: 110
    Cooldown: 50
    Targeting type: Point Target
    Cast range: 900

    Then casted creates an area on the ground around targeted point

    Area radious: 275 (center-collision)

    Duration: 3.5/4/4.5/5

    Area of effect affects allied heroes (NOT illusions) and structures.

    Gives bonus attack speed and evasion for affected targers.

    Bonus attack speed: 50/60/70/80
    Evasion: 100%


    Interactions list:
    Magic immunity: Affects normally
    Purge: NOT
    Invulnerability: Affects
    Doom: Evasion IS disabled. Attack speed is not.
    Ancients: NOT a valid targets
    Illusions: NOT affected
    Meepo: IS affected




    Spark Wraith
    Spoiler: 

    Cast point: 0.3
    Mana cost: 50
    Cooldown: 4
    Targeting Type: Point Targeted
    Cast range: 2000

    Then casted creates a projectile at targeted point. Projectile has vision and duration.
    Day sight: 300
    Nigth sight: 300
    Vision fade time: 3.34
    Does NOT block creep camps
    Duration: 53 seconds

    After 3 seconds it will start looking for enemy units in area around it.
    Area: 375 (center-collision)
    If multiple enemies are present in AoE then the closest one is picked.

    After enemy has entered AoE, he is chosen and the projectile starts following him.
    Movement speed: 400
    Can NOT be disjointed.

    Then enemy is followed, duration of Spark Wraith does not matter. (it will follow until hit)

    Then connected with enemy that is followed will deal damage to him.
    Damage: 150/200/250/300
    Damage type: Magical

    Interactions list:
    Magic immunity: Area trigger ignores magic immune enemies.
    Linken Sphere: NOT
    Invulnerability: Triggers on.
    Banish(Disruption, Astral Imprisoment): NOT triggered.
    FoW: Triggers.
    Invisibility: Triggers.
    Disjointness: NOT disjointable
    Ancients: Spirit Bear CAN be targeted. Other ancient NOT.
    Roshan: NOT triggered.
    Illusions: CAN trigger.
    Meepo: CAN trigger
    Siege: NOT triggered.




    Tempest Double
    Spoiler: 

    Cast point: 0.3
    Mana cost: 30%/15%/0 of current mana
    Health cost: 30%/15%/0 of current health
    Targeting type: No Target
    Cooldown: 65/60/55

    Then casted creates a copy of your hero.

    Duration: 20 seconds

    Copy health is based on your hero health after cast.

    This copy is a REAL hero except it cannot pick up or drop items and get experience.

    Copy gets all your ablities of current level and items (with current amount of charges) except following:
    Abilities: Tempest Double
    Items: Aegis of Imortality, Refresher Orb (item, recipe, muted), Observer Wards, Sentry Wards, Smoke of Deceit

    Copy is visually different from original hero. (for allies and enemies)

    Copy in interaction with spells is really close to Meepo Divided We Stand clones.
    Except it can have items. Few items has different interactions from usual hero.
    Bloodstone: NO AoE heal or vision on death.
    Linken Sphere: Can't make use of passive block (can make use of tranfered on it buff) but can transfer buff and it works normally.

    Items are not droped by copy.
    Rapier, gem.

    Can NOT be stollen by Rubic
    If allowed in dota 2 can cause for unlimited Rubics. (perma telekinesis in to spell steal)



  2. #2
    Basic Member Lord_Talron's Avatar
    Join Date
    Feb 2012
    Location
    Cornflake, Arkansas
    Posts
    3,175
    no pls not arc warden
    ヽ༼ຈل͜ຈ༽ノ raise your hype ヽ༼ຈل͜ຈ༽ノ

  3. #3
    Basic Member ned_ballad's Avatar
    Join Date
    Dec 2012
    Posts
    1,939
    Thy added some data for arc warden this patch? That's cool is so, he was the last hero we had absolutely nothing for.

  4. #4
    Basic Member Lord_Talron's Avatar
    Join Date
    Feb 2012
    Location
    Cornflake, Arkansas
    Posts
    3,175
    how do you find this stuff but matt doesnt. suspicious...
    ヽ༼ຈل͜ຈ༽ノ raise your hype ヽ༼ຈل͜ຈ༽ノ

  5. #5
    Basic Member Heh_'s Avatar
    Join Date
    Oct 2012
    Posts
    6,198
    Valve, if you haven't already done so, please hire igo for testing/bugfixing.

  6. #6
    Banned
    Join Date
    Jan 2014
    Location
    Aiur.
    Posts
    1,635
    I'm really exited abut Arc Warden. Cannot wait to his release !

  7. #7
    Basic Member Noya's Avatar
    Join Date
    Dec 2011
    Location
    Uruguay
    Posts
    12,904
    Quote Originally Posted by Lord_Talron View Post
    how do you find this stuff but matt doesnt. suspicious...
    Quote Originally Posted by ned_ballad View Post
    Thy added some data for arc warden this patch? That's cool is so, he was the last hero we had absolutely nothing for.
    It's only DotA data for now.

  8. #8
    Basic Member Arc Warden's Avatar
    Join Date
    Jun 2013
    Location
    Bottom Lane
    Posts
    327
    DO WANT!
    _
    People says im not a hero, im a mistake. They´re all envy of my double midas.

  9. #9
    Basic Member Mr.Evo's Avatar
    Join Date
    Feb 2012
    Location
    Germany
    Posts
    1,681
    Quote Originally Posted by Arc Warden View Post
    DO WANT!
    Please stay away!

  10. #10
    Basic Member
    Join Date
    Dec 2011
    Posts
    1,903
    How to get people who don't recognize WC3 Editor raw data values' hopes up 101.

    I mean seriously though, why post this?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •