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

            [Art] => ReplaceableTextures\CommandButtons\BTNLava Pit.blp
            [dmgplus1] => 5439
            [bldtm] => 1
            [unitSound] => ElvenGuardTower
            [goldcost] => 3750
            [sides1] => 1
            [Missilearc] => 0.1
            [launchZ] => 70
            [acquire] => 1200
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Molten Core
            [weapTp1] => missile
            [file] => .mdl
            [MissileHoming] => 1
            [uberSplat] => YTDC
            [Missilespeed] => 1400
            [Missileart] => Abilities\Weapons\LordofFlameMissile\LordofFlameMissile.mdl
            [dice1] => 1
            [RngBuff1] => 250
            [rangeN1] => 1200
            [atkType1] => pierce
            [cool1] => 2
            [Ubertip] => When the world itself rises against you.
            [scaleBull] => 0
            [abilList] => Array
                (
                )

            [buildingShadow] => Array
                (
                )

            [targs1] => Array
                (
                )

            [weapsOn] => 1
        )

    [settings] => Array
        (
            [balanceTip] => |cffFFFF0010%|r crit chance (|cffFFFF00+0.4%|r/lvl)
            [abil_factor] => 0.7
            [author] => Ashbringer
            [alpha] => 0
            [authorDisplay] => |cffFF6600Ashbringer|r
            [version] => 1.0
            [element] => fire
            [rarity] => unique
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -0.153059
                    [y] => -0.0921025
                    [z] => 102.4
                    [scale] => 0.17
                    [rot] => 2.3562
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => -3.14
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [1] => Array
                (
                    [x] => -0.163526
                    [y] => 0.199821
                    [z] => 102.4
                    [scale] => 0.17
                    [rot] => 0.785398
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => -3.14
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [2] => Array
                (
                    [x] => -0.088051
                    [y] => 0.514348
                    [z] => -32
                    [scale] => 0.17
                    [rot] => 0
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [3] => Array
                (
                    [x] => -0.088051
                    [y] => 0.514348
                    [z] => -32
                    [scale] => 0.17
                    [rot] => 1.5708
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [4] => Array
                (
                    [x] => -0.0361071
                    [y] => -0.0597048
                    [z] => 51.2
                    [scale] => 0.17
                    [rot] => 0.785398
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [5] => Array
                (
                    [x] => -0.0361071
                    [y] => -0.0597048
                    [z] => 51.2
                    [scale] => 0.17
                    [rot] => 2.3562
                    [file] => Doodads\Dungeon\Structures\DungeonArchway1\DungeonArchway1.mdl
                    [red] => 205
                    [green] => 155
                    [blue] => 105
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [6] => Array
                (
                    [x] => -0.0561701
                    [y] => -0.153846
                    [z] => 76.8
                    [scale] => 0.9
                    [rot] => 4.71239
                    [file] => Abilities\Spells\Other\Volcano\VolcanoMissile.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => true
                    [animation] => birth
                    [aniSpeed] => 0.6
                    [pcolor] => 255
                )

            [7] => Array
                (
                    [x] => -0.0724537
                    [y] => 0.0771471
                    [z] => -6.4
                    [scale] => 1.15
                    [rot] => 4.71239
                    [file] => Doodads\Outland\Props\Grate\Grate1.mdl
                    [red] => 255
                    [green] => 155
                    [blue] => 55
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [8] => Array
                (
                    [x] => -0.0566399
                    [y] => -0.0336536
                    [z] => 6.4
                    [scale] => 0.9
                    [rot] => 4.71239
                    [file] => Doodads\Outland\Props\Grate\Grate1.mdl
                    [red] => 255
                    [green] => 155
                    [blue] => 55
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [9] => Array
                (
                    [x] => 0.949029
                    [y] => 0.989452
                    [z] => 76.8
                    [scale] => 2
                    [rot] => 0.785398
                    [file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [10] => Array
                (
                    [x] => -0.383094
                    [y] => 1.01733
                    [z] => 76.8
                    [scale] => 2
                    [rot] => 0.785398
                    [file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.67
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

            [11] => Array
                (
                    [x] => -0.383979
                    [y] => 1.73022
                    [z] => 76.8
                    [scale] => 2
                    [rot] => 0.785398
                    [file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => -1.67
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                    [pcolor] => 255
                )

        )

    [dmgTable] => Array
        (
            [0] => Array
                (
                    [id] => MOD_ATK_CRIT_CHANCE
                    [base] => 0.0875
                    [add] => 0.004
                )

        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Level Up
                    [code] => local integer level = tower.getLevel()
    
    if level>=25 then
        set tower.userInt = 2
    elseif level>=15 then
        set tower.userInt = 1
    else
        set tower.userInt = 0
    endif
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => On Attack
                    [code] => local Creep target = Event.getTarget()
    
    if tower.calcChance(0.005 * tower.userInt2) then
        call ashbringer_magma_start(tower, target.getX(), target.getY(), tower.userInt2)
    endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNFireRocks.blp
                            [name] => Rolling Magma
                            [short_explain] => Attacks have a chance to launch a boulder of magma which bounces randomly, dealing area damage.
                            [ONATTACK_chance] => 1.0
                            [ONATTACK_chanceLevelAdd] => 0
                            [long_explain] => Attacks have a |cffFFFF800.5%|r chance per stack of Mounting Pressure to release a boulder of magma toward the target. The magma bounces around randomly, dealing |cffFFFF80300%|r of attack damage to enemies within |cffFFFF80200|r range of wherever it bounces. The magma bounces |cffFFFF803|r times, up to |cffFFFF80600|r range per bounce.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+12%|r damage|n|cffFFFF80+1|r bounce at level |cffFFFF8015|r and |cffFFFF8025|r
                        )

                )

            [2] => Array
                (
                    [name] => Header
                    [code] => globals
        ProjectileType ashbringer_magma_missile
        ProjectileType ashbringer_surge_missile
        MultiboardValues ashbringer_eruption_count
    endglobals
    
    function ashbringer_magma_start takes Tower tower, real x, real y, integer stacks returns nothing
        local Projectile p
        local real damage = tower.getCurrentAttackDamageWithBonus() * (3.0 + (tower.getLevel() * 0.12)) * (1 + (stacks * (0.01 + (tower.getLevel() * 0.0004))))
        
        set p = Projectile.createLinearInterpolationFromUnitToPoint(ashbringer_magma_missile, tower, 0, 0, tower, x, y, 0, 0.5)
        set p.userInt = 3 + tower.userInt
        set p.userInt2 = stacks
        set p.userReal = damage
        set p.userReal2 = x
        set p.userReal3 = y
    endfunction
    
    function ashbringer_magma_bounce takes Projectile p, Unit target returns nothing
        local Tower tower = p.getCaster()
        local Iterate i = Iterate.overUnitsInRange(tower, TARGET_TYPE_CREEPS, p.userReal2, p.userReal3, 200)
        local Creep next
        local real random_angle = GetRandomReal(0, 360)
        local real random_distance
        local real target_x
        local real target_y
        local Effect e
        local real bonus_crit = 0
        
        if tower.userInt2 < p.userInt2 then
            set bonus_crit = 0.005 * (p.userInt2 - tower.userInt2)
        endif
        
        loop
            set next = i.next()
            exitwhen next==0
            call tower.doAttackDamage(next, p.userReal, tower.calcAttackMulticrit(bonus_crit, 0, 0))
            call Effect.createSimpleOnUnit("Abilities\\Spells\\Items\\AIfb\\AIfbSpecialArt.mdl", next, "chest").destroy()
        endloop
        
        set p.userInt = p.userInt - 1
        
        if p.userInt>0 then
            call p.avertDestruction()
            
            set e = Effect.createAnimated("Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl", p.userReal2, p.userReal3, 0, random_angle)
            call e.setLifetime(1.7)
            call e.setAnimation("Death")
            
            set random_distance = GetRandomReal(200+75, 600)
            set target_x = p.userReal2 + random_distance * Cos(Deg2Rad(random_angle))
            set target_y = p.userReal3 + random_distance * Sin(Deg2Rad(random_angle))
            
            call p.startLinearInterpolationToPoint(target_x, target_y, 0, 0.5)
            set p.userReal2 = target_x
            set p.userReal3 = target_y
        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
        set ashbringer_magma_missile = ProjectileType.createInterpolate("Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl", 400)
        call ashbringer_magma_missile.setEventOnInterpolationFinished(ProjectileTargetEvent.ashbringer_magma_bounce)
        
        set ashbringer_eruption_count = MultiboardValues.create(1)
        call ashbringer_eruption_count.setKey(0,"Pressure")
	endfunction
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNEarthquake.blp
                            [name] => Mounting Pressure
                            [short_explain] => Critical hits have a chance to grant a stack of Mounting Pressure, increasing damage and other stats.
                            [long_explain] => Critical hits have a |cffFFFF8030%|r chance to grant the tower a stack of Mounting Pressure. The tower gains |cffFFFF802%|r attack speed, |cffFFFF800.5%|r critical strike chance and |cffFFFF801%|r trigger chance per stack. Attacks and Rolling Magma deal |cffFFFF801%|r more damage per stack. Maximum |cffFFFF8050|r stacks.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1.2%|r chance|n|cffFFFF80+0.04%|r attack and rolling magma damage
                        )

                )

            [3] => Array
                (
                    [name] => On Tower Details
                    [code] => call ashbringer_eruption_count.setValue(0, I2S(tower.userInt2)) 
    return ashbringer_eruption_count
                    [values] => Array
                        (
                            [0] => Array
                                (
                                    [_value] => 0
                                    [typ] => string
                                )

                        )

                )

            [4] => Array
                (
                    [name] => On Damage
                    [code] => local real eruption_chance = 0.3 + (tower.getLevel() * 0.012)
    local real surge_damage = 1 + (tower.userInt2 * (0.01 + (tower.getLevel() * 0.0004)))
    local real random_angle
    local real random_distance
    local real target_x
    local real target_y
    local integer magma_count
    
    set Event.damage = Event.damage * surge_damage
    
    if Event.isAttackDamageCritical() then
        if tower.calcChance(eruption_chance) then
    
        if tower.userInt2<50 then
            set tower.userInt2 = tower.userInt2 + 1
            call tower.modifyProperty(MOD_ATTACKSPEED, 0.02)
            call tower.modifyProperty(MOD_ATK_CRIT_CHANCE, 0.005)
            call tower.modifyProperty(MOD_TRIGGER_CHANCES, 0.01)
        else
            set magma_count = 5 + (tower.getLevel() * 1 / 5)
            loop
                exitwhen magma_count==0
                set random_angle = GetRandomReal(0, 360)
                set random_distance = GetRandomReal(600/2, 600*1.5)
                set target_x = tower.getX() + random_distance * Cos(Deg2Rad(random_angle))
                set target_y = tower.getY() + random_distance * Sin(Deg2Rad(random_angle))
                call ashbringer_magma_start(tower, target_x, target_y, tower.userInt2)
                set magma_count = magma_count - 1
            endloop
            
            call tower.modifyProperty(MOD_ATTACKSPEED, -1 * I2R(tower.userInt2) * 0.02)
            call tower.modifyProperty(MOD_ATK_CRIT_CHANCE, -1 * I2R(tower.userInt2) * 0.005)
            call tower.modifyProperty(MOD_TRIGGER_CHANCES, -1 * I2R(tower.userInt2) * 0.01)
            set tower.userInt2 = 0
        endif
        endif
    endif
                    [values] => Array
                        (
                            [ONDAMAGE_chance] => 1.0
                            [visible] => falsee
                            [icon] => ReplaceableTextures\CommandButtons\BTNFire.blp
                            [name] => Lava Surge
                            [short_explain] => Attacks and Rolling Magma deal more damage per stack of Mounting Pressure.
                            [ONDAMAGE_chanceLevelAdd] => 0.0
                            [long_explain] => Attacks and Rolling Magma deal |cffFFFF801%|r more damage per stack of Mounting Pressure.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.04%|r damage
                        )

                )

            [5] => Array
                (
                    [name] => On Tower Creation
                    [code] => local integer level = tower.getLevel()
    
    if level>=25 then
        set tower.userInt = 2
    elseif level>=15 then
        set tower.userInt = 1
    else
        set tower.userInt = 0
    endif
    set tower.userInt2 = 0
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNVolcano.blp
                            [name] => Eruption
                            [short_explain] => When reaching maximum stacks of Mounting Pressure, consumes all stacks to cause a violent eruption.
                            [long_explain] => Exceeding the maximum stacks of Mounting Pressure will instead consume all stacks to cause a violent eruption, releasing |cffFFFF805|r Rolling Magma boulders in random directions.|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+1|r Rolling Magma every |cffFFFF805|r levels
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

    [lightning] => Array
        (
        )

)