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

            [Art] => ReplaceableTextures\CommandButtons\BTNDestroyer.blp
            [turnRate] => 1.5
            [dmgplus1] => 2784
            [bldtm] => 1
            [goldcost] => 3100
            [sides1] => 1
            [manaN] => 450
            [acquire] => 800
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Harby
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => units\undead\ObsidianStatue\ObsidianStatue.mdl
            [Missileart] => none.mdl
            [Missilespeed] => 1500
            [dice1] => 1
            [RngBuff1] => 250
            [regenMana] => 7.5
            [mana0] => 450
            [modelScale] => 0.6
            [rangeN1] => 800
            [atkType1] => hero
            [cool1] => 1.4
            [Ubertip] => A statue built in honor of the great Obsidian Warrior. Legend often depicts him wearing nothing but a dark shroud, though his true story is shrouded in darkness.
            [abilList] => @@0@@
            [moveHeight] => 40
            [dmgpt1] => 0.6
            [buildingShadow] => Array
                (
                )

            [targs1] => Array
                (
                )

            [weapsOn] => 1
        )

    [settings] => Array
        (
            [balanceTip] => |cffFFFF00x1.45|r spell crit damage (|cffFFFF00+x0.05|r/lvl)|n|cffFFFF00+55% |rdebuff resistance (|cffFFFF00+1%|r/lvl)|n|cffFFFF00+10 |rmana/lvl
            [abil_factor] => 0.5
            [author] => Glowackos
            [alpha] => 255
            [authorDisplay] => |cffff6347Glowackos|r
            [version] => 1.0
            [element] => darkness
            [rarity] => unique
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -61.2563
                    [y] => -4.72457
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 3.75246
                    [file] => Doodads\Cityscape\Props\CityGrave\CityGrave2.mdl
                    [red] => 30
                    [green] => 50
                    [blue] => 50
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => 61.0035
                    [y] => -2.33083
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 3.75246
                    [file] => Doodads\Cityscape\Props\CityGrave\CityGrave2.mdl
                    [red] => 30
                    [green] => 50
                    [blue] => 50
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => -60.0411
                    [y] => -6.55925
                    [z] => 83.2
                    [scale] => 0.75
                    [rot] => 4.69494
                    [file] => Doodads\LordaeronSummer\Props\CauldronWithHeads\CauldronWithHeads.mdl
                    [red] => 70
                    [green] => 70
                    [blue] => 70
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [3] => Array
                (
                    [x] => 62.1396
                    [y] => 0.288813
                    [z] => 83.2
                    [scale] => 0.75
                    [rot] => 2.44049
                    [file] => Doodads\LordaeronSummer\Props\CauldronWithHeads\CauldronWithHeads.mdl
                    [red] => 70
                    [green] => 70
                    [blue] => 70
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [4] => Array
                (
                    [x] => -2.22273
                    [y] => -7.97651
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 4.69494
                    [file] => Doodads\Northrend\Props\Bats\Bats.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [5] => Array
                (
                    [x] => 0.855494
                    [y] => -0.525058
                    [z] => 0
                    [scale] => 0.5
                    [rot] => 4.69494
                    [file] => Doodads\Northrend\Props\Bats\Bats.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [6] => Array
                (
                    [x] => -1.83158
                    [y] => -56.6214
                    [z] => 0
                    [scale] => 1
                    [rot] => 4.69494
                    [file] => Doodads\LordaeronSummer\Props\CauldronWithHeads\CauldronWithHeads.mdl
                    [red] => 70
                    [green] => 70
                    [blue] => 70
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [7] => Array
                (
                    [x] => 43.4773
                    [y] => 39.3682
                    [z] => 0
                    [scale] => 0.45
                    [rot] => 2.88649
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [8] => Array
                (
                    [x] => -37.7514
                    [y] => 45.4016
                    [z] => 0
                    [scale] => 0.45
                    [rot] => 4.22852
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [9] => Array
                (
                    [x] => -3.67222
                    [y] => 20.9378
                    [z] => 0
                    [scale] => 1
                    [rot] => 4.69494
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns6.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [10] => Array
                (
                    [x] => 55.6472
                    [y] => -49.6033
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.47273
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [11] => Array
                (
                    [x] => -51.6623
                    [y] => -46.8533
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 4.57606
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [12] => Array
                (
                    [x] => 2.39653
                    [y] => -5.52039
                    [z] => 0
                    [scale] => 0.85
                    [rot] => 4.69494
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns6.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [13] => Array
                (
                    [x] => 1.13941
                    [y] => -0.72996
                    [z] => 0
                    [scale] => 1
                    [rot] => 2.67335
                    [file] => Doodads\Felwood\Plants\Felwood_Thorns\Felwood_Thorns6.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

        )

    [dmgTable] => Array
        (
            [0] => Array
                (
                    [id] => MOD_SPELL_CRIT_DAMAGE
                    [base] => 0.2
                    [add] => 0.05
                )

            [1] => Array
                (
                    [id] => MOD_DEBUFF_RESISTANCE
                    [base] => 0.55
                    [add] => 0.01
                )

            [2] => Array
                (
                    [id] => MOD_MANA
                    [base] => 0
                    [add] => 10
                )

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Attack
                    [code] => //Since the tower WILL have the mana most of the time (I assume..), may as well compute these values immediately.
    local real dmg = (6 + 0.1 * tower.getLevel()) * GetUnitState(tower.getUnit(), UNIT_STATE_MANA)
    local Creep creep = Event.getTarget()
    local Projectile p
    if tower.getBuffOfType(glow_awaken) != 0 then
        // Throw out the attack projectile (tower's real attack does all the work but we hide its projectile model)
        set p = Projectile.createFromUnitToUnit(glow_arcaneOrb,tower,1.0,tower.calcSpellCritNoBonus(),tower,creep,true,false,false)
        if tower.subtractMana(100, false) == 100 then
            if tower.calcChance(0.1 + 0.004 * tower.getLevel()) then
                call arcane_manaReplenish(tower)
            endif
            call tower.getOwner().getTeam().displayFloatingTextX("+" + I2S(R2I(dmg)), tower, 255, 0, 255, 255, 0.05, 2, 3)
            set p.userReal = dmg
            // Swap out projectile model for arcane-orb-empowered attacks.
            call p.setModel("Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl")
        else
            set p.userReal = 0
        endif
    endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNDeathCoil.blp
                            [name] => Arcane Orb
                            [short_explain] => Deals additional spelldamage on attack at the cost of mana.
                            [ONATTACK_chance] => 1.0
                            [ONATTACK_chanceLevelAdd] => 0.0
                            [long_explain] => Infuses Harby's attacks with arcane energy at the cost of |cffFFFF80100|r mana per attack. Deals |cffFFFF80[6 x Current Mana]|r as bonus spelldamage. This ability also passively grants |cffFFFF801|r bonus maximum mana for each creep Harby kills.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+[0.1 x Current Mana]|r as bonus spelldamage
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
        BuffType glow_arcaneAura
        BuffType glow_awaken
        ProjectileType glow_arcaneOrb
    endglobals
    
    function awakenOnCreate takes Buff b returns nothing
        local unit u = b.getBuffedUnit().getUnit()
        call SFXAtUnit("Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl", u)
        call SFXAtUnit("Objects\\Spawnmodels\\Undead\\UndeadBlood\\ObsidianStatueCrumble2.mdl", u)
        call AddUnitAnimationProperties(u, "stand alternate", true)
        //Set the unit's height cause it looks dodgy after morphing
        call SetUnitFlyHeight(u, 100, 2000)
        call UnitRemoveAbility(u, '@@0@@')
        set u = null
    endfunction
    
    function awakenOnCleanup takes Buff b returns nothing
        local unit u = b.getBuffedUnit().getUnit()
        call SFXAtUnit("Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl", u)
        call AddUnitAnimationProperties(u, "stand alternate", false)
        call SetUnitFlyHeight(u, 40, 2000)
        call UnitAddAbility(u, '@@0@@')
        set u = null
    endfunction

    function arcane_manaReplenish takes Tower t returns nothing
        call Effect.createColored("Abilities\\Spells\\Undead\\ReplenishHealth\\ReplenishHealthCasterOverhead.mdl", t.getX(), t.getY(), t.getZ()+80, 0.0, 1.0, 100, 100, 255, 255).destroy()
        call t.addManaPerc(0.1 + 0.002 * t.getLevel())
    endfunction
    
    function arcane_onCreate takes Buff b returns nothing
        set b.userInt = 0 //Stores when the buff last procced.
    endfunction
    
    function arcane_onSpellCast takes Buff b returns nothing
        local Tower t = b.getBuffedUnit()
        //125 = 5 * 25 ticks = 5 seconds.
        if (b.userInt + 125 < Game.getGameTime()) and Event.getAutocastType().getManacost() > 0.0 then 
            if t.calcChance(0.1 + 0.004 * t.getLevel()) then
                call arcane_manaReplenish(t)
                set b.userInt = Game.getGameTime()
            endif
        endif
    endfunction
    
    function arcane_orb_hit takes Projectile p, Unit target returns nothing
        call p.doSpellDamage(target, p.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 glow_arcaneAura = BuffType.createAuraEffectType(true)
        call glow_arcaneAura.setBuffIcon('@@1@@')
        call glow_arcaneAura.addEventOnCreate(EventHandler.arcane_onCreate)
        call glow_arcaneAura.addEventOnSpellCast(EventHandler.arcane_onSpellCast)
        
        set glow_awaken = BuffType.create(5, 0, true)
        call glow_awaken.addEventOnCreate(EventHandler.awakenOnCreate)
        call glow_awaken.addEventOnCleanup(EventHandler.awakenOnCleanup)
        call glow_awaken.setBuffIcon('@@2@@')
        
        set glow_arcaneOrb = ProjectileType.create("Abilities\\Weapons\\AvengerMissile\\AvengerMissile.mdl", 10, 1500)
        call glow_arcaneOrb.enableHoming(ProjectileTargetEvent.arcane_orb_hit, 0.0)
	endfunction
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [2] => Array
                (
                    [name] => On Spell Target
                    [code] => call glow_awaken.apply(tower, tower, 0)
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNObsidianStatue.blp
                            [name] => Grotesque Awakening
                            [short_explain] => The statue temporarily comes to life when hit by a spell, allowing it to attack.
                            [long_explain] => Whenever hit by a spell, the statue comes to life for |cffFFFF805|r seconds, enabling it to attack. This ability is affected by buff duration.
                        )

                )

            [3] => Array
                (
                    [name] => On Kill
                    [code] => call tower.modifyProperty(MOD_MANA, 1)
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

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

                    [values] => Array
                        (
                            [AURA_powerAdd] => 1
                            [visible] => true
                            [AURA_auraEffect] => glow_arcaneAura
                            [AURA_levelAdd] => 1
                            [AURA_power] => 0
                            [icon] => ReplaceableTextures\CommandButtons\BTNAntiMagicShell.blp
                            [AURA_targetType] => TARGET_TYPE_TOWERS
                            [long_explain] => Towers in |cffFFFF80350|r range have a |cffFFFF8010%|r chance to replenish |cffFFFF8010%|r of their total manapool when casting an ability that costs mana. Cannot retrigger on the same tower within |cffFFFF805|r seconds. This effect will also proc off Harby's Arcane Orb attacks, without the retrigger restriction.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.4%|r chance|n|cffFFFF80+0.2%|r maximum mana replenished
                            [AURA_targetSelf] => true
                            [name] => Arcane Aura
                            [AURA_level] => 0
                            [short_explain] => Nearby towers have a small chance to regain a portion of their manapool on cast.
                            [AURA_auraRange] => 350
                        )

                )

            [5] => Array
                (
                    [name] => On Tower Creation
                    [code] => call AddUnitAnimationProperties(tower.getUnit(), "stand alternate", false)
    call tower.modifyProperty(MOD_MANA, tower.getKills())
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => Abun
                    [oeValues] => Array
                        (
                            [Art] => ReplaceableTextures\CommandButtons\BTNScatterRockets.blp
                            [Unubertip] => -HIDE-
                        )

                )

        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@1@@
                    [derivedFrom] => Bslo
                    [oeValues] => Array
                        (
                            [Buffubertip] => This tower has a chance to replenish a portion of its mana when it casts a spell.
                            [TargetArt] => Array
                                (
                                )

                            [Bufftip] => Arcane Aura
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNAntiMagicShell.blp
                        )

                )

            [1] => Array
                (
                    [id] => @@2@@
                    [derivedFrom] => Bslo
                    [oeValues] => Array
                        (
                            [Buffubertip] => Harby has been recently targeted by a spell; he is termporarily able to attack.
                            [TargetArt] => Array
                                (
                                )

                            [Bufftip] => Awakened
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNObsidianStatue.blp
                        )

                )

        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

)