Array
(
    [scriptVersion] => 7
    [oeValues] => Array
        (
            [auto] => Array
                (
                )

            [Art] => ReplaceableTextures\CommandButtons\BTNDispelMagic.blp
            [dmgplus1] => 454
            [bldtm] => 1
            [goldcost] => 500
            [sides1] => 1
            [manaN] => 20
            [acquire] => 800
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Energy Junction
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => Abilities\Weapons\SpiritOfVengeanceMissile\SpiritOfVengeanceMissile.mdl
            [Missileart] => Abilities\Spells\Items\AIlb\AIlbTarget.mdl
            [Missilespeed] => 1500
            [dice1] => 1
            [RngBuff1] => 250
            [regenMana] => 1
            [rangeN1] => 500
            [atkType1] => normal
            [cool1] => 0.7
            [Ubertip] => Support tower which only attacks air. Buffs other units attackspeed and adds some spell and normal damage.
            [abilList] => Array
                (
                )

            [moveHeight] => 40
            [buildingShadow] => Array
                (
                )

            [targs1] => air
            [weapsOn] => 1
        )

    [settings] => Array
        (
            [balanceTip] => |cffFF0000Attacks AIR only|r
            [abil_factor] => 0.2
            [author] => SirCoqalot.
            [alpha] => 255
            [authorDisplay] => SirCoqaLot
            [version] => 1.0
            [element] => iron
            [rarity] => uncommon
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => 30.9195
                    [y] => 30.6046
                    [z] => 0
                    [scale] => 0.55
                    [rot] => 3.92782
                    [file] => Doodads\Dungeon\Props\SewerVent\SewerVent0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -29.3648
                    [y] => -33.5878
                    [z] => 0
                    [scale] => 0.55
                    [rot] => 0.803342
                    [file] => Doodads\Dungeon\Props\SewerVent\SewerVent0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => -1.52082
                    [y] => 0.490407
                    [z] => 38.4
                    [scale] => 0.75
                    [rot] => 3.63332
                    [file] => Abilities\Spells\Items\AIlb\AIlbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.9
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

        )

    [dmgTable] => Array
        (
        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => Header
                    [code] => globals
        //@export
        BuffType sir_junction_buff
    endglobals
    
    function junctionOnCreate takes Buff b returns nothing
        local Tower tower = b.getCaster()
        local Tower buffee = b.getBuffedUnit()
        set b.userInt = 0
        if tower != buffee then
            set b.userInt = Lightning.createFromPointToUnit("CLPB", tower.getX(), tower.getY(), tower.getZ() - 60, buffee)
        endif
        //Add & save attackspeed
        set b.userReal = tower.userReal + tower.userReal2 * tower.getLevel()
        call buffee.modifyProperty(MOD_ATTACKSPEED, b.userReal)
    endfunction
    
    function junctionOnDamage takes Buff b returns nothing
        local Tower caster = b.getCaster()
        local Tower buffee = b.getBuffedUnit()
        local Creep creep  = Event.getTarget()
        local real damage = caster.userReal3 * (1 + caster.getLevel() / 25.0) * buffee.getBaseAttackspeed()
        
        call buffee.doSpellDamage(creep, damage, buffee.calcSpellCritNoBonus())
        call buffee.doAttackDamage(creep, damage, buffee.calcAttackMulticrit(0,0,0))
        call SFXAtUnit("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl", creep.getUnit())
    endfunction
    
    function junctionOnCleanup takes Buff b returns nothing
        if b.userInt != 0 then
            call Lightning(b.userInt).destroy()
        endif
        call b.getBuffedUnit().modifyProperty(MOD_ATTACKSPEED, -b.userReal)
    endfunction
    
    //Do not remove or rename this function!
    //Put your initialization tasks here, this function will be called on map init
    private function init takes nothing returns nothing
        set sir_junction_buff = BuffType.create(10,0,true)
        call sir_junction_buff.setBuffIcon('@@0@@')
        call sir_junction_buff.addEventOnCreate(EventHandler.junctionOnCreate)
        call sir_junction_buff.addEventOnAttack(EventHandler.junctionOnDamage,1.0,0.0)
        call sir_junction_buff.addEventOnCleanup(EventHandler.junctionOnCleanup)
	endfunction
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => On Tower Destruction
                    [code] => //Kill all buffs made by this tower in aoe, so that all lightnings get removed
    local Iterate it = Iterate.overUnitsInRangeOfCaster(tower, TARGET_TOWERS, 500)
    local Tower cur = it.next()
    local Buff b
    
    loop
        exitwhen cur == 0
        set b = cur.getBuffOfType(sir_junction_buff)
        if b != 0 then
            if b.getCaster() == tower then
                call b.removeBuff()
            endif
        endif
        set cur = it.next()
    endloop
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [2] => Array
                (
                    [name] => Autocast
                    [code] => Array
                        (
                        )

                    [values] => Array
                        (
                            [AUTOCAST_cooldown] => 8
                            [AUTOCAST_autoRange] => 500
                            [AUTOCAST_manacost] => 15
                            [icon] => ReplaceableTextures\CommandButtons\BTNPurge.blp
                            [AUTOCAST_range] => 500
                            [AUTOCAST_targetType] => TARGET_TYPE_TOWERS
                            [AUTOCAST_numBuffsBeforeIdle] => 0
                            [caster_art] => 
                            [long_explain] => Buffs a tower in |cffffff80500|r range for |cffffff8010|r seconds increasing its attackspeed by |cffffff8020%|r. The buffed tower deals |cffffff80150|r attack damage and |cffffff80150|r spell damage on attack multiplied with its base attackspeed. |n|n|cffFF8000Level Bonus:|r|n|cffffff80+6|r attack and spell damage |n|cffffff80+0.2%|r attackspeed
                            [target_art] => 
                            [AUTOCAST_autocastType] => AC_TYPE_ALWAYS_BUFF
                            [AUTOCAST_buffType] => sir_junction_buff
                            [AUTOCAST_isExtended] => false
                            [name] => Jolt
                            [AUTOCAST_targetSelf] => true
                            [short_explain] => Buffs a tower in range, increasing its attackspeed and enabling it to deal some attack and spell damage on attack.
                        )

                )

            [3] => Array
                (
                    [name] => On Tower Creation
                    [code] => set tower.userReal = 0.2 //base attackspeed boost
    set tower.userReal2 = 0.002 //attackspeed boost add
    set tower.userReal3 = 150.0 //base dmg & spelldmg per attack (/25 for level bonus)
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => BHav
                    [oeValues] => Array
                        (
                            [EditorName] => Jolted
                            [Buffubertip] => This unit has been jolted. Its attackspeed is increased and it deals additional spell and attack damage on attack.
                            [Bufftip] => Jolted
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNPurge.blp
                        )

                )

        )

    [units] => Array
        (
        )

    [references] => Array
        (
            [0] => Array
                (
                    [export] => true
                    [category] => global
                    [typ] => BuffType
                    [name] => sir_junction_buff
                )

        )

)