Array
(
    [scriptVersion] => 7
    [oeValues] => Array
        (
            [RngBuff1] => 250
            [MissileHoming] => 1
            [Upgrade] => Array
                (
                )

            [targs1] => Array
                (
                )

            [goldcost] => 1700
            [weapsOn] => 1
            [dice1] => 1
            [castpt] => 0.9
            [Missilespeed] => 1500
            [moveHeight] => 54
            [file] => units\human\Jaina\Jaina.mdl
            [manaN] => 30
            [atkType1] => magic
            [modelScale] => 0.7
            [weapTp1] => missile
            [acquire] => 1000
            [rangeN1] => 1000
            [upgrades] => Array
                (
                )

            [cool1] => 1.5
            [Ubertip] => This tower is able to extract experience from creeps and energy from spells.
            [backSw1] => -0.5
            [regenMana] => 1.5
            [abilList] => Array
                (
                )

            [mana0] => 5
            [Name] => Princess of Light
            [Missileart] => Abilities\Spells\NightElf\Rejuvenation\RejuvenationTarget.mdl
            [Art] => ReplaceableTextures\CommandButtons\BTNJaina.blp
            [buildingShadow] => Array
                (
                )

            [turnRate] => 1.5
            [sides1] => 1
            [auto] => Array
                (
                )

            [dmgplus1] => 1988
            [bldtm] => 1
        )

    [settings] => Array
        (
            [author] => Boekie
            [element] => astral
            [authorDisplay] => |cff00CD00Boekie|r
            [alpha] => 255
            [balanceTip] => |cffFFFF00+2 |rmana/lvl
            [rarity] => rare
            [version] => 1.0
            [abil_factor] => 0.76
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -1.43526
                    [y] => -6.45917
                    [z] => -134.4
                    [scale] => 1.8
                    [rot] => 5.2867
                    [file] => Doodads\Ruins\Props\RuinsPillar\RuinsPillar2.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -18.4078
                    [y] => -3.05039
                    [z] => 44.8
                    [scale] => 0.1
                    [rot] => 3.01727
                    [file] => Doodads\Ruins\Structures\RuinsArchway0_\RuinsArchway0_0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 170
                    [alpha] => 255
                    [pitch] => -1.59
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => -2.06463
                    [y] => -23.6943
                    [z] => 44.8
                    [scale] => 0.1
                    [rot] => 4.62655
                    [file] => Doodads\Ruins\Structures\RuinsArchway0_\RuinsArchway0_0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 170
                    [alpha] => 255
                    [pitch] => -1.59
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [3] => Array
                (
                    [x] => 17.5696
                    [y] => -6.32804
                    [z] => 44.8
                    [scale] => 0.1
                    [rot] => 6.19262
                    [file] => Doodads\Ruins\Structures\RuinsArchway0_\RuinsArchway0_0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 170
                    [alpha] => 255
                    [pitch] => -1.59
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [4] => Array
                (
                    [x] => 3.17421
                    [y] => 11.5032
                    [z] => 44.8
                    [scale] => 0.1
                    [rot] => 1.47479
                    [file] => Doodads\Ruins\Structures\RuinsArchway0_\RuinsArchway0_0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 170
                    [alpha] => 255
                    [pitch] => -1.59
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [5] => Array
                (
                    [x] => 3.4222
                    [y] => -13.2149
                    [z] => 12.8
                    [scale] => 1.2
                    [rot] => 5.70723
                    [file] => Abilities\Spells\NightElf\Rejuvenation\RejuvenationTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [6] => Array
                (
                    [x] => -43.3203
                    [y] => -40.7391
                    [z] => -0.000000953674
                    [scale] => 0.5
                    [rot] => 3.7001
                    [file] => Doodads\Ruins\Props\RuinsPillar\RuinsPillar1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [7] => Array
                (
                    [x] => 33.3007
                    [y] => -47.4425
                    [z] => -0.000000953674
                    [scale] => 0.5
                    [rot] => 2.47837
                    [file] => Doodads\Ruins\Props\RuinsPillar\RuinsPillar1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [8] => Array
                (
                    [x] => 41.2516
                    [y] => 29.5872
                    [z] => -0.000000953674
                    [scale] => 0.5
                    [rot] => 4.55531
                    [file] => Doodads\Ruins\Props\RuinsPillar\RuinsPillar1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [9] => Array
                (
                    [x] => -31.7786
                    [y] => 36.3466
                    [z] => -0.000000953674
                    [scale] => 0.5
                    [rot] => 1.02974
                    [file] => Doodads\Ruins\Props\RuinsPillar\RuinsPillar1.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

        )

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

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Spell Target
                    [code] => local Unit caster = Event.getTarget()
    local Buff b = tower.getBuffOfType(boekie_lightSpeed_buff)
    local integer twrLevel = tower.getLevel()
    local integer UID = tower.getUID()
    local integer bonusDmg = 30 + twrLevel //each point = 0.5% dmg bonus

    if caster.isATower() then
        call caster.addExp(1) 
        if b == 0 then
            set boekie_lightSpeed_buff.apply(tower, tower, bonusDmg).userInt = 1
        else
            if b.userInt >= 15 then
                return //already at max stacks. ABORT!
            endif
            set b.userInt = b.userInt + 1
            call b.setPower(b.getPower() + bonusDmg)
        endif
        call TriggerSleepAction(10 + 0.01 * twrLevel)
        if tower.getUID() == UID then //make sure tower still alive
            set b = tower.getBuffOfType(boekie_lightSpeed_buff)
            if b != 0 then //make sure buff hasn't been purged or something
                if b.userInt <= 1 then
                    call b.removeBuff()
                else
                    set b.userInt = b.userInt - 1
                    call b.setPower(b.getPower() - bonusDmg)
                endif
            endif
        endif
    endif
                    [values] => Array
                        (
                            [icon] => ReplaceableTextures\CommandButtons\BTNDispelMagic.blp
                            [visible] => true
                            [name] => Channel Energy
                            [short_explain] => This towers deals more damage when hit by a friendly spell and gives experience to the caster.
                            [long_explain] => Whenever this tower is hit by a friendly spell, the caster of that spell will be granted |cffFFFF801|r experience and this tower will gain |cffFFFF8015%|r bonus damage for |cffFFFF8010|r seconds. This effect stacks up to |cffFFFF8015|r times, but new stacks will not refresh the duration of olds ones.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.5%|r damage |n|cffFFFF80+0.1|r seconds duration
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
        //@export
        BuffType boekie_expGain_buff
        //@export
        BuffType boekie_lightSpeed_buff
    endglobals
        
    private function addExpToAttacker takes Buff b returns nothing
        if b.userInt > 0 then
            set b.userInt = b.userInt - 1
            call Event.getTarget().addExp(1.0 + (b.getLevel() * 0.05))
        else
            call b.removeBuff()
        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 m = Modifier.create()
        
        set boekie_expGain_buff = BuffType.create(10.0,0.0,true)
        call boekie_expGain_buff.addEventOnDamaged(addExpToAttacker,0.33,0.0)  
        call boekie_expGain_buff.setBuffIcon('@@0@@')
        
        call m.addModification(MOD_DAMAGE_ADD_PERC,0.0,0.005) 
        set boekie_lightSpeed_buff = BuffType.create(-1,0,true)
        call boekie_lightSpeed_buff.setBuffModifier(m) 
        call boekie_lightSpeed_buff.setBuffIcon('@@1@@')
	endfunction
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [2] => Array
                (
                    [name] => Autocast
                    [code] => local integer level = tower.getLevel()
    set boekie_expGain_buff.apply(tower,Event.getTarget(),level).userInt = 10 + level
                    [values] => Array
                        (
                            [caster_art] => 
                            [icon] => ReplaceableTextures\CommandButtons\BTNHeal.blp
                            [AUTOCAST_cooldown] => 5
                            [AUTOCAST_numBuffsBeforeIdle] => 3
                            [visible] => true
                            [AUTOCAST_isExtended] => false
                            [long_explain] => Casts a buff on a creep. Towers that damage this creep have a |cffFFFF8033%|r chance to extract |cffFFFF801|r experience. Buff lasts |cffFFFF8010|r seconds or until |cffFFFF8010|r extractions occur.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.05|r experience|n|cffFFFF80+1|r extraction
                            [AUTOCAST_autocastType] => AC_TYPE_OFFENSIVE_BUFF
                            [AUTOCAST_manacost] => 20
                            [AUTOCAST_range] => 1000
                            [name] => Extract Experience
                            [AUTOCAST_buffType] => boekie_expGain_buff
                            [AUTOCAST_targetSelf] => false
                            [short_explain] => Debuffs a creep such that towers that damage it have a chance to gain experience.
                            [AUTOCAST_targetType] => TARGET_TYPE_CREEPS
                            [target_art] => 
                            [AUTOCAST_autoRange] => 1000
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => BHbn
                    [oeValues] => Array
                        (
                            [Bufftip] => Extract Experience
                            [Buffubertip] => Whenever a tower damages this creep there is a chance it will gain experience.
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNHeal.blp
                            [TargetArt] => Abilities\Spells\NightElf\Rejuvenation\RejuvenationTarget.mdl
                            [EditorName] => Extract Experience
                            [Effectsoundlooped] => Disenchant
                            [Spelldetail] => 2
                        )

                )

            [1] => Array
                (
                    [id] => @@1@@
                    [derivedFrom] => Binf
                    [oeValues] => Array
                        (
                            [Bufftip] => Channel Energy
                            [Buffubertip] => This unit has increased damage.
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNDispelMagic.blp
                            [EditorName] => Channel Energy
                        )

                )

        )

    [units] => Array
        (
        )

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

            [1] => Array
                (
                    [export] => true
                    [category] => global
                    [typ] => BuffType
                    [name] => boekie_lightSpeed_buff
                )

        )

)