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

            [targs1] => Array
                (
                )

            [goldcost] => 4500
            [weapsOn] => 1
            [dice1] => 1
            [Missilespeed] => 1500
            [moveHeight] => 45
            [file] => units\undead\Banshee\Banshee.mdl
            [atkType1] => hero
            [modelScale] => 0.3
            [weapTp1] => missile
            [acquire] => 800
            [rangeN1] => 800
            [upgrades] => Array
                (
                )

            [cool1] => 2
            [Ubertip] => An unsightly being from a distant realm, adept in performing daemonic rituals and casting nasty curses.
            [green] => 0
            [abilList] => Array
                (
                )

            [Name] => It
            [Missileart] => Abilities\Spells\NightElf\CorrosiveBreath\CorrosiveBreathMissile.mdl
            [Art] => ReplaceableTextures\CommandButtons\BTNBanshee.blp
            [red] => 0
            [buildingShadow] => Array
                (
                )

            [turnRate] => 2
            [blue] => 0
            [sides1] => 1
            [auto] => Array
                (
                )

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

    [settings] => Array
        (
            [author] => axllow
            [element] => darkness
            [authorDisplay] => axllow
            [alpha] => 255
            [balanceTip] => |cffFFFF0010%|r spell crit chance (|cffFFFF00+0.5%|r/lvl)
            [rarity] => unique
            [version] => 1.0
            [abil_factor] => 0.7
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => 37.0487
                    [y] => 36.8589
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 3.99471
                    [file] => units\undead\Acolyte\Acolyte.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 200
                    [pitch] => 0
                    [advanced] => true
                    [animation] => Stand Work Gold
                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -34.8764
                    [y] => -33.1036
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 0.794998
                    [file] => units\undead\Acolyte\Acolyte.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 200
                    [pitch] => 0
                    [advanced] => true
                    [animation] => Stand Work Gold
                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => 34.8725
                    [y] => -33.8093
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 2.34904
                    [file] => units\undead\Acolyte\Acolyte.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 200
                    [pitch] => 0
                    [advanced] => true
                    [animation] => Stand Work Gold
                    [aniSpeed] => 50
                )

            [3] => Array
                (
                    [x] => -38.435
                    [y] => 38.0979
                    [z] => 0
                    [scale] => 0.6
                    [rot] => 5.45712
                    [file] => units\undead\Acolyte\Acolyte.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 200
                    [pitch] => 0
                    [advanced] => true
                    [animation] => Stand Work Gold
                    [aniSpeed] => 50
                )

            [4] => Array
                (
                    [x] => -3.48232
                    [y] => 5.23116
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 4.5369
                    [file] => buildings\undead\SacrificialPit\SacrificialPit.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => true
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [5] => Array
                (
                    [x] => -2.7309
                    [y] => -16.8057
                    [z] => 0
                    [scale] => 1
                    [rot] => 4.39823
                    [file] => Environment\BlightDoodad\BlightDoodad.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [6] => Array
                (
                    [x] => 0.935466
                    [y] => -15.7653
                    [z] => 0
                    [scale] => 1
                    [rot] => 4.66003
                    [file] => Environment\BlightDoodad\BlightDoodad.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [7] => Array
                (
                    [x] => 15.797
                    [y] => -45.6027
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [8] => Array
                (
                    [x] => 30.7619
                    [y] => -14.333
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [9] => Array
                (
                    [x] => 38.6696
                    [y] => 15.2645
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [10] => Array
                (
                    [x] => 48.821
                    [y] => 17.8092
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [11] => Array
                (
                    [x] => 2.74186
                    [y] => 50.0285
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [12] => Array
                (
                    [x] => -43.2828
                    [y] => 10.3024
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [13] => Array
                (
                    [x] => -43.9299
                    [y] => -7.6306
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [14] => Array
                (
                    [x] => 11.4347
                    [y] => 44.6986
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [15] => Array
                (
                    [x] => 45.897
                    [y] => -4.22109
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [16] => Array
                (
                    [x] => -20.6361
                    [y] => -19.423
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [17] => Array
                (
                    [x] => 47.7294
                    [y] => 3.61563
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [18] => Array
                (
                    [x] => 5.97022
                    [y] => -36.5948
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [19] => Array
                (
                    [x] => -8.2793
                    [y] => -44.1874
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [20] => Array
                (
                    [x] => -14.3339
                    [y] => 47.5408
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [21] => Array
                (
                    [x] => -43.9618
                    [y] => 18.4426
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 1.93732
                    [file] => Doodads\LordaeronSummer\Props\SkullPile\SkullPile0.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_CHANCE
                    [base] => 0.0875
                    [add] => 0.005
                )

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Tower Creation
                    [code] => local Summoner sum = Summoner.create()
    local unit twrUnit = tower.getUnit()
    set sum.tow = CreateUbersplat(GetUnitX(twrUnit) - 16.0, GetUnitY(twrUnit) - 16.0,"DRKC",255,255,255,255,false,false)
    call SetUbersplatRenderAlways(sum.tow,true)
    set tower.userInt = sum
    set tower.userInt2 = 0
    set tower.userInt3 = 0
    set twrUnit = null
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => On Tower Details
                    [code] => local Summoner sum = tower.userInt
    call Summoner_spd.setValue(0, formatPercent(sum.size - 3.0, 1)) 
    return Summoner_spd
                    [values] => Array
                        (
                            [0] => Array
                                (
                                    [_value] => 4500
                                    [typ] => string
                                )

                        )

                )

            [2] => Array
                (
                    [name] => Header
                    [code] => globals
        integer array Summoner_units
        Effect Summoner_tp_e
        MultiboardValues Summoner_spd
    endglobals
    
    struct Summoner
        real size = 3.0
        ubersplat tow
        Effect from = 0
        Effect future = 0
        real fromX = 0
        real fromY = 0
        real toX = 0
        real toY = 0
    endstruct
    
    function It_kill takes Tower tower returns nothing
        local Summoner sum = tower.userInt
        local unit twrUnit = tower.getUnit()
        local real mod = 0.001 + (0.0001 * tower.getLevel())
        if sum.size < 10.0 then
            call tower.modifyProperty(MOD_SPELL_DAMAGE_DEALT,mod)//700% cap
            set sum.size = sum.size + mod
        endif
        if sum.size < 3.7 then
            call SetUnitScale(twrUnit,sum.size-2.7,sum.size,sum.size) 
        endif
        set twrUnit = 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 Summoner_spd = MultiboardValues.create(1)
    call Summoner_spd.setKey(0,"Spelldamage Bonus")
    endfunction
                    [values] => Array
                        (
                            [icon] => ReplaceableTextures\CommandButtons\BTNDevourMagic.blp
                            [visible] => true
                            [name] => It Hunger
                            [short_explain] => Unstoppable  hunger
                            [long_explain] => Every time an enemy creep is transported by Dark Ritual or killed by this tower, It permanently gains |cffFFFF800.1%|r spelldamage. There is a maximum of |cffFFFF80700%|r bonus spelldamage.|n|n|cffFF8000Level Bonus:|r|n |cffFFFF80+0.01%|r spelldamage
                        )

                )

            [3] => Array
                (
                    [name] => Autocast
                    [code] => local Summoner sum = tower.userInt
    local real lastX = sum.toX
    local real lastY = sum.toY
    set sum.toX = GetSpellTargetX()
    set sum.toY = GetSpellTargetY()
    if isPointOnCreepPath(sum.toX,sum.toY) then
            if tower.userInt2 == 1 then
                call sum.future.setPosition(sum.toX,sum.toY)
            else
                set tower.userInt2 = 1
                set sum.future = Effect.createColored("Abilities\\Spells\\Undead\\VampiricAura\\VampiricAura.mdl",sum.toX,sum.toY,0,270.0,2.0,255,0,0,255)
                call sum.future.noDeathAnimation()
            endif
        else
            set sum.toX = lastX
            set sum.toY = lastY
            call tower.getOwner().displaySmallFloatingText("Invalid location!",tower,255, 150, 0,30)
    endif
                    [values] => Array
                        (
                            [caster_art] => 
                            [icon] => ReplaceableTextures\CommandButtons\BTNLoad.blp
                            [AUTOCAST_cooldown] => 5
                            [AUTOCAST_numBuffsBeforeIdle] => 0
                            [AUTOCAST_isExtended] => true
                            [long_explain] => Set up Recreation Field at a chosen location. Field has |cffFFFF80250|r AoE and will punish creeps that walk over it at the wrong moment.
                            [AUTOCAST_autocastType] => AC_TYPE_NOAC_POINT
                            [AUTOCAST_manacost] => 0
                            [AUTOCAST_range] => 800
                            [AUTOCAST_buffType] => 0
                            [name] => Recreation Field
                            [AUTOCAST_targetSelf] => false
                            [short_explain] => Set up recreation field
                            [AUTOCAST_targetType] => 0
                            [target_art] => 
                            [AUTOCAST_autoRange] => 0
                        )

                )

            [4] => Array
                (
                    [name] => Autocast
                    [code] => local Summoner sum = tower.userInt
    local real lastX = sum.fromX
    local real lastY = sum.fromY
    if(tower.userInt2 == 1) then
        set tower.userReal = 1
        set sum.fromX = GetSpellTargetX()
        set sum.fromY = GetSpellTargetY()
        //no need to check the location in this field's placement
        if tower.userInt3 == 1 then
            call sum.from.setPosition(sum.fromX,sum.fromY)
        else
            set tower.userInt3 = 1
            set sum.from = Effect.createColored("Abilities\\Spells\\Undead\\VampiricAura\\VampiricAura.mdl",sum.fromX,sum.fromY,0,270.0,2.0,0,0,255,255)
            call sum.from.noDeathAnimation()
        endif
    else
        call tower.getOwner().displaySmallFloatingText("You must place the recreation field first!",tower,255, 150, 0,30)
    endif
                    [values] => Array
                        (
                            [caster_art] => 
                            [icon] => ReplaceableTextures\CommandButtons\BTNUnload.blp
                            [AUTOCAST_cooldown] => 5
                            [AUTOCAST_numBuffsBeforeIdle] => 0
                            [AUTOCAST_isExtended] => true
                            [long_explain] => Set up Corruption Field at a chosen location. Field has |cffFFFF80250|r AoE and will punish creeps that walk over it at the wrong moment.
                            [AUTOCAST_autocastType] => AC_TYPE_NOAC_POINT
                            [AUTOCAST_manacost] => 0
                            [AUTOCAST_range] => 800
                            [AUTOCAST_buffType] => 0
                            [name] => Corruption Field
                            [AUTOCAST_targetSelf] => false
                            [short_explain] => Set up corruption field
                            [AUTOCAST_targetType] => 0
                            [target_art] => 
                            [AUTOCAST_autoRange] => 0
                        )

                )

            [5] => Array
                (
                    [name] => On Tower Destruction
                    [code] => local Summoner sum = tower.userInt
    if tower.userInt2 == 1 then
        call sum.future.destroy()
    endif
    if tower.userInt3 == 1 then
        call sum.from.destroy()
    endif
    call DestroyUbersplat(sum.tow)
    set sum.tow = null
    call sum.destroy()
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [6] => Array
                (
                    [name] => On Kill
                    [code] => call It_kill(tower)
                    [values] => Array
                        (
                            [icon] => 
                            [visible] => false
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [7] => Array
                (
                    [name] => On Attack
                    [code] => //local integer currentTime = Game.getGameTime
    local Summoner sum = tower.userInt
    local Iterate inRange
    local real mod = 3000 + (tower.getLevel() * 100)
    local Creep s
    local integer UID
    local Effect DMG1
    local Effect DMG2
    local Effect TP1
    local Effect TP2
    local real toX
    local real toY
    if(tower.userReal == 1) then
        call tower.doSpellDamageAoE(sum.fromX,sum.fromY,250.0,mod,tower.calcSpellCritNoBonus(),0.0)
        //40.0 Oo
        set DMG1 = Effect.createColored("Abilities\\Spells\\Human\\Feedback\\ArcaneTowerAttack.mdl",sum.fromX,sum.fromY,100.0,270.0,40.0,0,0,0,255)
        call DMG1.setLifetime(1)
        set inRange = Iterate.overUnitsInRange(tower,TARGET_TYPE_CREEPS,sum.fromX,sum.fromY,250.0)
        loop
            set s = inRange.next()
            exitwhen s == 0
          //  set s = l 
            set UID = s.getUID()
            if UID != -1 and Summoner_units[s] != UID and s.getSize() < SIZE_BOSS then
                set TP1 = Effect.create("Abilities\\Spells\\Undead\\Darksummoning\\DarkSummonTarget.mdl",s.getX(),s.getY(),0.0,270.0)
                call TP1.setLifetime(1)
                call It_kill(tower)
                set toX = sum.toX + GetRandomReal(-25,25)
                set toY = sum.toY + GetRandomReal(-25,25)
                call s.moveToPoint(toX,toY,false)
                set TP2 = Effect.create("Abilities\\Spells\\Undead\\Darksummoning\\DarkSummonTarget.mdl",toX,toY,0.0,270.0)
                call TP2.setLifetime(1)
                call s.reorder()
                set Summoner_units[s] = UID
            endif
        endloop
        call tower.doSpellDamageAoE(sum.toX,sum.toY,250.0,mod,tower.calcSpellCritNoBonus(),0.0)
        set DMG2 = Effect.createColored("Abilities\\Spells\\Human\\Feedback\\ArcaneTowerAttack.mdl",sum.toX,sum.toY,100.0,270.0,40.0,0,0,0,255)
        call DMG2.setLifetime(1)
        set tower.userReal = 0
        call TriggerSleepAction(1.0)
        set tower.userReal = 1
    endif
                    [values] => Array
                        (
                            [icon] => ReplaceableTextures\CommandButtons\BTNDarkSummoning.blp
                            [visible] => true
                            [name] => Dark Ritual
                            [short_explain] => Start dark ritual
                            [ONATTACK_chance] => 1.0
                            [ONATTACK_chanceLevelAdd] => 0.0
                            [long_explain] => When this tower attacks, it awakens the powerful dark magic in Recreation and Corruption Fields, dealing |cffFFFF803000|r spelldamage to all creeps unfortunate enough to be standing in those areas. If a non-boss enemy in Corruption Field is affected by Dark Ritual for the first time, it will be immediately transported to Recreation Field.|n|n|cffFF8000Level Bonus:|r|n |cffFFFF80+100|r spelldamage|n|n|cffFFFF80Cooldown:|r |cffFFFF801 sec|r
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

)