Trapped Souls v1
1240
ID:
583
Family ID:
Author:
Chronos
Rarity:
common
Element:
darkness
Attack Type:
Decay
Attack Range:
800
Attack CD:
1.5
Damage:
1329-1334
Status:
Approved

Description:

Common darkness tower, adept at eliminating magical, nature and undead foes.
Banish
Magic, undead and nature creeps damaged by this tower suffer an additional 65% of that damage as spelldamage.

Level Bonus:
+1.9% damage
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Unit creep = Event.getTarget()
    if creep.getCategory() <= CATEGORY_NATURE then
        call tower.doSpellDamage(creep, Event.damage * (0.65 + (0.019 * tower.getLevel())), tower.calcSpellCritNoBonus())
        call SFXAtUnit("Abilities\\Spells\\NightElf\\ManaBurn\\ManaBurnTarget.mdl", creep.getUnit())
    endif
endfunction
Deep Ice Mine v1
1250
ID:
30
Family ID:
Author:
Velex
Rarity:
uncommon
Element:
ice
Attack Type:
Elemental
Attack Range:
700
Attack CD:
2
Damage:
2269-2270
Status:
Approved

Description:

Tower with a chance to cast an ice nova.
Ice Nova
Damaged targets have a 20% chance to get blasted by an ice nova, dealing 1250 damage and slowing units in 350 range by 11% for 4 seconds. Has a 30% bonus chance to crit. 

Level Bonus:
+0.4% chance 
+62.5 damage
Download

Toggle Triggers

Header

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

On Damage

ONDAMAGE_chance: .2 ONDAMAGE_chanceLevelAdd: 0.004
function onDamage takes Tower tower returns nothing
local Unit targ = Event.getTarget()
local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_TYPE_CREEPS,targ,350)
local Unit next

loop
    set next = it.next()
    exitwhen next == 0
    call Maj_iceNovaSlow.applyCustomTimed(tower, next, 110, 4.0)
endloop

call tower.doSpellDamageAoEUnit(targ,350,1250+(tower.getLevel()*62.5),tower.calcSpellCrit(0.3,0.0),0)
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", targ.getUnit())
endfunction
Master Elementalist v1
1250
ID:
61
Family ID:
Author:
Kel-Thuzad
Rarity:
uncommon
Element:
astral
Attack Type:
Magic
Attack Range:
900
Attack CD:
2
Damage:
209-209
Status:
Approved

Description:

Really experienced mage of elements.
Elemental Chaos
Elementalist casts one of the following spells on attack:

Fire Blast: 30% chance, 250 AoE, 1650 damage
Frost Nova: 20% chance, 250 AoE, 800 damage, 14% slow for 4 seconds
Aftershock: 30% chance, 2000 damage, 0.5 seconds stun
Lightning Burst: 20% chance, 1650 damage, affects 5 random targets in 900 range 

Level Bonus:
+18 damage (Fire Blast)
+10 damage (Frost Nova)
+0.01 seconds stun (Aftershock)
+30 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)
    local Creep c = Event.getTarget()
    local Unit u
    local integer count = 0
    local Iterate it
    if randomSpellID<4 then
        call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit())
        call tower.doSpellDamageAoEUnit(c,250,1650+tower.getLevel()*18,tower.calcSpellCritNoBonus(),0)
    elseif randomSpellID<7 then
        call SFXAtUnit("Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl",c.getUnit())
        call cb_stun.applyOnlyTimed(tower, c, 0.5+tower.getLevel()*0.01 )
        call tower.doSpellDamageAoEUnit(c,10,2000,tower.calcSpellCritNoBonus(),0)
    elseif randomSpellID<9 then
        set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,250)
        loop
            set u = it.next() //Get the next unit
            exitwhen u == 0 //Stop when there are no more units
            call KelSlow.applyCustomTimed(tower,u,140,4)
        endloop
        call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit())
        call tower.doSpellDamageAoEUnit(c,250,800+tower.getLevel()*10,tower.calcSpellCritNoBonus(),0)
    else
        set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
        loop
            set u = it.next()
            set count = count + 1
            exitwhen count == 6 or u == 0
            call SFXAtUnit("Abilities\\Weapons\\Bolt\\BoltImpact.mdl",u.getUnit())
            call tower.doSpellDamage(u,1650+(tower.getLevel()*30),tower.calcSpellCritNoBonus())
            call Lightning.createFromUnitToUnit("CLPB", tower, u).setLifetime(0.15)
        endloop
        if u != 0 then
            call it.destroy()
        endif
    endif
endfunction
Ethereal Phantom v1
1250
ID:
89
Family ID:
Author:
drol
Rarity:
uncommon
Element:
storm
Attack Type:
Magic
Attack Range:
900
Attack CD:
1.5
Damage:
1182-1182
Mana:
17
Mana regen:
1
Status:
Approved

Description:

Only seen above the highest clouds, this rare creature sears the sky.
Specials:
+0.1 mana regen/lvl
Wind Shear
Increases the attackspeed of a tower in 300 range by 25% and gives it a 25% attackspeed adjusted chance to cast a chain of lightning which deals 1000 initial spelldamage and hits up to 3 targets dealing 25% less damage each bounce. Effect lasts for 5 seconds.

Level Bonus:
+1% attackspeed
+40 spelldamage
+1 target at level 20
+0.1 sec duration

AC_TYPE_ALWAYS_BUFF
 15, 300 range, 3s cooldown
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 3 AUTOCAST_numBuffsBeforeIdle: 1 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 15 AUTOCAST_range: 300 AUTOCAST_buffType: drol_phantomBuff AUTOCAST_targetSelf: true AUTOCAST_targetType: TARGET_TYPE_TOWERS target_art: Abilities\Spells\Items\AIlm\AIlmTarget.mdl AUTOCAST_autoRange: 300
private function onAutocast takes Tower tower returns nothing
    set drol_phantomBuff.applyCustomTimed(tower, Event.getTarget(), tower.getLevel() + 15, 5. + tower.getLevel()*0.1).userReal = tower.getLevel()*10 + 225
endfunction

Header

    globals
    
        //@import
        BuffType drol_phantomBuff
        //@import
        Cast drol_phantomCast
        //@import
        Cast drol_phantomCast2
    
    endglobals
    
    //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
    
    endfunction
Holy Light v1
1250
ID:
355
Family ID:
Author:
SternBogen
Rarity:
uncommon
Element:
astral
Attack Type:
Energy
Attack Range:
850
Attack CD:
1
Damage:
992-998
Status:
Approved

Description:

A strong tower against the undead. Can see nearby invisible units.
Magical Sight:
Can see invisible enemy units in 800 range.
Power of Light
The mighty holy light weakens enemy undead creeps for 4 seconds, so they will receive 20% more damage from physical and spell attacks. 

Level Bonus:
+0.2 seconds
+0.8% damage
Download

Toggle Triggers

Header

    globals
    //@import
        BuffType sternbogen_holy_Buff
    endglobals
    
    //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
    endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Unit creep = Event.getTarget()
    // 0.001 Basic Bonus
    local integer bufflevel = 200 + 8 * tower.getLevel()
    if (CATEGORY_UNDEAD == creep.getCategory()) then
        call sternbogen_holy_Buff.applyCustomTimed(tower,Event.getTarget(),bufflevel,4 + 0.2 * tower.getLevel())
    endif
endfunction
Icy Skeleton v1
1250
ID:
441
Family ID:
Author:
MasterCassim
Rarity:
common
Element:
ice
Attack Type:
Elemental
Attack Range:
700
Attack CD:
1.5
Damage:
1967-1972
Status:
Approved

Description:

Chills creeps to the bone.
Icy Touch
Slows attacked units by 12.5% for 5 seconds.

Level Bonus:
+0.3 seconds duration
+0.5% slow
Download

Toggle Triggers

Header

    globals
      //@import
      BuffType cassimSlow 
    endglobals
    
    //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
    endfunction

On Damage

ONDAMAGE_chance: 1.00 ONDAMAGE_chanceLevelAdd: 0
function onDamage takes Tower tower returns nothing
    local integer lvl = tower.getLevel()
    local integer slow = R2I((0.125+lvl*0.005)*1000)  // same code here 4 all towers
    local integer dur = R2I(5+lvl*0.3)
    
    call cassimSlow.applyCustomTimed(tower,Event.getTarget(),slow,dur) 
endfunction
Afflicted Grounds v1
1250
ID:
563
Family ID:
Author:
drol
Rarity:
rare
Element:
darkness
Attack Type:
Decay
Attack Range:
775
Attack CD:
1
Damage:
481-525
Status:
Approved

Description:

Ripped open by a savage curse, this rock formation sprays spells on people not careful enough to stay away.
Specials:
Bounce attack:
   4 targets
   -30% damage per bounce
Cursed Attack
This tower has a 25% chance on damage to deal 320 additional spell damage and weaken the target for 4 seconds, reducing its movement speed by 25% and make it suffer 12.5% more damage from spells.

Level Bonus:
+1% chance
+16 spell damage
+0.1 sec slow duration
Mortal Coil - Aura
Grants 15% bonus damage against human, orc and nature creeps to all towers within 350 range.

Level Bonus:
+0.6% damage
Download

Toggle Triggers

Header

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

On Damage

ONDAMAGE_chance: .25 ONDAMAGE_chanceLevelAdd: 0.01
function onDamage takes Tower tower returns nothing
    local Unit creep = Event.getTarget()
    local integer lvl = tower.getLevel()
    
    if creep.isImmune() == false then
    call tower.doSpellDamage(creep,320*(1+lvl*0.05),tower.calcSpellCritNoBonus())
    call drol_slow.applyCustomTimed(tower,creep,R2I(0.25*1000),4+lvl*0.1)
    call SFXOnUnit("Abilities\\Spells\\Orc\\FeralSpirit\\feralspirittarget.mdl",creep.getUnit(),"origin")
    endif
    
endfunction

Tower Aura

AURA_powerAdd: 3 AURA_auraEffect: drol_mortalAura AURA_levelAdd: 3 AURA_power: 25 AURA_targetType: TARGET_TYPE_TOWERS AURA_targetSelf: true AURA_level: 25 AURA_auraRange: 350