Divine Elementalist v1
2500
ID:
60
Family ID:
Author:
Kel-Thuzad
Rarity:
uncommon
Element:
astral
Attack Type:
Magic
Attack Range:
900
Attack CD:
2
Damage:
417-417
Status:
Approved

Description:

Let all who live in the world stand in awe of him.
Elemental Fury
Consecutive casts of the same spell will deal 50% more damage.

Level Bonus:
+1% damage
Elemental Chaos
Elementalist casts one of the following spells on attack:

Fire Blast: 30% chance, 300 AoE, 3000 damage
Frost Nova: 20% chance, 300 AoE, 2000 damage, 15% slow for 4 seconds
Aftershock: 30% chance, 6000 damage, 0.7 seconds stun
Lightning Burst: 20% chance, 3000 damage, affects 6 random targets in 900 range 

Level Bonus:
+60 damage (Fire Blast)
+80 damage (Frost Nova)
+0.02 seconds stun (Aftershock)
+60 damage (Lightning Burst)
Download

Toggle Triggers

Header

globals
    //@import
    BuffType KelSlow
endglobals
//The init function
private function init takes nothing returns nothing
endfunction

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    local integer randomSpellID=GetRandomInt(1,10) //RandomSpell
    local Creep c = Event.getTarget()
    local Unit u
    local integer count = 0 //counter for lightnings
    local Iterate it
    if randomSpellID<4 then //FireBlast 
        if tower.userInt2 == 1 then 
            set tower.userInt = tower.userInt + 1 
        else
            set tower.userInt = 1
            set tower.userInt2 = 1
        endif
        call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit()) //BANG!!
        call tower.doSpellDamageAoEUnit(c,300,(3000+tower.getLevel()*60)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus(),0)
    elseif randomSpellID<7 then //Aftershock
        if tower.userInt2 == 2 then 
            set tower.userInt = tower.userInt + 1 
        else
            set tower.userInt = 1
            set tower.userInt2 = 2
        endif
        call SFXAtUnit("Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl",c.getUnit()) //just a pretty SFX
        call cb_stun.applyOnlyTimed(tower,c,0.7+tower.getLevel()*0.02 )
        call tower.doSpellDamage(c,6000*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus())
    elseif randomSpellID<9 then //FrostNova
        if tower.userInt2 == 3 then 
            set tower.userInt = tower.userInt + 1 
        else
            set tower.userInt = 1
            set tower.userInt2 = 3
        endif
        set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,300)
        loop //slow
            set u = it.next()
            exitwhen u == 0 
            call KelSlow.applyCustomTimed(tower,u,150,4) //slow
        endloop
        call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit()) //sfx
        call SFXAtUnit("Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathMissile.mdl",c.getUnit()) //sfx
        call tower.doSpellDamageAoEUnit(c,300,(2000+tower.getLevel()*80)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus(),0)
    else //Lightning Burst
        if tower.userInt2 == 4 then 
            set tower.userInt = tower.userInt + 1 
        else
            set tower.userInt = 1
            set tower.userInt2 = 4
        endif
        set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
        loop //SFX+lightnings
            set u = it.next()
            set count = count+1
            exitwhen count == 7 or u == 0 //"count" is number of lightnings to create
            call SFXAtUnit("Abilities\\Weapons\\Bolt\\BoltImpact.mdl",u.getUnit()) //SFX+sound on unit
            call tower.doSpellDamage(u,(3000+tower.getLevel()*60)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus()) //damage
            call Lightning.createFromUnitToUnit("CLPB", tower, u).setLifetime(0.15) //lightning itself
        endloop
        if u != 0 then
            call it.destroy()
        endif
    endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
set tower.userInt=0 //Stores how many consecutive times last spell was cast
set tower.userInt2=0 //Stores which spell was last cast
endfunction
Blackrock's Totem v1
2500
ID:
66
Family ID:
Author:
poussix
Rarity:
unique
Element:
fire
Attack Type:
Elemental
Attack Range:
1200
Attack CD:
2
Damage:
1036-1036
Status:
Approved

Description:

During the grand battle against humans, The Blackrock clan used this magical totem, making them unstoppable.
Demonic Fire
Places a buff on a creep for 7 seconds. When a tower damages the buffed creep, there is a 20% chance to permanently increase the damage it takes from fire towers by 3% (1% for bosses).  

Level Bonus:
+0.08% damage from fire (on non boss)
+0.04% damage from fire (on bosses)

AC_TYPE_OFFENSIVE_BUFF
 0, 1200 range, 4s cooldown
Shamanic Totem
Upon casting Demonic Fire there is a 30% chance to buff towers in 500 range, increasing their spell damage dealt by 10% for 5 seconds and restoring 7.5% of their max mana.

Level Bonus:
+0.4% spell damage
+0.3% max mana
+0.2 seconds duration
+0.4% trigger chance
Fighter Totem
On attack there is a 15% chance to buff towers in 500 range, increasing their damage dealt by 10%, their crit chance by 5% and their crit damage by 50% for 5 seconds.

Level Bonus:
+0.4% damage
+0.2% crit chance
+2% crit damage 
+0.2 seconds duration
+0.2% trigger chance
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 4 AUTOCAST_numBuffsBeforeIdle: 3 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF AUTOCAST_manacost: 0 AUTOCAST_range: 1200 AUTOCAST_buffType: Totem_Damage AUTOCAST_targetSelf: false AUTOCAST_targetType: TARGET_TYPE_CREEPS target_art: AUTOCAST_autoRange: 1200
private function onAutocast takes Tower tower returns nothing
    local integer lvl = tower.getLevel()
    local Iterate towers
    local Tower cur
    local real mana
    local real currentmana
    local unit u

    if Event.getTarget().getSize() < SIZE_BOSS then
        set Totem_Damage.apply(tower,Event.getTarget(),lvl).userReal = 0.03 + 0.0008 * lvl
    else
        set Totem_Damage.apply(tower,Event.getTarget(),lvl).userReal = 0.01 + 0.0004 * lvl
    endif
    
    if tower.calcChance(0.30 + 0.004 * lvl) then
        set towers = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_TOWERS,500)
        loop  
            set cur = towers.next() 
            exitwhen cur == 0
            call Fire_Totem_Spell.apply(tower, cur, lvl)
            if cur != tower then
                set u = cur.getUnit()
                set mana = GetUnitState(u, UNIT_STATE_MAX_MANA)
                set currentmana = GetUnitState(u, UNIT_STATE_MANA)
                call SetUnitState(u, UNIT_STATE_MANA, currentmana + mana * (0.075 + 0.003 * lvl))
            endif
        endloop
        set u = null
    endif
endfunction

Header

    globals
        BuffType Fire_Totem_Physique    
        BuffType Totem_Damage
        BuffType Fire_Totem_Spell
    endglobals
    
    public function onDamaged takes Buff b returns nothing
        local Creep c = b.getBuffedUnit()
        if c.calcChance(0.2) then
            call c.modifyProperty(MOD_DMG_FROM_FIRE, b.userReal)
        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
        local Modifier m = Modifier.create()
        
        set   Fire_Totem_Physique = BuffType.create(5,0.2,true)
        call  m.addModification(MOD_DAMAGE_ADD_PERC,0.10,0.004)
        call  m.addModification(MOD_ATK_CRIT_CHANCE,0.05,0.002)
        call  m.addModification(MOD_ATK_CRIT_DAMAGE,0.5,0.02)
        call  Fire_Totem_Physique.setBuffModifier(m)
        call  Fire_Totem_Physique.setBuffIcon('@@0@@')
        
        set   Fire_Totem_Spell = BuffType.create(5,0.2,true)
        set   m = Modifier.create()
        call  m.addModification(MOD_SPELL_DAMAGE_DEALT,0.10,0.004)
        call  Fire_Totem_Spell.setBuffModifier(m)
        call  Fire_Totem_Spell.setBuffIcon('@@2@@')
        
              
        set Totem_Damage=BuffType.create(7,0,false)    
        call Totem_Damage.setStackingGroup("Totem_Damage") 
        call Totem_Damage.setBuffIcon('@@1@@')
        call Totem_Damage.addEventOnDamaged(EventHandler.onDamaged,1.0,0.0)
    endfunction

On Attack

ONATTACK_chance: 0.15 ONATTACK_chanceLevelAdd: 0.002
function onAttack takes Tower tower returns nothing
    local Iterate towers = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_TOWERS,500)
    local Unit cur
        
    loop  
        set cur = towers.next() 
        exitwhen cur == 0
        call Fire_Totem_Physique.apply(tower, cur, tower.getLevel())
    endloop
endfunction
Magic Enhanced Burrow v1
2500
ID:
188
Family ID:
Author:
tolleder
Rarity:
uncommon
Element:
iron
Attack Type:
Physical
Attack Range:
700
Attack CD:
3
Damage:
8035-8035
Status:
Approved

Description:

A burrow with Troll Berserkers inside, which will break through every armor.
Piercing Shot
40% of this tower's attack damage cannot be reduced by armor resistances.

Level Bonus:
+1.6% damage ratio
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local real curRatio=0.4+0.016*tower.getLevel()
    local real sDmg=Event.damage
    local real damageBase=Event.damage
    local Creep target=Event.getTarget()
    local real temp = AttackType.PHYSICAL.getDamageAgainst(target.getArmorType())
    
    if temp > 0. and temp < 1. then //igoniring armor type "resistance" not weakness :P
        set damageBase = damageBase / temp 
    endif
    
    set temp = (1 - target.getCurrentArmorDamageReduction())
    if temp > 0. then
        set damageBase = damageBase / temp 
    endif 
    
    if sDmg < damageBase then
        set Event.damage=damageBase*curRatio+sDmg*(1.-curRatio)
    endif
    //The engine calculates critical strike extra damage ***AFTER*** the onDamage event, so there is no need to care about it in this trigger.
endfunction
Solar Conductor v1
2500
ID:
198
Family ID:
Author:
Boekie
Rarity:
rare
Element:
iron
Attack Type:
Energy
Attack Range:
800
Attack CD:
1
Damage:
1375-1375
Mana:
17
Mana regen:
3
Status:
Approved

Description:

A tower which transforms solar-energy in to pure force.
Specials:
10% spell crit chance (+0.5%/lvl)
x2 spell crit damage
+2 mana/lvl
+0.04 mana regen/lvl
Release Energy
Deals 12000 damage to the attacked creep and stuns it for 5 seconds (1.75 seconds on bosses).

Level Bonus:
+450 damage

AC_TYPE_OFFENSIVE_UNIT
 15, 800 range, 5s cooldown
Energetic Attack
Each attack costs 2 mana. Without mana the tower can't attack.
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_manacost: 15 AUTOCAST_range: 800 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: TARGET_TYPE_CREEPS target_art: AUTOCAST_autoRange: 800
private function onAutocast takes Tower tower returns nothing
local Unit creep = Event.getTarget()
   local integer size = creep.getSize()
   call tower.doSpellDamage(creep,12000+(tower.getLevel()*450),tower.calcSpellCritNoBonus()) 
   call SFXOnUnit("Abilities\\Spells\\Human\\ReviveHuman\\ReviveHuman.mdl",creep.getUnit(),"origin") 
   if size < SIZE_BOSS then 
   call cb_stun.applyOnlyTimed(tower,creep,5) 
   else
   call cb_stun.applyOnlyTimed(tower,creep,1.75) 
   endif
endfunction

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
  local unit towerUnit = tower.getUnit()
  local real mana = GetUnitState(towerUnit, UNIT_STATE_MANA)
  if (mana < 2) then
    call tower.orderStop()
  else
    call SetUnitState(towerUnit , UNIT_STATE_MANA, mana-2)
  endif
  set towerUnit = null
endfunction
Zeus v1
2500
ID:
199
Family ID:
Author:
Boekie
Rarity:
unique
Element:
storm
Attack Type:
Energy
Attack Range:
1200
Attack CD:
2
Damage:
2581-2600
Mana:
100
Mana regen:
1
Status:
Approved

Description:

Zeus, the God of Thunder, is able to invoke massive lighting storms.
Specials:
+5 mana/lvl
Thunderstorm
Zeus releases a mighty thunderstorm, this thunder storm strikes creeps in 1000 range for 2500 spelldamage and stuns them for 0.5 seconds (20% chance on bosses). There is a maximum of 20 lightning strikes.

Level Bonus:
+125 damage
+1 lightning strike per 5 levels

AC_TYPE_OFFENSIVE_IMMEDIATE
 90, 1000 range, 10s cooldown
Electrified Attack
Zeus's attacks deal an additional 500 spelldamage in 175 AoE around their target. 

Level Bonus:
+20 spelldamage
Divine Hammer
Whenever Zeus kills a creep he restores 5% of his maximum mana.
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 10 AUTOCAST_autoRange: 1000 AUTOCAST_manacost: 90 AUTOCAST_range: 1000 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 0 caster_art: target_art: AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_buffType: 0 AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    set tower.userInt2 = 20 + (R2I(tower.getLevel()/5))
    if tower.userInt3 == 0 then
        set tower.userInt3 = Effect.create("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl", tower.getX() - 16, tower.getY() - 16, 50, 0)
    endif
    call PeriodicEvent(tower.userInt).enable()
endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    if Event.isMainTarget() then
        call tower.doSpellDamageAoEUnit(Event.getTarget(),175,500+(tower.getLevel()*20),tower.calcSpellCritNoBonus(),0.0)
    endif
endfunction

On Kill

function onKill takes Tower tower returns nothing
    local unit towerUnit = tower.getUnit() 
    call SetUnitState(towerUnit,UNIT_STATE_MANA, GetUnitState(towerUnit,UNIT_STATE_MANA)+GetUnitState(towerUnit,UNIT_STATE_MAX_MANA)*0.05)
    set towerUnit = null
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt=0 //stores periodic
    set tower.userInt2=0 //stores number of bolts to still be releaseed
    set tower.userInt3=0 //stores static effect
endfunction

On Tower Destruction

function onDestruct takes Tower tower returns nothing
    if tower.userInt3 != 0 then
        call Effect(tower.userInt3).destroy()
        set tower.userInt3 = 0
    endif
endfunction

Periodic

PERIODIC_period: 0.2
function periodic takes Tower tower returns nothing
    local Iterate inRange
    local integer numResults = 0
    local Unit result
    local Unit next
    local PeriodicEvent pE

    if tower.userInt2 > 0 then
        set inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,1200)
        loop
            set next = inRange.next()
            exitwhen next == 0
            set numResults = numResults + 1
            if GetRandomReal(0.0,1.0) <= 1.0 / numResults then
                set result = next
            endif
        endloop
        if numResults > 0 then
            call tower.doSpellDamage(result,2500.0+(tower.getLevel()*125),tower.calcSpellCritNoBonus())
            if result.getSize() >= SIZE_BOSS then
                if tower.calcChance(0.20) then
                    call cb_stun.applyOnlyTimed(tower, result, 0.5)
                endif
            else
                call cb_stun.applyOnlyTimed(tower, result, 0.5)
            endif
            call SFXOnUnit("Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl",result.getUnit(),"origin")
        endif
        set tower.userInt2 = tower.userInt2 - 1
    else
        set pE=Event.getCurrentPeriodicEvent()
        set tower.userInt=pE
        if tower.userInt3 != 0 then
            call Effect(tower.userInt3).destroy()
            set tower.userInt3 = 0
        endif
        call pE.disable()
    endif  
    
endfunction
Bonk, the Living Mountain v1
2500
ID:
200
Family ID:
Author:
Boekie
Rarity:
unique
Element:
nature
Attack Type:
Physical
Attack Range:
750
Attack CD:
3
Damage:
3670-3670
Status:
Approved

Description:

This enormous creature is able to crush everything with its enormous hands.
Specials:
Splash attack:
   100 AoE: 100% damage
+25% dmg to masses (+0.5%/lvl)
Landslide!
Bonk has a 25% chance on attack to throw rocks at all creeps in 300 AoE around the main target. These rocks deal 700 spelldamage and stun for 0.5 seconds. Landslide deals 15 bonus spelldamage per grow, but the ability only works once Bonk has grown at least 20 times. 

Level Bonus:
+50 spelldamage
Crush!
Whenever Bonk damages a stunned creep it deals 5000 spelldamage to it. When this happens, towers in 500 range will gain 10% attackspeed and damage for 10 seconds. Crush deals 50 bonus spelldamage per grow, but the ability only works once Bonk has grown at least 10 times. 

Level Bonus:
+250 spelldamage 
+0.4% attackspeed and damage
Grow!
Every 25 seconds Bonk grows, gaining 4 experience and 3% bonus attackdamage. Bonk can grow 160 times.

Level Bonus:
+0.1% bonus attackdamage
Download

Toggle Triggers

Header

    globals
        BuffType boekie_mountainMorale_buff
        ProjectileType rock
        MultiboardValues boekie_grow_MultiboardValue 
    endglobals
    
    public function hit takes Projectile p, Unit creep returns nothing 
        local Tower tower = p.getCaster()
        if p.userInt == creep.getUID() then
            call tower.doSpellDamage(creep,700+(tower.getLevel()*50)+(tower.userInt*15),tower.calcSpellCritNoBonus()) 
            call cb_stun.applyOnlyTimed(tower, creep, 0.5)
        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
        local Modifier m = Modifier.create()  
        set boekie_mountainMorale_buff = BuffType.create(10.00, 0, true)      
        call m.addModification(MOD_DAMAGE_ADD_PERC, 0.10, 0.004)  
        call m.addModification(MOD_ATTACKSPEED, 0.10, 0.004)  
        call boekie_mountainMorale_buff.setBuffModifier(m) 
        call boekie_mountainMorale_buff.setBuffIcon('@@0@@')  
        
        set rock = ProjectileType.create("Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl",4,700) 
        call rock.enableHoming(ProjectileTargetEvent.hit,0) 
        
        set boekie_grow_MultiboardValue = MultiboardValues.create(1)  
        call boekie_grow_MultiboardValue.setKey(0,"Number of Grows") 
    
    endfunction

On Attack

ONATTACK_chance: 0.25 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    local Iterate it
    local Unit next
    local real tx = tower.getX()
    local real ty = tower.getY()

    if tower.userInt >= 20 then //check number of grows
        set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,Event.getTarget(), 300) 
        loop 
            set next = it.next()  
            exitwhen next == 0 
            set Projectile.createFromPointToUnit(rock,tower,1,0,tx,ty,100,next,true,false,false).userInt = next.getUID()
        endloop 
    endif
endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Unit creep = Event.getTarget()
    local integer level = tower.getLevel()
    local Iterate it
    local Unit next 

    if tower.userInt >= 10 then //check number of grows
        if creep.getBuffOfGroup("stun") != 0 then
            set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_TOWERS,tower,500) 
            call tower.doSpellDamage(creep, 5000+(level*250)+(tower.userInt*50),tower.calcSpellCritNoBonus())
            call Effect.createScaled("Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl", creep.getX(), creep.getY(), 0.0, 0, 2.0).setLifetime(3.0)

            loop
                set next = it.next()
                exitwhen next == 0
                call boekie_mountainMorale_buff.apply(tower,next,tower.getLevel())
            endloop
        endif
    endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 0 //count number of grows
endfunction

On Tower Details

function onTowerDetails takes Tower tower returns MultiboardValues
    // Show total number of grows
    call boekie_grow_MultiboardValue.setValue(0,I2S(tower.userInt)) 
    return boekie_grow_MultiboardValue 
endfunction

Periodic

PERIODIC_period: 25
function periodic takes Tower tower returns nothing
    local integer level = tower.getLevel()

    if tower.userInt < 160 then
        call Effect.createScaled("Abilities\\Spells\\NightElf\\EntanglingRoots\\EntanglingRootsTarget.mdl", tower.getX(), tower.getY(), 30.0, 0, 1.8).setLifetime(1.0)

        call tower.modifyProperty(MOD_DAMAGE_ADD_PERC, 0.03+(level*0.001)) 
        call tower.addExp(4.0)

        set tower.userInt = tower.userInt + 1 //increment number of grows
        
        call tower.setScale(0.35 + tower.userInt * 0.0025)
    endif
endfunction
Inferno Beacon v1
2500
ID:
227
Family ID:
Author:
Boekie
Rarity:
common
Element:
fire
Attack Type:
Elemental
Attack Range:
900
Attack CD:
0.9
Damage:
1729-1729
Mana:
45
Mana regen:
2
Status:
Approved

Description:

This tower uses magical flames to strike multiple targets.
Fire Blast
Releases a blast of fire that strikes all targets in 200 AoE around the main target for 2150 damage. 

Level Bonus:
+107 damage.

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 1 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: false AUTOCAST_targetType: 0 target_art: AUTOCAST_autoRange: 900
private function onAutocast takes Tower tower returns nothing
call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",Event.getTarget().getUnit())  
call tower.doSpellDamageAoEUnit(Event.getTarget(), 200, 2150 + tower.getLevel() * 107, tower.calcSpellCritNoBonus(), 0.0) 
endfunction