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

            [Art] => ReplaceableTextures\CommandButtons\BTNGreenHydra.blp
            [turnRate] => 3
            [dmgplus1] => 6319
            [bldtm] => 1
            [goldcost] => 3500
            [sides1] => 1
            [launchZ] => 75
            [acquire] => 900
            [upgrades] => Array
                (
                )

            [Upgrade] => Array
                (
                )

            [Name] => Ancient Hydra
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => Units\Creeps\Hydra\Hydra.mdl
            [uberSplat] => OSMA
            [Missilespeed] => 1000
            [dice1] => 1
            [RngBuff1] => 250
            [modelScale] => 0.55
            [rangeN1] => 900
            [atkType1] => pierce
            [cool1] => 2.3
            [Ubertip] => "We'll just have to cut its heads off, it'll be fine!"
Famous last words of a once accomplished adventurer.
            [abilList] => Array
                (
                )

            [moveHeight] => 15
            [buildingShadow] => Array
                (
                )

            [targs1] => Array
                (
                )

            [weapsOn] => 1
        )

    [settings] => Array
        (
            [balanceTip] => Array
                (
                )

            [abil_factor] => 0.60
            [author] => Moppy
            [alpha] => 255
            [authorDisplay] => |c006969FFMoppy|r
            [version] => 1.0
            [element] => ice
            [rarity] => unique
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -43.0037
                    [y] => -21.4781
                    [z] => 0
                    [scale] => 0.25
                    [rot] => 3.14159
                    [file] => Doodads\Ruins\Water\Coral\Coral9.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [1] => Array
                (
                    [x] => -4.48011
                    [y] => -56.6358
                    [z] => -32
                    [scale] => 0.25
                    [rot] => 4.71239
                    [file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
                    [red] => 255
                    [green] => 160
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [2] => Array
                (
                    [x] => -41.1392
                    [y] => -46.1279
                    [z] => -32
                    [scale] => 0.25
                    [rot] => 3.92699
                    [file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
                    [red] => 255
                    [green] => 160
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [3] => Array
                (
                    [x] => 34.4388
                    [y] => -49.9399
                    [z] => -32
                    [scale] => 0.25
                    [rot] => 5.06146
                    [file] => Doodads\Terrain\CliffDoodad\Waterfall\Waterfall.mdl
                    [red] => 255
                    [green] => 160
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [4] => Array
                (
                    [x] => -5.24115
                    [y] => 6.12636
                    [z] => -12.8
                    [scale] => 0.5
                    [rot] => 4.71239
                    [file] => Doodads\Ruins\Water\Coral\Coral6.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [5] => Array
                (
                    [x] => 40.3317
                    [y] => 34.0947
                    [z] => 0
                    [scale] => 0.25
                    [rot] => 3.49066
                    [file] => Doodads\Ruins\Water\Coral\Coral3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [6] => Array
                (
                    [x] => -1.33868
                    [y] => -42.9081
                    [z] => 0
                    [scale] => 0.25
                    [rot] => 5.23599
                    [file] => Doodads\Ruins\Water\Coral\Coral9.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [7] => Array
                (
                    [x] => 44.0838
                    [y] => -5.37415
                    [z] => 6.4
                    [scale] => 0.15
                    [rot] => 4.71239
                    [file] => Doodads\Ruins\Water\Coral\Coral8.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [8] => Array
                (
                    [x] => 29.2132
                    [y] => 18.2256
                    [z] => 12.8
                    [scale] => 0.15
                    [rot] => 5.23599
                    [file] => Doodads\Ruins\Water\Coral\Coral8.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

            [9] => Array
                (
                    [x] => -31.3672
                    [y] => -28.398
                    [z] => 12.8
                    [scale] => 0.15
                    [rot] => 2.0944
                    [file] => Doodads\Ruins\Water\Coral\Coral8.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

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

        )

    [dmgTable] => Array
        (
        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Attack
                    [code] => local Unit creep = Event.getTarget()
    local Projectile p
    call TriggerSleepAction(0.75) // Delayed breath projectile shots to make them align with the tower model's wind up animation
        set tower.userInt = tower.userInt + 1
        if tower.userInt == 1 then
            set p = Projectile.createFromUnitToUnit(moppy_hydro_breath_shot, tower, 1, 0, tower, creep, true, false, false)
        elseif tower.userInt == 2 then
            set p = Projectile.createFromUnitToUnit(moppy_toxic_breath_shot, tower, 1, 0, tower, creep, true, false, false)
        elseif tower.userInt == 3 then
            set p = Projectile.createFromUnitToUnit(moppy_cryo_breath_shot, tower, 1, 0, tower, creep, true, false, false)
            set tower.userInt = 0
        endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
                            [name] => Threefold Fury
                            [short_explain] => The Ancient Hydra will unleash three distinct breath attacks in a rotational sequence, each inflicting a different ailment on all foes affected.
                            [ONATTACK_chance] => 1.0
                            [ONATTACK_chanceLevelAdd] => 0.0
                            [long_explain] => The Ancient Hydra will unleash three distinct breath attacks in a rotational sequence, each inflicting a different ailment on all foes affected:|n|n|cffFF8000Hydro Breath:|r Increases damage taken from |cFF00FFFFIce|r towers by |cffFFFF8020%|r for |cffFFFF803|r seconds|n|cffFF8000Toxic Breath:|r Deals |cffFFFF802000|r spell damage per second for |cffFFFF803|r seconds|n|cffFF8000Cryo Breath:|r Slows by |cffFFFF8020%|r for |cffFFFF803|r seconds|n|n|cffFF8000Level Bonus:|r|n|cffFFFF80+0.4%|r damage taken (Hydro Breath)|n|cffFFFF80+40|r spell damage (Toxic Breath)|n|cffFFFF80+0.4%|r slow (Cryo Breath)
                        )

                )

            [1] => Array
                (
                    [name] => Header
                    [code] => globals
    BuffType moppy_hydro_breath_debuff
    ProjectileType moppy_hydro_breath_shot
    
    BuffType moppy_toxic_breath_debuff
    ProjectileType moppy_toxic_breath_shot
    
    BuffType moppy_cryo_breath_debuff
    ProjectileType moppy_cryo_breath_shot
    endglobals
    
    function moppy_hydro_breath_throw takes Projectile p, Unit target returns nothing
        local Tower tower = p.getCaster()
        local integer lvl = tower.getLevel()
        local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
            call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
            loop
                set target = i.next()
                exitwhen target == 0
                call moppy_hydro_breath_debuff.applyCustomTimed(tower, target, lvl, 3.0)
            endloop
    endfunction
    
    function moppy_toxic_breath_damage takes Buff b returns nothing // Spell DoT as a custom made debuff
        local Tower tower = b.getCaster()
        local Unit creep = b.getBuffedUnit()
            call tower.doSpellDamage(creep, (2000 + (tower.getLevel() * 40)), tower.calcSpellCritNoBonus())
    endfunction
    
    function moppy_toxic_breath_throw takes Projectile p, Unit target returns nothing
        local Tower tower = p.getCaster()
        local integer lvl = tower.getLevel()
        local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
            call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
            loop
                set target = i.next()
                exitwhen target == 0
                call moppy_toxic_breath_debuff.applyCustomTimed(tower, target, lvl, 3.01) // To allow the 3rd spell damage instance to proc as it doesn't do so at 3.0 seconds
            endloop
    endfunction
    
    function moppy_cryo_breath_throw takes Projectile p, Unit target returns nothing
        local Tower tower = p.getCaster()
        local integer lvl = tower.getLevel()
        local Iterate i = Iterate.overUnitsInRangeOfUnit(tower, TARGET_TYPE_CREEPS, target, 200)
            call tower.doAttackDamageAoE(target.getX(), target.getY(), 200, tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0.0, 0.0, 0), 0.8)
            loop
                set target = i.next()
                exitwhen target == 0
                call moppy_cryo_breath_debuff.applyCustomTimed(tower, target, lvl, 3.0)
            endloop
    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 h = Modifier.create()
    local Modifier t = Modifier.create()
    local Modifier c = Modifier.create()
    
    set moppy_hydro_breath_debuff = BuffType.create(3, 0, false)
    call h.addModification(MOD_DMG_FROM_ICE, 0.2, 0.004)
    call moppy_hydro_breath_debuff.setBuffModifier(h)
    call moppy_hydro_breath_debuff.setBuffIcon('@@0@@')    
    set moppy_hydro_breath_shot = ProjectileType.create("Abilities\\Weapons\\WaterElementalMissile\\WaterElementalMissile.mdl", 50, 1000)
    call moppy_hydro_breath_shot.enableHoming(moppy_hydro_breath_throw, 0.0)
    
    set moppy_toxic_breath_debuff = BuffType.create(3.01, 0, false)
    call moppy_toxic_breath_debuff.addPeriodicEvent(EventHandler.moppy_toxic_breath_damage, 1)
    call moppy_toxic_breath_debuff.setBuffModifier(t)
    call moppy_toxic_breath_debuff.setBuffIcon('@@1@@')    
    set moppy_toxic_breath_shot = ProjectileType.create("Abilities\\Weapons\\ChimaeraAcidMissile\\ChimaeraAcidMissile.mdl", 50, 1000)
    call moppy_toxic_breath_shot.enableHoming(moppy_toxic_breath_throw, 0.0)
    
    set moppy_cryo_breath_debuff = BuffType.create(3, 0, false)
    call c.addModification(MOD_MOVESPEED, -0.2, -0.004)
    call moppy_cryo_breath_debuff.setBuffModifier(c)
    call moppy_cryo_breath_debuff.setBuffIcon('@@2@@')    
    set moppy_cryo_breath_shot = ProjectileType.create("Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl", 50, 1000)
    call moppy_cryo_breath_shot.enableHoming(moppy_cryo_breath_throw, 0.0)
	endfunction
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [2] => Array
                (
                    [name] => On Damage
                    [code] => set Event.damage = 0 // To make its regular instant attack deal no damage
                    [values] => Array
                        (
                            [ONDAMAGE_chance] => 1.0
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNBreathOfFrost.blp
                            [name] => Breath of Ruin
                            [short_explain] => The Ancient Hydra's breath attacks damage enemies within range around the target with varying strength.
                            [ONDAMAGE_chanceLevelAdd] => 0.0
                            [long_explain] => The Ancient Hydra's breath attacks damage enemies within |cffFFFF80200|r range around the target. Damage dealt scales from |cffFFFF80100%|r of its attack damage at the center to |cffFFFF8020%|r at the outer edge.
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
            [0] => Array
                (
                    [id] => @@0@@
                    [derivedFrom] => BNab
                    [oeValues] => Array
                        (
                            [EditorName] => Hydro Breath
                            [Buffubertip] => Taking increased damage from Ice towers.
                            [TargetArt] => Abilities\Spells\Other\GeneralAuraTarget\GeneralAuraTarget.mdl
                            [Bufftip] => Hydro Breath
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
                        )

                )

            [1] => Array
                (
                    [id] => @@1@@
                    [derivedFrom] => BNab
                    [oeValues] => Array
                        (
                            [EditorName] => Toxic Breath
                            [Buffubertip] => Taking spell damage over time.
                            [TargetArt] => Abilities\Weapons\PoisonSting\PoisonStingTarget.mdl
                            [Bufftip] => Toxic Breath
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
                        )

                )

            [2] => Array
                (
                    [id] => @@2@@
                    [derivedFrom] => BNab
                    [oeValues] => Array
                        (
                            [EditorName] => Cryo Breath
                            [Buffubertip] => Slowed.
                            [TargetArt] => Abilities\Spells\Other\FrostDamage\FrostDamage.mdl
                            [Bufftip] => Cryo Breath
                            [Buffart] => ReplaceableTextures\CommandButtons\BTNRedDragonDevour.blp
                        )

                )

        )

    [units] => Array
        (
        )

    [references] => Array
        (
        )

    [lightning] => Array
        (
        )

)