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

            [Art] => ReplaceableTextures\CommandButtons\BTNControlMagic.blp
            [turnRate] => 3
            [dmgplus1] => 742
            [bldtm] => 1
            [goldcost] => 1000
            [unitSound] => StormPandarenBrewmaster
            [sides1] => 1
            [Missilearc] => 0.15
            [acquire] => 1200
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Herald of Thunder
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => Units\Creeps\StormPandarenBrewmaster\StormPandarenBrewmaster.mdl
            [Missileart] => Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
            [Missilespeed] => 1400
            [dice1] => 1
            [RngBuff1] => 250
            [modelScale] => 0.3
            [rangeN1] => 1200
            [atkType1] => normal
            [cool1] => 1.4
            [Ubertip] => Through meditation, he mastered the storm... and became its voice.
            [scaleBull] => 0
            [abilList] => Array
                (
                )

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

            [targs1] => Array
                (
                )

            [weapsOn] => 1
            [teamColor] => 1
        )

    [settings] => Array
        (
            [balanceTip] => Array
                (
                )

            [abil_factor] => 0.6
            [author] => Ashbringer
            [alpha] => 255
            [authorDisplay] => |cffff6600Ashbringer|r
            [version] => 1.0
            [element] => storm
            [rarity] => rare
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -0.00881878
                    [y] => -28.8588
                    [z] => -12.8
                    [scale] => 0.07
                    [rot] => 1.5708
                    [file] => Doodads\Cityscape\Structures\Archway1\Archway1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [1] => Array
                (
                    [x] => 0.187915
                    [y] => 14.7239
                    [z] => -12.8
                    [scale] => 0.1
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [2] => Array
                (
                    [x] => -0.359982
                    [y] => -14.7862
                    [z] => -12.8
                    [scale] => 0.1
                    [rot] => 1.5708
                    [file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [3] => Array
                (
                    [x] => 48.1294
                    [y] => -28.7693
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 3.14159
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [4] => Array
                (
                    [x] => -30.0631
                    [y] => -0.256825
                    [z] => -12.8
                    [scale] => 0.07
                    [rot] => 3.14159
                    [file] => Doodads\Cityscape\Structures\Archway1\Archway1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [5] => Array
                (
                    [x] => -28.9773
                    [y] => -48.5011
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 1.5708
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [6] => Array
                (
                    [x] => -0.286364
                    [y] => -0.0294468
                    [z] => -51.2
                    [scale] => 0.6
                    [rot] => 0.785398
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [7] => Array
                (
                    [x] => -0.018497
                    [y] => 0.0647517
                    [z] => -32
                    [scale] => 1.55
                    [rot] => 5.98648
                    [file] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
                    [red] => 35
                    [green] => 35
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [8] => Array
                (
                    [x] => -0.0217114
                    [y] => -0.0479905
                    [z] => 12.8
                    [scale] => 1.35
                    [rot] => 5.98648
                    [file] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
                    [red] => 35
                    [green] => 35
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [9] => Array
                (
                    [x] => -48.2832
                    [y] => -28.7346
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 0
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [10] => Array
                (
                    [x] => 28.8067
                    [y] => -0.107569
                    [z] => -12.8
                    [scale] => 0.07
                    [rot] => 0.000000119209
                    [file] => Doodads\Cityscape\Structures\Archway1\Archway1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [11] => Array
                (
                    [x] => 47.0268
                    [y] => 28.3702
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 3.14159
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [12] => Array
                (
                    [x] => -49.3858
                    [y] => 28.4049
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 0.000000238419
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [13] => Array
                (
                    [x] => -28.9426
                    [y] => 47.9115
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 4.71239
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [14] => Array
                (
                    [x] => -1.24757
                    [y] => 28.4944
                    [z] => -12.8
                    [scale] => 0.07
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\Archway1\Archway1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [15] => Array
                (
                    [x] => 27.6862
                    [y] => -48.2759
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 1.5708
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [16] => Array
                (
                    [x] => 27.721
                    [y] => 48.1367
                    [z] => -19.2
                    [scale] => 0.15
                    [rot] => 4.71239
                    [file] => war3mapImported\Square_Column.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -0.79
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [17] => Array
                (
                    [x] => -25.573
                    [y] => 24.139
                    [z] => 0
                    [scale] => 0.22
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [18] => Array
                (
                    [x] => -0.0593303
                    [y] => 0.00888505
                    [z] => -12.8
                    [scale] => 1.15
                    [rot] => 3.68265
                    [file] => Abilities\Spells\Undead\UnholyFrenzy\UnholyFrenzyTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [19] => Array
                (
                    [x] => -24.3954
                    [y] => -24.4462
                    [z] => 0.000000953674
                    [scale] => 0.22
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [20] => Array
                (
                    [x] => 24.0017
                    [y] => -24.6173
                    [z] => 0.000000953674
                    [scale] => 0.22
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [21] => Array
                (
                    [x] => 24.295
                    [y] => 24.2278
                    [z] => 0.000000953674
                    [scale] => 0.22
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [22] => Array
                (
                    [x] => 0.153802
                    [y] => 0.137948
                    [z] => -51.2
                    [scale] => 0.6
                    [rot] => 0
                    [file] => Doodads\Cityscape\Structures\City_LowWall_TallEndCap\City_LowWall_TallEndCap.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

        )

    [dmgTable] => Array
        (
        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Attack
                    [code] => local Creep target = Event.getTarget()
    if target.getSize() == SIZE_BOSS then
        if tower.calcChance(0.1 + (tower.getLevel() * 0.004)) then
            call ashbringer_heraldthunder_add(tower, 1)
        endif
    endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNPurge.blp
                            [name] => Purposeful Harbinger
                            [short_explain] => Envoy of Thunder has a chance to refund a charge when it deals damage and Messenger of Wrath has a chance to refund the stored damage when it activates.
                            [ONATTACK_chance] => 1
                            [ONATTACK_chanceLevelAdd] => 0
                            [long_explain] => Envoy of Thunder has a |cffffff807.5%|r chance to refund a charge when it deals damage and Messenger of Wrath has a |cffffff807.5%|r chance to refund the stored damage when it activates.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.3%|r chance
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
        BuffType ashbringer_heraldthunder_buff
        //@export
        BuffType ashbringer_wrath_aura
    endglobals
    
    //@export
    function ashbringer_heraldthunder_add takes Tower tower, integer stacks returns nothing
        local Buff b = tower.getBuffOfType(ashbringer_heraldthunder_buff)
        
        if b != 0 then
            set b.userInt = b.userInt + stacks
        else
            set b = ashbringer_heraldthunder_buff.apply(tower, tower, 0)
            set b.userInt = stacks
        endif
        set b.userReal = 0.5 + (tower.getLevel() * 0.02)
        set b.userReal2 = 0.075 + (tower.getLevel() * 0.003)
    endfunction
    
    function ashbringer_heraldthunder_periodic takes Buff b returns nothing
        local Tower tower = b.getBuffedUnit()
        local Iterate i
        local Unit target
        local real target_x
        local real target_y
        
        if b.userInt > 0 then
            set i = Iterate.overUnitsInRangeOfCaster(tower, TARGET_TYPE_CREEPS, 1200)
            set target = i.nextRandom()
            if target != 0 then
                set target_x = target.getX()
                set target_y = target.getY()
                call Effect.create("Abilities\\Weapons\\Bolt\\BoltImpact.mdl", target_x, target_y, target.getZ(), GetRandomReal(0,359.99)).setLifetime(3.0)
                call Lightning.createFromPointToUnit("CLPB", target_x, target_y, 1400, target).setLifetime(0.3)
                call tower.doAttackDamage(target, b.userReal * tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0, 0, 0))
            endif
            if not tower.calcChance(b.userReal2) then
                set b.userInt = b.userInt - 1
            endif
        endif
        if b.userInt == 0 then
            call b.removeBuff()
        endif
    endfunction
    
    function ashbringer_wrathaura_damage takes Buff b returns nothing
        local Tower tower = b.getCaster()
        local Tower target = b.getBuffedUnit()
        local real perc = 0.05 + (tower.getLevel() * 0.002)
        
        if Event.isMainTarget() then
            set Event.damage = Event.damage * (1 - perc)
            set tower.userReal = tower.userReal + (target.getCurrentAttackDamageWithBonus() * perc)
        endif
    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 ashbringer_heraldthunder_buff = BuffType.create(-1, 0, true)
        call ashbringer_heraldthunder_buff.setBuffIcon('@@0@@')
        call ashbringer_heraldthunder_buff.addPeriodicEvent(ashbringer_heraldthunder_periodic, 1)
        
        set ashbringer_wrath_aura = BuffType.createAuraEffectType(true)
        call ashbringer_wrath_aura.addEventOnDamage(EventHandler.ashbringer_wrathaura_damage, 1, 0)
    endfunction
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNControlMagic.blp
                            [name] => Envoy of Thunder
                            [short_explain] => Attacks against Bosses and kills generate charges which are spent to call down lightning bolts on enemies in range.
                            [long_explain] => On kill, the tower gains |cffffff803|r thunder charges. Every second, a charge is spent to strike a random enemy in attack range with a bolt of lightning that deals |cffffff8050%|r of attack damage.|n|nAdditionally, there is a |cffffff8010%|r chance when attacking a Boss to gain |cffffff801|r thunder charge.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+2%|r attack damage|n|cffFFFF80+0.4%|r chance vs Bosses
                        )

                )

            [2] => Array
                (
                    [name] => On Kill
                    [code] => call ashbringer_heraldthunder_add(tower, 3)
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [3] => Array
                (
                    [name] => On Damage
                    [code] => local Creep target = Event.getTarget()
    
    if Event.isAttackDamageCritical() and Event.isMainTarget() then
        set Event.damage = Event.damage + (tower.userReal * target.getCurrentArmorDamageReduction() * AttackType.ENERGY.getDamageAgainst(target.getArmorType()) * Event.getCriticalMultiplier())
        call Effect.createSimpleOnUnit("Abilities\\Spells\\Items\\AIlb\\AIlbSpecialArt.mdl", target, "chest").destroy()
        if not tower.calcChance(0.075 + (tower.getLevel() * 0.003)) then
            set tower.userReal = 0
        endif
    endif
                    [values] => Array
                        (
                            [ONDAMAGE_chance] => 1
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [ONDAMAGE_chanceLevelAdd] => 0
                            [long_explain] => 
                        )

                )

            [4] => Array
                (
                    [name] => Tower Aura
                    [code] => Array
                        (
                        )

                    [values] => Array
                        (
                            [AURA_powerAdd] => 1
                            [visible] => true
                            [AURA_auraEffect] => ashbringer_wrath_aura
                            [AURA_levelAdd] => 1
                            [AURA_power] => 0
                            [icon] => ReplaceableTextures\CommandButtons\BTNSpell_Holy_SealOfMight.blp
                            [AURA_targetType] => TARGET_TYPE_TOWERS
                            [long_explain] => Towers within |cffffff80175|r have |cffffff805%|r of their attack damage redirected and stored. When the Herald critically hits with an attack, all stored damage is removed and added to the attack.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.2%|r attack damage redirected
                            [AURA_targetSelf] => false
                            [name] => Messenger of Wrath
                            [AURA_level] => 0
                            [short_explain] => Nearby towers have a portion of their attack damage redirected and stored to be added to this tower's next critical hit.
                            [AURA_auraRange] => 175
                        )

                )

            [5] => Array
                (
                    [name] => On Tower Creation
                    [code] => call SetUnitColor(tower.getUnit(), ConvertPlayerColor(1))
    set tower.userReal = 0
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => BHbd
                    [oeValues] => Array
                        (
                            [Targetattach] => overhead
                            [Buffubertip] => Striking nearby enemies with lightning.
                            [TargetArt] => Abilities\Spells\Undead\UnholyFrenzy\UnholyFrenzyTarget.mdl
                            [Bufftip] => Herald of Thunder
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNControlMagic.blp
                        )

                )

        )

    [units] => Array
        (
        )

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

        )

    [lightning] => Array
        (
        )

)