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

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

            [Upgrade] => Array
                (
                )

            [Name] => Keeper of the Twin Flames
            [weapTp1] => missile
            [MissileHoming] => 1
            [file] => Units\Creeps\DragonSpawnGreen\DragonSpawnGreen.mdl
            [uberSplat] => OSMA
            [Missileart] => Abilities\Weapons\ShadowHunterMissile\ShadowHunterMissile.mdl
            [Missilespeed] => 1500
            [dice1] => 1
            [RngBuff1] => 250
            [green] => 150
            [modelScale] => 0.7
            [rangeN1] => 900
            [backSw1] => 0.5
            [atkType1] => siege
            [cool1] => 1.1
            [Ubertip] => A fighter skilled in both physical and magical attacks.
            [blue] => 150
            [abilList] => Array
                (
                )

            [moveHeight] => 25
            [dmgpt1] => 0.83
            [buildingShadow] => Array
                (
                )

            [targs1] => Array
                (
                )

            [weapsOn] => 1
        )

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

            [abil_factor] => 0.65
            [author] => DaveMatthews
            [alpha] => 255
            [authorDisplay] => DaveMatthews
            [version] => 1.0
            [element] => fire
            [rarity] => unique
        )

    [effects] => Array
        (
            [0] => Array
                (
                    [x] => -0.432632
                    [y] => -18.87
                    [z] => 0
                    [scale] => 0.7
                    [rot] => 0.10472
                    [file] => Doodads\Dungeon\Rocks\DungeonRock\DungeonRock6.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [1] => Array
                (
                    [x] => -42.7054
                    [y] => -59.6553
                    [z] => 0
                    [scale] => 0.21
                    [rot] => 2.19912
                    [file] => Doodads\Dungeon\Rocks\DungeonStalagmite\DungeonStalagmite3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [2] => Array
                (
                    [x] => 35.5593
                    [y] => -61.0792
                    [z] => 0
                    [scale] => 0.21
                    [rot] => 2.19912
                    [file] => Doodads\Dungeon\Rocks\DungeonStalagmite\DungeonStalagmite3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [3] => Array
                (
                    [x] => -38.3327
                    [y] => 36.1557
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 2.19912
                    [file] => Doodads\Dungeon\Rocks\DungeonStalagmite\DungeonStalagmite3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [4] => Array
                (
                    [x] => 34.3189
                    [y] => -63.9201
                    [z] => 64
                    [scale] => 0.6
                    [rot] => 2.02458
                    [file] => Abilities\Spells\Items\AIfb\AIfbTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [5] => Array
                (
                    [x] => 38.4701
                    [y] => 39.3763
                    [z] => 0
                    [scale] => 0.3
                    [rot] => 2.19912
                    [file] => Doodads\Dungeon\Rocks\DungeonStalagmite\DungeonStalagmite3.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [6] => Array
                (
                    [x] => -44.9694
                    [y] => -63.9202
                    [z] => 57.6
                    [scale] => 0.6
                    [rot] => 1.78024
                    [file] => Abilities\Spells\Items\OrbVenom\OrbVenom.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [7] => Array
                (
                    [x] => -39.8843
                    [y] => 30.1785
                    [z] => 51.2
                    [scale] => 0.45
                    [rot] => 5.044
                    [file] => Abilities\Spells\NightElf\Immolation\ImmolationTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

            [8] => Array
                (
                    [x] => 38.2419
                    [y] => 30.159
                    [z] => 89.6
                    [scale] => 0.4
                    [rot] => 1.79769
                    [file] => Abilities\Spells\Other\ImmolationRed\ImmolationRedTarget.mdl
                    [red] => 255
                    [green] => 255
                    [blue] => 255
                    [alpha] => 255
                    [pitch] => 0
                    [advanced] => false
                    [animation] => Array
                        (
                        )

                    [aniSpeed] => 50
                )

        )

    [dmgTable] => Array
        (
        )

    [triggers] => Array
        (
            [0] => Array
                (
                    [name] => On Level Up
                    [code] => if tower.getLevel() < 15 then
    set tower.userInt3 = 8
  elseif tower.getLevel() < 25 then
    set tower.userInt3 = 7 
  elseif tower.getLevel() == 25 then
    set tower.userInt3 = 6
  endif
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

            [1] => Array
                (
                    [name] => On Attack
                    [code] => local Projectile p
local Iterate it
local Effect e
local Unit u
local integer level = tower.getLevel()

if tower.calcChance( tower.getProp_SpellCritChance() ) then
    set Projectile.createBezierInterpolationFromUnitToUnit(dave_red,tower,1,1,tower,Event.getTarget(),0,0.3,0,true).userReal = 0.75+0.01*level
    if tower.userInt >= tower.userInt3 then
    set tower.userInt = 0
    set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
    loop
      set u = it.next()
      exitwhen u == 0
      call tower.doSpellDamage(u,tower.getCurrentAttackDamageWithBonus()*(0.75+0.01*level),tower.calcSpellCritNoBonus())
      call SFXOnUnit("Abilities\\Spells\\NightElf\\Immolation\\ImmolationDamage.mdl",u.getUnit(), "chest")
      set e = Effect.createColored("Abilities\\Spells\\Demon\\DarkConversion\\ZombifyTarget.mdl",tower.getX()-48,tower.getY()+48, 40, 0.0, 0.42, 0, 255, 0, 255)
      call e.setLifetime(0.5)
    endloop
    else
    set tower.userInt = tower.userInt + 1
    endif
endif
    
if tower.calcChance( tower.getProp_AtkCritChance() ) then
    set Projectile.createBezierInterpolationFromUnitToUnit(dave_green,tower,1,1,tower,Event.getTarget(),0,-0.3,0,true).userReal = 0.75+0.01*level
    if tower.userInt2 >= tower.userInt3 then
    set tower.userInt2 = 0
    set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
    loop
      set u = it.next()
      exitwhen u == 0
      call tower.doAttackDamage(u,tower.getCurrentAttackDamageWithBonus()*(0.75+0.01*level),tower.calcAttackMulticrit(0,0,0))
      call SFXOnUnit("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeEmbers.mdl",u.getUnit(), "chest")
      set e = Effect.createColored("Abilities\\Spells\\Demon\\DarkConversion\\ZombifyTarget.mdl",tower.getX()+48,tower.getY()+48, 40, 0.0, 0.42, 255, 0, 0, 255)
      call e.setLifetime(0.5)
    endloop 
    else 
    set tower.userInt2 = tower.userInt2 + 1
    endif
endif
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNFire.blp
                            [name] => Twin Flames
                            [short_explain] => Has a chance to launch two kinds of fire bolt.
                            [ONATTACK_chance] => 1
                            [ONATTACK_chanceLevelAdd] => 0
                            [long_explain] => On each attack, this tower has a chance equal to its crit chance to launch a green flame, dealing |cffFFFF8075%|r of tower's attack damage as spell damage, and a chance equal to its spell crit chance to launch a red flame, dealing |cffFFFF8075%|r of tower's attack damage as physical damage. |n|n|cffFF8000Level Bonus: |r|n|cffFFFF80+1%|r damage
                        )

                )

            [2] => Array
                (
                    [name] => Header
                    [code] => globals
        //@import
        BuffType dave_physical_buff
        //@import
        BuffType dave_spell_buff
        //@import
        ProjectileType dave_red
        //@import
        ProjectileType dave_green
    endglobals

    private function init takes nothing returns nothing
    endfunction
                    [values] => Array
                        (
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNWallOfFire.blp
                            [name] => Twin Pulses
                            [short_explain] => Deals spell damage to nearby enemy creeps.
                            [long_explain] => Every time this tower has launched |cffFFFF808|r red flames, it releases a green pulse, dealing |cffFFFF8075%|r of its attack damage as spell damage in |cffFFFF80900|r AoE and every time it has launched |cffFFFF808|r green flames, it releases a red pulse, dealing |cffFFFF8075%|r of its attack damage as physical damage in |cffFFFF80900|r AoE. |n|n|cffFF8000Level Bonus: |r|n|cffFFFF80+1%|r damage |r|n|cffFFFF80-1|r flame needed at level |cffFFFF8015|r and |cffFFFF8025|r
                        )

                )

            [3] => Array
                (
                    [name] => On Damage
                    [code] => local Buff b = tower.getBuffOfType(dave_physical_buff)
local Buff s = tower.getBuffOfType(dave_spell_buff)
local integer levelP
local integer levelS

if b != 0 then
   set levelP = b.getLevel()
endif

if s !=0 then
   set levelS = s.getLevel()
endif

if Event.isAttackDamageCritical() then
  if tower.getProp_AtkCritChance() < tower.getProp_SpellCritChance() or levelS == 10 then
     if b==0 then
        call dave_physical_buff.apply(tower,tower,1)
     else
        call dave_physical_buff.apply(tower,tower,IMinBJ(levelP + 1, 10))
     endif
  elseif tower.getProp_AtkCritChance() > tower.getProp_SpellCritChance() or levelP == 10 then
     if s==0 then
        call dave_spell_buff.apply(tower,tower, 1)
     else
        call dave_spell_buff.apply(tower,tower,IMinBJ(levelS + 1, 10))
     endif
  endif
endif
                    [values] => Array
                        (
                            [ONDAMAGE_chance] => 1
                            [visible] => true
                            [icon] => ReplaceableTextures\CommandButtons\BTNCleavingAttack.blp
                            [name] => Twin Disciplines
                            [short_explain] => Gains bonus critical chance on crit.
                            [ONDAMAGE_chanceLevelAdd] => 0
                            [long_explain] => Each time it scores a critical hit with an attack, this tower gains |cffFFFF802%|r bonus critical chance or spell critical chance, both stacking up to |cffFFFF8010|r times, for |cffFFFF807|r seconds. The lower chance will always be prioritized.
                        )

                )

            [4] => Array
                (
                    [name] => On Tower Creation
                    [code] => set tower.userInt = 0
  set tower.userInt2 = 0
  
  if tower.getLevel() < 15 then
    set tower.userInt3 = 8
  elseif tower.getLevel() < 25 then
    set tower.userInt3 = 7 
  elseif tower.getLevel() == 25 then
    set tower.userInt3 = 6
  endif
                    [values] => Array
                        (
                            [visible] => false
                            [icon] => 
                            [name] => 
                            [short_explain] => 
                            [long_explain] => 
                        )

                )

        )

    [abilities] => Array
        (
        )

    [buffs] => Array
        (
        )

    [units] => Array
        (
        )

    [references] => Array
        (
            [0] => Array
                (
                    [export] => false
                    [category] => global
                    [typ] => BuffType
                    [name] => dave_physical_buff
                )

            [1] => Array
                (
                    [export] => false
                    [category] => global
                    [typ] => BuffType
                    [name] => dave_spell_buff
                )

            [2] => Array
                (
                    [export] => false
                    [category] => global
                    [typ] => ProjectileType
                    [name] => dave_red
                )

            [3] => Array
                (
                    [export] => false
                    [category] => global
                    [typ] => ProjectileType
                    [name] => dave_green
                )

        )

)