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

            [targs1] => Array
                (
                )

            [goldcost] => 1900
            [weapsOn] => 1
            [castbsw] => 0
            [dice1] => 1
            [Missilespeed] => 1500
            [moveHeight] => 112
            [file] => units\creeps\GnollWarden\GnollWarden.mdl
            [manaN] => 20
            [atkType1] => normal
            [modelScale] => 0.6
            [weapTp1] => missile
            [acquire] => 1200
            [rangeN1] => 1200
            [upgrades] => Array
                (
                )

            [cool1] => 0.75
            [Ubertip] => Gnollssss!
            [regenMana] => 1
            [abilList] => Array
                (
                )

            [Name] => Gnoll Lightning Caller
            [Missileart] => Abilities\Weapons\FarseerMissile\FarseerMissile.mdl
            [Art] => ReplaceableTextures\CommandButtons\BTNGnollWarden.blp
            [buildingShadow] => Array
                (
                )

            [turnRate] => 0.4
            [unitSound] => Gnoll
            [sides1] => 1
            [auto] => Array
                (
                )

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

    [settings] => Array
        (
            [author] => cedi
            [element] => storm
            [authorDisplay] => DreamStrider
            [alpha] => 255
            [balanceTip] => Array
                (
                )

            [rarity] => rare
            [version] => 1.0
            [abil_factor] => 0.20
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -1.52492
                    [y] => -0.59987
                    [z] => -89.6
                    [scale] => 0.5
                    [rot] => 1.5708
                    [file] => Doodads\Cityscape\Structures\City_ColumnSingle\City_ColumnSingle.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -0.465153
                    [y] => 3.7223
                    [z] => -89.6
                    [scale] => 0.5
                    [rot] => 3.10669
                    [file] => Doodads\Cityscape\Structures\City_ColumnSingle\City_ColumnSingle.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => -28.8087
                    [y] => 3.96365
                    [z] => 0
                    [scale] => 0.2
                    [rot] => 0
                    [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
                )

            [3] => Array
                (
                    [x] => 27.5887
                    [y] => 2.4586
                    [z] => 0
                    [scale] => 0.2
                    [rot] => 3.14159
                    [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
                )

            [4] => Array
                (
                    [x] => -0.584006
                    [y] => 1.20075
                    [z] => 89.6
                    [scale] => 2
                    [rot] => 0.0523599
                    [file] => Abilities\Spells\Items\AIlb\AIlbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => stand
                    [aniSpeed] => 0.5
                )

        )

    [dmgTable] => Array
        (
        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Tower Creation
                    [code] => local integer lvl = tower.getLevel()
    if lvl < 15 then
        set tower.userInt = 1
    elseif lvl >= 15 and lvl < 25 then
        set tower.userInt = 2
    elseif lvl == 25 then
        set tower.userInt = 3
    endif
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => On Tower Details
                    [code] => local real r = 2900.00 + 116.00 * tower.getLevel() + ( 870.00 + 34.8 * tower.getLevel() ) * tower.getOwner().getNumTowers()
    call MBV.setValue( 0, R2S( r ) )
    return MBV
                    [values] => Array
                        (
                        )

                )

            [2] => Array
                (
                    [name] => Header
                    [code] => globals
        MultiboardValues MBV
    endglobals
    
    //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 MBV = MultiboardValues.create( 1 )
        call MBV.setKey( 0, "Thunder Shock Dmg" )
	endfunction
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [3] => Array
                (
                    [name] => Autocast
                    [code] => local Unit U = Event.getTarget()
    local integer lvl = tower.getLevel()
    local integer i = tower.userInt
    local Iterate I
    local boolean b
    call tower.doSpellDamage( U, 2900.00 + 116.00 * lvl + ( 870.00 + 34.8 * lvl ) * tower.getOwner().getNumTowers(), tower.calcSpellCritNoBonus() )
    if tower.calcChance( 0.25 ) then
        call tower.getOwner().displaySmallFloatingText( "MULTICAST!", tower, 0, 255, 0, 0.00 )
        loop
            exitwhen i <= 0
            set I = Iterate.overUnitsInRangeOfCaster( tower, TARGET_CREEPS, 1200.00 )
            set b = true
            loop
                if i <= 0 then
                    //enough hits
                    call I.destroy()
                    exitwhen true
                endif
                set U = I.next()
                if U == 0 and b then
                    //no units near
                    return
                endif
                set b = false
                exitwhen U == 0
                call SFXAtUnit( "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl", U.getUnit() )
                call tower.doSpellDamage( U, 2900.00 + 116.00 * lvl + ( 870.00 + 34.8 * lvl ) * tower.getOwner().getNumTowers(), tower.calcSpellCritNoBonus() )
                set i = i - 1
            endloop
        endloop
    endif
                    [values] => Array
                        (
                            [caster_art] => Abilities\Spells\Orc\Purge\PurgeBuffTarget.mdl
                            [icon] => ReplaceableTextures\CommandButtons\BTNPurge.blp
                            [AUTOCAST_cooldown] => 3.0
                            [AUTOCAST_numBuffsBeforeIdle] => 1
                            [AUTOCAST_isExtended] => false
                            [long_explain] => Deals |cffFFFF80[2900 + (870 x amount of player towers)]|r spell damage to a target creep. This ability has a |cffFFFF8025%|r chance to recast itself when cast. Maximum of |cffFFFF801|r extra cast.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+116|r base spelldamage|n|cffFFFF80+34.8|r spelldamage per player tower|n|cffFFFF80+1|r extra cast at levels |cffFFFF8015|r and |cffFFFF8025|r
                            [AUTOCAST_autocastType] => AC_TYPE_OFFENSIVE_UNIT
                            [AUTOCAST_manacost] => 12
                            [AUTOCAST_range] => 1200.00
                            [AUTOCAST_buffType] => 0
                            [name] => Thunder Shock
                            [AUTOCAST_targetSelf] => true
                            [short_explain] => Releases a strong lightning upon the target.
                            [AUTOCAST_targetType] => TARGET_TYPE_CREEPS
                            [target_art] => Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl
                            [AUTOCAST_autoRange] => 1200.00
                        )

                )

            [4] => Array
                (
                    [name] => On Level Up
                    [code] => local integer lvl = tower.getLevel()
    if lvl < 15 then
        set tower.userInt = 1
    elseif lvl >= 15 and lvl < 25 then
        set tower.userInt = 2
    elseif lvl == 25 then
        set tower.userInt = 3
    endif
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

)