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

            [Art] => ReplaceableTextures\CommandButtons\BTNIceboundFortitude.blp
            [turnRate] => 3
            [dmgplus1] => 595
            [bldtm] => 1
            [goldcost] => 1200
            [unitSound] => Array
                (
                )

            [sides1] => 1
            [manaN] => 100
            [acquire] => 900
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Frost Acolyte
            [red] => 155
            [weapTp1] => missile
            [impactZ] => 60
            [file] => units\creeps\HumanMage\HumanMage.mdl
            [MissileHoming] => 1
            [uberSplat] => YTDN
            [Missilespeed] => 1600
            [Missileart] => Abilities\Weapons\LichMissile\LichMissile.mdl
            [dice1] => 1
            [RngBuff1] => 250
            [regenMana] => 3
            [green] => 155
            [modelScale] => 0.8
            [rangeN1] => 900
            [propWin] => 10
            [atkType1] => pierce
            [cool1] => 1.75
            [Ubertip] => First comes the frostbite. Then comes the silence.
            [scaleBull] => 0
            [abilList] => @@0@@
            [moveHeight] => 26
            [buildingShadow] => Array
                (
                )

            [targs1] => Array
                (
                )

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

    [settings] => Array
        (
            [balanceTip] => |cffFFFF0010%|r spell crit chance (|cffFFFF00+0.5%|r/lvl)
            [abil_factor] => 0.25
            [author] => Ashbringer
            [alpha] => 255
            [authorDisplay] => |cffff6600Ashbringer|r
            [version] => 1.0
            [element] => ice
            [rarity] => rare
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -0.026281
                    [y] => -0.011641
                    [z] => -6.4
                    [scale] => 0.25
                    [rot] => 1.5708
                    [file] => Doodads\Cityscape\Props\FountainRuined\FountainRuined.mdl
                    [red] => 35
                    [green] => 45
                    [blue] => 65
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [1] => Array
                (
                    [x] => 0.387515
                    [y] => 13.4517
                    [z] => -19.2
                    [scale] => 0.1
                    [rot] => 4.71239
                    [file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
                    [red] => 35
                    [green] => 45
                    [blue] => 65
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [2] => Array
                (
                    [x] => -0.451131
                    [y] => -13.9923
                    [z] => -19.2
                    [scale] => 0.1
                    [rot] => 1.5708
                    [file] => Doodads\Cityscape\Structures\City_ColumnSemiCircle\City_ColumnSemiCircle.mdl
                    [red] => 35
                    [green] => 45
                    [blue] => 65
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [3] => Array
                (
                    [x] => -0.162384
                    [y] => 3.77082
                    [z] => 38.4
                    [scale] => 0.9
                    [rot] => 4.71239
                    [file] => Abilities\Spells\Other\FrostBolt\FrostBoltMissile.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.57
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [4] => Array
                (
                    [x] => -0.0665632
                    [y] => 0.0320587
                    [z] => 12.8
                    [scale] => 0.9
                    [rot] => 0.890118
                    [file] => war3mapImported\GeneralAuraTargetWhite.mdl
                    [red] => 35
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [5] => Array
                (
                    [x] => -13.4875
                    [y] => -9.46462
                    [z] => 12.8
                    [scale] => 0.09
                    [rot] => 4.04288
                    [file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.57
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [6] => Array
                (
                    [x] => 9.04862
                    [y] => -7.40089
                    [z] => 12.8
                    [scale] => 0.12
                    [rot] => 5.40423
                    [file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.57
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [7] => Array
                (
                    [x] => 11.8372
                    [y] => 11.2718
                    [z] => 12.8
                    [scale] => 0.09
                    [rot] => 0.901279
                    [file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.57
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [8] => Array
                (
                    [x] => -10.6988
                    [y] => 9.20806
                    [z] => 12.8
                    [scale] => 0.12
                    [rot] => 2.26264
                    [file] => Doodads\Icecrown\Rocks\Icecrown_Crystal\Icecrown_Crystal1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.57
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [9] => Array
                (
                    [x] => -28.6031
                    [y] => 2.89476
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.56495
                    [file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock5.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [10] => Array
                (
                    [x] => -5.12148
                    [y] => -31.735
                    [z] => -6.4
                    [scale] => 0.2
                    [rot] => 2.34813
                    [file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock4.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [11] => Array
                (
                    [x] => 29.4356
                    [y] => -0.222329
                    [z] => 0
                    [scale] => 0.15
                    [rot] => 1.27322
                    [file] => Doodads\Icecrown\Rocks\Ice_SnowRock\Ice_SnowRock4.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

        )

    [dmgTable] => Array
        (
            [0] => Array
                (
                    [id] => MOD_SPELL_CRIT_CHANCE
                    [base] => 0.0875
                    [add] => 0.005
                )

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Level Up
                    [code] => set tower.userReal = 500 + (tower.getLevel() * 20)
    set tower.userReal2 = 100 + (tower.getLevel() * 4)
    set tower.userReal3 = 0.25 + (tower.getLevel() * 0.01)
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
        //@export
        BuffType ashbringer_shattering_buff
    endglobals
    
    //@export
    function ashbringer_howling_blast takes Tower tower, Unit target, real damage, real area returns nothing
        local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, area)
        local Unit next
        local real crit = tower.calcSpellCritNoBonus()
        
        if crit > 1 then
            set damage = damage * (1 + tower.userReal3)
        endif
        
        call Effect.createScaled("war3mapImported\\WarStompCasterFrost.mdx", target.getX(), target.getY(), target.getZ(), 270, 1 + (tower.getLevel() * 0.015)).setLifetime(1)
        loop
            set next = i.next()
            exitwhen next == 0
            call tower.doSpellDamage(next, damage, crit)
            if crit > 1 then
                call cb_freeze.applyOnlyTimed(tower, next, 1.5)
            endif
        endloop
    endfunction
    
    function ashbringer_shattering_hitted takes Buff b returns nothing
        local Tower tower = b.getCaster()
        local Unit attacker = Event.getTarget()
        local Unit target = b.getBuffedUnit()
        local real chance
        local boolean is_crit = false
        local real crit = tower.calcSpellCritNoBonus()
        local real damage
        
        if not Event.isSpellDamage() then
            if Event.isAttackDamageCritical() then
                set is_crit = true
            else
                set chance = (b.userInt * 0.02) / (1.0 - attacker.getProp_AtkCritChance())
                if GetRandomReal(0.0, 1.0) <= chance then
                    set is_crit = true
                    call Event.forceAttackMulticrit(tower, b.userInt * 0.02, 0, 0)
                endif
            endif
            if is_crit then
                if tower.calcChance(b.userInt * 0.02) then
                    set crit = tower.calcSpellCritNoBonus()
                    set damage = tower.userReal + (b.userInt * tower.userReal2)
                    if crit > 1 then
                        set damage = damage * (1 + tower.userReal3)
                    endif
                    call b.removeBuff()
                    call tower.doSpellDamage(target, damage, tower.calcSpellCritNoBonus())
                    call Effect.createSimpleAtUnit("war3mapImported\\AnimateDeadTargetFrost.mdx", target).setLifetime(0.3)
                endif
            endif
        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
        local Modifier mod = Modifier.create()
        set ashbringer_shattering_buff = BuffType.create(-1, 0, false)
        call ashbringer_shattering_buff.setBuffIcon('@@1@@')
        call ashbringer_shattering_buff.addEventOnDamaged(EventHandler.ashbringer_shattering_hitted, 1.0, 0.0)
    endfunction
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNSpell_Frost_IceShard.blp
                            [name] => Piercing Frost
                            [short_explain] => Critical hits with abilities do more damage.
                            [long_explain] => Critical hits with Howling Blast and Shattering Shards do |cffFFFF8025%|r more damage.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1%|r damage multiplier
                        )

                )

            [2] => Array
                (
                    [name] => On Damage
                    [code] => local Unit target = Event.getTarget()
    local Buff b = target.getBuffOfType(ashbringer_shattering_buff)
    
    if b != 0 then
        set b.userInt = b.userInt + 1
    else
        set b = ashbringer_shattering_buff.apply(tower, target, 0)
        set b.userInt = 1
    endif
                    [values] => Array
                        (
                            [ONDAMAGE_chance] => 1.0
                            [visible] => false
                            [icon] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
                            [name] => Shattering Shards
                            [short_explain] => Attacks hit |cffFFFF802|r additional enemies and apply a debuff which increases chance to be crit by attacks and deals spell damage when crit.
                            [ONDAMAGE_chanceLevelAdd] => 0
                            [long_explain] => Attacks hit |cffFFFF802|r additional enemies and embed ice shards on hit. Shards can stack, and give attacks against the target |cffFFFF802%|r increased critical strike chance per stack. Critical hits against the target have a |cffFFFF802%|r chance per stack to shatter the shards, dealing |cffFFFF80500|r spell damage plus |cffFFFF80100|r spell damage per stack.|n|nSpell damage is dealt by this tower.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+20|r base spell damage|n|cffFFFF80+4|r spell damage per stack
                        )

                )

            [3] => Array
                (
                    [name] => Autocast
                    [code] => local integer level = tower.getLevel()
    call ashbringer_howling_blast(tower, Event.getTarget(), 2500 + (level * 100), 175 + (level * 3))
                    [values] => Array
                        (
                            [AUTOCAST_cooldown] => 3
                            [AUTOCAST_autoRange] => 900
                            [AUTOCAST_manacost] => 50
                            [icon] => ReplaceableTextures\CommandButtons\BTNHowlingBlast.blp
                            [AUTOCAST_range] => 900
                            [AUTOCAST_targetType] => 0
                            [AUTOCAST_numBuffsBeforeIdle] => 0
                            [caster_art] => 
                            [long_explain] => Blast a target enemy with a wave of frost, dealing |cffFFFF802500|r spell damage to enemies in |cffFFFF80175|r area. Critical hits will freeze enemies in place for |cffFFFF801.5|r seconds.|n|nThis ability rolls for a critical hit once to apply to all targets.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+100|r spell damage|n|cffFFFF80+3|r area
                            [target_art] => 
                            [AUTOCAST_autocastType] => AC_TYPE_OFFENSIVE_UNIT
                            [AUTOCAST_buffType] => 0
                            [AUTOCAST_isExtended] => false
                            [name] => Howling Blast
                            [AUTOCAST_targetSelf] => false
                            [short_explain] => Deals spell damage to enemies around a target. Critical hits will stun.
                        )

                )

            [4] => Array
                (
                    [name] => On Tower Creation
                    [code] => call SetUnitColor(tower.getUnit(), ConvertPlayerColor(2))
    
    set tower.userInt = 0
    set tower.userReal = 500 + (tower.getLevel() * 20)
    set tower.userReal2 = 100 + (tower.getLevel() * 4)
    set tower.userReal3 = 0.25 + (tower.getLevel() * 0.01)
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => Aroc
                    [oeValues] => Array
                        (
                            [Buttonpos] => 1
                            [Art] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
                            [Untip] => Shattering Shards
                            [HeroDur1] => 0.1
                            [Missilearc] => 0
                            [DataA1] => 0
                            [Cool1] => 0.1
                            [Area1] => 900
                            [DataC1] => 1
                            [Name] => Shattering Shards
                            [DataB1] => 99999
                            [Ubertip] => Attacks hit |cffFFFF802|r additional enemies and embed ice shards on hit. Shards can stack, and give attacks against the target |cffFFFF802%|r increased critical strike chance per stack.|n|nCritical hits have a |cffFFFF802%|r chance per stack to shatter the shards, dealing |cffFFFF80500|r spell damage plus |cffFFFF80100|r spell damage per stack.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+20|r base spell damage|n|cffFFFF80+4|r spell damage per stack
                            [Dur1] => 0.1
                            [Buttonpos1] => 1
                            [Missileart] => Abilities\Weapons\LichMissile\LichMissile.mdl
                            [Missilespeed] => 1600
                            [Tip] => Shattering Shards
                            [Unubertip] => Attacks hit |cffFFFF802|r additional enemies and apply a debuff which increases chance to be crit by attacks and deals spell damage when crit.
                            [targs1] => enemies
                        )

                )

        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@1@@
                    [derivedFrom] => BNrd
                    [oeValues] => Array
                        (
                            [Targetattach] => origin
                            [Buffubertip] => Increased chance to be crit.
                            [TargetArt] => war3mapImported\BanishTargetFrost.mdx
                            [Bufftip] => Shattering Shards
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNBlizzard.blp
                        )

                )

        )

    [units] => Array
        (
        )

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

        )

    [lightning] => Array
        (
        )

)