Sewer Connection v1
200
ID:
654
Family ID:
Author:
D1000
Rarity:
uncommon
Element:
iron
Attack Type:
Essence
Attack Range:
800
Attack CD:
1.2
Damage:
163-163
Status:
Approved

Description:

A connection to the canalization. Toxic vapors are leaking out.
Specials:
-60% dmg to undead
+60% dmg to nature (+2%/lvl)
Toxic Vapor
On attack, has a 30% chance to apply a buff that deals 200 spell damage per second that lasts for 10 seconds.

Level Bonus:
+8 damage per second.
Download

Toggle Triggers

Header

    globals
        //@export
        BuffType D1000_Toxic_vapor
    endglobals
    
    function D1000_Toxic_Damage takes Buff b returns nothing 
        call b.getCaster().doSpellDamage(b.getBuffedUnit(),b.getLevel()/10,b.getCaster().calcSpellCritNoBonus())  
    endfunction 
    
    private function init takes nothing returns nothing
        set D1000_Toxic_vapor = BuffType.create(10,0,false)
        call D1000_Toxic_vapor.setBuffIcon('@@0@@')
        call D1000_Toxic_vapor.addPeriodicEvent(EventHandler.D1000_Toxic_Damage,1)
    endfunction

On Attack

ONATTACK_chance: 0.30 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    call D1000_Toxic_vapor.apply(tower,Event.getTarget(),R2I(tower.getLevel()*80+2000))
endfunction
Haunted Debris v1
204
ID:
271
Family ID:
Author:
Velex
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
2
Damage:
368-369
Status:
Approved

Description:

Tower with a chance to slow the movement speed of a unit on attacks.
Atrophy
When this tower attacks a creep it has a 12% (8% for bosses) chance to slow it by  18% for 5 seconds.

Level Bonus:
+0.12% (0.08% for bosses) chance
Download

Toggle Triggers

Header

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

On Attack

ONATTACK_chance: 1 ONATTACK_chanceLevelAdd: 0
function onAttack takes Tower tower returns nothing
        local Unit creep = Event.getTarget() 
        local integer size = creep.getSize()
        local boolean calc
        
        if size == SIZE_BOSS then 
            set calc=tower.calcChance((.12+tower.getLevel()*0.0012)*2/3)
        else
            set calc=tower.calcChance(.12+tower.getLevel()*0.0012)
        endif
        if(calc==true) then
                call velex_slow.applyCustomTimed(tower,Event.getTarget(),R2I(0.18*1000),5)
        endif
        
    
endfunction
Burning Dog v1
210
ID:
73
Family ID:
Author:
cedi
Rarity:
uncommon
Element:
fire
Attack Type:
Decay
Attack Range:
800
Attack CD:
1.2
Damage:
236-236
Status:
Approved

Description:

The hounds of war are howling again.
Specials:
+5% damage/lvl
Roar
Whenever this tower damages a unit it has 30% chance to release a battle cry. The cry increases the attack damage of all towers in 420 range by 5% for 5 seconds. If a tower has allready the roar buff the attack damage is increased by 0.45% and the duration is refreshed. Stacks up to 100 times.

Level Bonus:
+0.45% attack damage
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType cedi_helldog
    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: 0.3 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Iterate I = Iterate.overUnitsInRangeOfCaster( tower, TARGET_TYPE_TOWERS, 420.0 )
    local Unit U 
    local Buff B
    call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl", tower.getUnit(), "origin" ) )
    loop
        set U = I.next()
        exitwhen U == 0
        set B = U.getBuffOfType( cedi_helldog )
        if B != 0 then
            if B.userInt < 100 then
                call cedi_helldog.apply( tower, U, B.getLevel() + 9 )
                set B.userInt = B.userInt + 1
            else
                call B.refreshDuration()
            endif
        else
            call cedi_helldog.apply( tower, U, tower.getLevel() * 9 )
            set B.userInt = 0
        endif
    endloop
    //0.0005  0.003, 0.0045, 0.006, 0.0075, 0.009
    //0.05    0.05 , 0.05  , 0.05 , 0.05  , 0.05
    //        70   , 210   , 840  , 1680  , 3360
endfunction
Enhanced Dark Fire Pit v1
210
ID:
179
Family ID:
Author:
i_mOck_death
Rarity:
common
Element:
darkness
Attack Type:
Decay
Attack Range:
850
Attack CD:
1.1
Damage:
177-177
Status:
Approved

Description:

Darkness tower that is weak to undead units, but strong to magical units. The tower can also hit multiple units on each attack.
Specials:
-20% dmg to undead (+0.4%/lvl)
+20% dmg to magical (+0.5%/lvl)
Multishot:
Attacks up to 2 targets at the same time.
Download
Thunderous Dog v1
210
ID:
243
Family ID:
Author:
cedi
Rarity:
uncommon
Element:
storm
Attack Type:
Energy
Attack Range:
900
Attack CD:
1.5
Damage:
281-289
Status:
Approved

Description:

Do you hear the howl of the storm?
Specials:
+1.5% attackspeed/lvl
Thunderous Roar
Whenever this tower damages a unit it has 30% chance to release a battle cry. The cry increases the attack speed of all towers in 420 range by 5% for 5 seconds. If a tower already has the thunderous roar buff the attack speed is increased by 0.45% and the duration is refreshed. Stacks up to 100 times.

Level Bonus:
+0.45% attack speed
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType cedi_stormdog
    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: 0.3 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Iterate I = Iterate.overUnitsInRangeOfCaster( tower, TARGET_TYPE_TOWERS, 420.0 )
    local Unit U 
    local Buff B
    call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\Taunt\\TauntCaster.mdl", tower.getUnit(), "origin" ) )
    loop
        set U = I.next()
        exitwhen U == 0
        set B = U.getBuffOfType( cedi_stormdog )
        if B != 0 then
            if B.userInt < 100 then
                call cedi_stormdog.apply( tower, U, B.getLevel() + 9 )
                set B.userInt = B.userInt + 1
            else
                call B.refreshDuration()
            endif
        else
            set B = cedi_stormdog.apply( tower, U, tower.getLevel() * 9 )
            set B.userInt = 0
        endif
    endloop
endfunction
Stratus Warrior v1
210
ID:
273
Family ID:
Author:
i_mOck_death
Rarity:
uncommon
Element:
storm
Attack Type:
Energy
Attack Range:
840
Attack CD:
2.1
Damage:
173-382
Status:
Approved

Description:

A warrior trained high in the sky.
Specials:
Bounce attack:
   2 targets
   -0% damage per bounce
Lightning Strike
Whenever this tower's attack does not bounce it shoots down a delayed lightning bolt onto the target. The lightning bolt deals 300 Energy damage.

Level Bonus:
+15 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()
    local integer cid = creep.getUID()
    if Event.isMainTarget()  == true then
        set tower.userInt = 1
    else
        set tower.userInt = 0
    endif
    call TriggerSleepAction(.4)
    if tower.userInt == 1 and creep.getUID() == cid then
         call SFXAtUnit("Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl",creep.getUnit())
         call tower.doAttackDamage(creep,300+(15*tower.getLevel()),tower.calcAttackMulticrit(0.0,0.0,0))
    endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
set tower.userInt = 0
endfunction
Grown Felweed v1
215
ID:
406
Family ID:
Author:
SirCoqaLot.
Rarity:
common
Element:
fire
Attack Type:
Decay
Attack Range:
750
Attack CD:
1
Damage:
192-192
Status:
Approved

Description:

Basic Tower that sometimes deals more damage.
Fireblossom
Every 7th attack deals 10% bonus damage.
Every 8th attack deals 20% bonus damage.
Every 9th attack deals 30% bonus damage.
Every 10th attack deals 40% bonus damage. 

Level Bonus:
+0.2% bonus damage every 7th attack.
+0.4% bonus damage every 8th attack.
+0.6% bonus damage every 9th attack.
+0.8% bonus damage every 10th attack.
Download

Toggle Triggers

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local real damage = Event.damage
local integer level = tower.getLevel()

set tower.userInt = tower.userInt +1
set tower.userInt2 = tower.userInt2 +1
set tower.userInt3 = tower.userInt3 +1
set tower.userReal = tower.userReal +1

if tower.userInt >= 7 then
    set Event.damage = Event.damage * (1.1 + level * 0.002)
    set tower.userInt = 0
endif
if tower.userInt2 >= 8 then
    set Event.damage = Event.damage * (1.2 + level * 0.004)
    set tower.userInt2 = 0
endif
if tower.userInt3 >= 9 then
    set Event.damage = Event.damage * (1.3 + level * 0.006)
    set tower.userInt3 = 0
endif
if tower.userReal >= 10 then
    set Event.damage = Event.damage * (1.4 +level * 0.008)
    set tower.userReal = 0
endif
if Event.damage > damage then
    call tower.getOwner().displaySmallFloatingText(I2S(R2I(Event.damage)),tower,255,150,150,0)
endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
set tower.userInt = 0
set tower.userInt2 = 0
set tower.userInt3 = 0
set tower.userReal = 0
endfunction