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

            [Art] => ReplaceableTextures\CommandButtons\BTNChaosBlademaster.blp
            [turnRate] => 0.6
            [dmgplus1] => 7108
            [bldtm] => 1
            [unitSound] => HeroBladeMaster
            [goldcost] => 3400
            [sides1] => 1
            [acquire] => 1200
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => The Omnislasher
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => units\demon\HeroChaosBladeMaster\HeroChaosBladeMaster.mdl
            [uberSplat] => OSMA
            [Missilespeed] => 1200
            [dice1] => 1
            [RngBuff1] => 250
            [modelScale] => 0.5
            [rangeN1] => 1200
            [atkType1] => siege
            [cool1] => 5
            [Ubertip] => Faster than the wind, faster than Sonic, even faster than light!
            [abilList] => Array
                (
                )

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

            [targs1] => Array
                (
                )

            [weapsOn] => 1
        )

    [settings] => Array
        (
            [balanceTip] => |cffFFFF00+10% |rdamage/lvl
            [abil_factor] => 0.336
            [author] => KublaiKhan1
            [alpha] => 200
            [authorDisplay] => KublaiKhan1
            [version] => 1.0
            [element] => fire
            [rarity] => unique
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -0.994183
                    [y] => 0.996669
                    [z] => 0
                    [scale] => 1
                    [rot] => 5.12603
                    [file] => Doodads\Barrens\Rocks\RockPillar\RockPillar1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -29.6771
                    [y] => 11.0168
                    [z] => 0
                    [scale] => 0.7
                    [rot] => 4.72183
                    [file] => Doodads\LordaeronSummer\Plants\RiverRushes\RiverRushes2.mdl
                    [red] => 255
                    [green] => 140
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => 14.5905
                    [y] => -18.0471
                    [z] => 0
                    [scale] => 0.5
                    [rot] => 6.14356
                    [file] => Doodads\Ruins\Plants\Ruins_Shrub\Ruins_Shrub0.mdl
                    [red] => 255
                    [green] => 140
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [3] => Array
                (
                    [x] => 28.7428
                    [y] => 1.74789
                    [z] => 89.6
                    [scale] => 0.25
                    [rot] => 2.72043
                    [file] => Doodads\Ruins\Plants\Ruins_Shroom\Ruins_Shroom5.mdl
                    [red] => 255
                    [green] => 200
                    [blue] => 200
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [4] => Array
                (
                    [x] => 19.2295
                    [y] => 30.9921
                    [z] => 0
                    [scale] => 0.7
                    [rot] => 5.25344
                    [file] => Doodads\LordaeronSummer\Plants\RiverRushes\RiverRushes2.mdl
                    [red] => 255
                    [green] => 140
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [5] => Array
                (
                    [x] => -13.3155
                    [y] => -7.34373
                    [z] => 0.000000953674
                    [scale] => 1
                    [rot] => 1.89735
                    [file] => Doodads\Ruins\Plants\Ruins_Shroom\Ruins_Shroom3.mdl
                    [red] => 255
                    [green] => 200
                    [blue] => 200
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [6] => Array
                (
                    [x] => -3.97019
                    [y] => 4.47209
                    [z] => -76.8
                    [scale] => 1
                    [rot] => 5.20108
                    [file] => Doodads\Dungeon\Rocks\Cave_FieryCrator\Cave_FieryCrator.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [7] => Array
                (
                    [x] => 4.04952
                    [y] => -8.02644
                    [z] => -76.8
                    [scale] => 1
                    [rot] => 5.20108
                    [file] => Doodads\Dungeon\Rocks\Cave_FieryCrator\Cave_FieryCrator.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [8] => Array
                (
                    [x] => 7.11015
                    [y] => 10.5009
                    [z] => -44.8
                    [scale] => 3
                    [rot] => 3.9619
                    [file] => Abilities\Spells\Human\FlameStrike\FlameStrikeDamageTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

        )

    [dmgTable] => Array
        (
            [0] => Array
                (
                    [id] => MOD_DAMAGE_BASE_PERC
                    [base] => 0
                    [add] => 0.1
                )

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Attack
                    [code] => local unit u 
    local Iterate iterate = tower.userInt3
    local timer t 
    local Unit target = Event.getTarget()
    local integer numAttacks = 20 + tower.getLevel() * 2/5
    
    if iterate == -1 then
        set u = tower.getUnit()
        set iterate = Iterate.overUnitsInRangeOfUnit(tower, TARGET_CREEPS, Event.getTarget(), 1200.00)
        set t = NewTimer()
        call TimerStart(t, tower.getCurrentAttackspeed() / numAttacks, true, function onHit)
        call SetTimerData(t,tower)
        
        call SFXOnUnit("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", u, "origin")
        call SetUnitVertexColor(u, 255, 255, 255, 0)
        call PauseUnit(u, true)
        
        set tower.userInt = target // Save current target
        set tower.userInt2 = numAttacks
        set tower.userInt3 = iterate
        set tower.userReal = target.getUID()
        call damage(tower, target)
        
        if(tower.calcChance(.002)) then
            call tower.getOwner().displayFloatingTextX("I'm faster than LIGHT!", tower, 50, 150, 255, 255, 0.05, 2, 3)
        endif
        if(tower.calcChance(.002)) then
            call tower.getOwner().displayFloatingTextX("Don't listen to Einstein's lies!", tower, 50, 150, 255, 255, 0.05, 2, 3)
        endif
        if(tower.calcChance(.002)) then
            call tower.getOwner().displayFloatingTextX("I'm debunking relativity. Just watch me!", tower, 50, 150, 255, 255, 0.05, 2, 3)
        endif
        set u = null
        set t = null
    endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNWhirlwind.blp
                            [name] => Omnislash
                            [short_explain] => Flies across the battlefield, hitting multiple units with each attack.
                            [ONATTACK_chance] => 1.0
                            [ONATTACK_chanceLevelAdd] => 0.0
                            [long_explain] => On each attack the Omnislasher moves with insane speed towards the battlefield. There, he attacks up to |cffFFFF8020|r times before returning to his triumphant pedestal. Each attack deals |cffFFFF805%|r of this tower's normal attack damage and permanently increases the damage its target takes from |cffC0C0C0Physical|r type attacks by |cffFFFF802%|r.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+2|r slashes every |cffFFFF805|r levels
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
        BuffType DamageIncreaseBT
    endglobals
    
    function onDamaged takes Buff b returns nothing
        local Tower tower = Event.getTarget()
        if tower.getAttackType() == AttackType.PHYSICAL then
            if Event.isSpellDamage() == false then
                set Event.damage = Event.damage * b.userReal
            endif
        endif
    endfunction
    
    function damage takes Tower tower, Unit target returns nothing
        
        local real range = 80.00
        local real angle = GetRandomReal(0.00, 360.00)
        local real x = target.getX() + Cos(angle) * range
        local real y = target.getY() + Sin(angle) * range
        local real z = target.getZ()
        
        local Effect blademaster = Effect.createAnimated("units\\demon\\HeroChaosBladeMaster\\HeroChaosBladeMaster.mdl", x, y, z, angle + 180 * bj_DEGTORAD)
        local Effect mirrorimage = Effect.create("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", x, y, z, angle + 180 * bj_DEGTORAD)
        local Buff b = target.getBuffOfType(DamageIncreaseBT)
        
        call blademaster.setLifetime(.4)
        call blademaster.setAnimation("attack")
        call blademaster.setScale(0.4)
        call blademaster.noDeathAnimation()
        call mirrorimage.setLifetime(.4)
        call mirrorimage.setScale(0.4)
        
        call tower.doAttackDamage(target, tower.getCurrentAttackDamageWithBonus()/20, tower.calcAttackMulticrit(0.0, 0.0, 0) )
        if b == 0 then
            set b = DamageIncreaseBT.apply(tower, target, tower.getLevel())
            set b.userReal = 1.0
        else
            set b.userReal = b.userReal + 0.02
        endif
    endfunction
    
    function onHit takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local Tower tower = GetTimerData(t)
        local unit u = tower.getUnit()
        local Unit target = tower.userInt
        local integer uid = R2I(tower.userReal)
        local integer towerUID = R2I(tower.userReal2)
        local Iterate iterate = tower.userInt3
        local integer numAttacks = tower.userInt2

        // The tower has changed (sold or replaced)
        if (tower.getUID() != towerUID) then
            call ReleaseTimer(t)
            set t = null
            set u = null
            call iterate.destroy()
            return
        endif
        
        // The target died
        if (target.getUID() != uid) then
            set target = iterate.next()
            set tower.userInt = target
            set tower.userReal = target.getUID()
        endif
        
        if (target != 0 and numAttacks > 0) then
            call damage(tower, target)
            set tower.userInt2 = numAttacks - 1
        else
            if (target != 0) then
                call iterate.destroy()
            endif 
            call ReleaseTimer(t)
            call SetUnitVertexColor(u, 255, 255, 255, 255)
            call PauseUnit(u, false)
            call SFXOnUnit("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl", u, "origin")
            set tower.userInt3 = -1
        endif
        set t = null
        set u = null
    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 DamageIncreaseBT = BuffType.create(-1, 0.0, false)
        call DamageIncreaseBT.setBuffIcon('@@0@@')
        call DamageIncreaseBT.addEventOnDamaged(onDamaged, 1.0, 0.0)
	endfunction
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [2] => Array
                (
                    [name] => On Tower Creation
                    [code] => set tower.userReal2 = tower.getUID()
    set tower.userInt3 = -1
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => BHfs
                    [oeValues] => Array
                        (
                            [EditorName] => Sliced
                            [Buffubertip] => This creep take additional damage from physical attacks.
                            [TargetArt] => Array
                                (
                                )

                            [Bufftip] => Sliced
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNCriticalStrike.blp
                        )

                )

        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

)