Monolith of Lightning v1
600
ID:
641
Family ID:
Author:
drol
Rarity:
common
Element:
storm
Attack Type:
Physical
Attack Range:
1050
Attack CD:
1.5
Damage:
511-570
Status:
Approved

Description:

Covered with ancient runes from rituals practiced ages ago.
Specials:
Bounce attack:
   3 targets
   -38% damage per bounce
+10% dmg to air (+1%/lvl)
Download
Broken Pipeline v1
600
ID:
655
Family ID:
Author:
D1000
Rarity:
uncommon
Element:
iron
Attack Type:
Essence
Attack Range:
800
Attack CD:
1.2
Damage:
489-489
Status:
Approved

Description:

A pipeline which transports poisonous substances. Toxic vapors and other dangerous things are leaking out at the broken spot.
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 600 spell damage per second that lasts for 10 seconds.

Level Bonus:
+24 damage per second.
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType D1000_Toxic_vapor
    endglobals

    private function init takes nothing returns nothing
    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()*240+6000))
endfunction
Polar Bear Cub v1
600
ID:
683
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
ice
Attack Type:
Elemental
Attack Range:
900
Attack CD:
1.4
Damage:
503-603
Status:
Approved

Description:

Fast tower that is focused on dealing damage while cooling itself down.
Specials:
Splash attack:
   300 AoE: 35% damage
Cold Feet
On attack this tower cools down decreasing its attackspeed by 5% and increasing the damage it deals by 20%. The cold lasts for 6 seconds and stacks up to 10 times. 

Level Bonus:
-1% attackspeed reduction at level 15 and 25
Download

Toggle Triggers

Header

    globals
    //@export
    BuffType sir_frost_furbolg
    //@export
    BuffType sir_frost_furbolg2
    endglobals
    
    private function onCleanup takes Buff b returns nothing
        set b.getBuffedUnit().userInt = 0
    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()
        local Modifier m2 = Modifier.create()
        
        set sir_frost_furbolg = BuffType.create(0,0,true)
        call m.addModification(MOD_ATTACKSPEED,0,-0.001)
        call sir_frost_furbolg.setBuffModifier(m)
        call sir_frost_furbolg.setStackingGroup("sir_frost_furbolg")
        call sir_frost_furbolg.addEventOnCleanup(onCleanup)
        
        set sir_frost_furbolg2 = BuffType.create(0,0,true)
        call m2.addModification(MOD_DAMAGE_ADD_PERC,0,0.001)
        call sir_frost_furbolg2.setBuffModifier(m2)
        call sir_frost_furbolg2.setBuffIcon('@@0@@')
    endfunction

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    local integer power = 30
    set tower.userInt = IMinBJ(tower.userInt + 1, 10)

    if tower.getLevel() < 15 then
        set power = 50
    elseif tower.getLevel() < 25 then
        set power = 40
    endif
    call sir_frost_furbolg.applyAdvanced(tower,tower,tower.userInt,tower.userInt*power,6.0)
    call sir_frost_furbolg2.applyAdvanced(tower,tower,tower.userInt,tower.userInt*200,6.0)
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 0
endfunction
Star Watcher v1
630
ID:
55
Family ID:
Author:
i_mOck_death
Rarity:
uncommon
Element:
astral
Attack Type:
Energy
Attack Range:
875
Attack CD:
1.55
Damage:
474-474
Status:
Approved

Description:

Uncommon astral tower that deals spell damage equal to its attack every time the tower attacks.
Magic Split
This tower deals an additional amount of spell damage to its target equal to 100% of its attack damage. If the creep is immune this damage is dealt as energy damage equal to 80% of its attack damage not affected by level bonus. 

Level Bonus:
 +2% 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.isImmune() then
        call tower.doAttackDamage(creep,tower.getCurrentAttackDamageWithBonus()*(.8),tower.calcAttackMulticrit(0.0,0.0,0))
    else
        call tower.doSpellDamage(creep,tower.getCurrentAttackDamageWithBonus()*(1+.02*tower.getLevel()),tower.calcSpellCritNoBonus())
    endif
endfunction
Tree v1
640
ID:
635
Family ID:
Author:
Monolith
Rarity:
common
Element:
nature
Attack Type:
Physical
Attack Range:
950
Attack CD:
0.9
Damage:
227-232
Status:
Approved

Description:

Common nature tower with the ability to attack multiple targets.
Multishot:
Attacks up to 4 targets at the same time.
Download
Growing Plant v1
640
ID:
676
Family ID:
Author:
Boekie
Rarity:
common
Element:
nature
Attack Type:
Decay
Attack Range:
825
Attack CD:
1.75
Damage:
920-920
Status:
Approved

Description:

This plant is small but it grows very fast!
Specials:
+46% exp gain (-2.5%/lvl)
+6.5% damage/lvl
Download
Area Roaster v1
650
ID:
67
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
fire
Attack Type:
Elemental
Attack Range:
700
Attack CD:
1.2
Damage:
85-85
Status:
Approved

Description:

Advanced tower that attacks multiple targets at once and burns them, increasing other fire towers damage and dealing some damage over time.
Spreading Flames:
This tower attacks 4 targets at once.
Ignite
Units damaged by this tower receive 7% more damage from fire towers and take 35 spell damage every 0.5 seconds for 5 seconds. The damage over time effect stacks. 

Level Bonus:
+1.4 spell damage 
+0.05 seconds duration
Download

Toggle Triggers

Header

    globals
    //@export
    BuffType sir_area_rooster
    endglobals
    
    function sir_area_damage takes Buff b returns nothing
    
    local Tower caster = b.getCaster()
    
    call caster.doSpellDamage(b.getBuffedUnit(),(35+caster.getLevel()*1.4)*b.getLevel(),caster.calcSpellCritNoBonus())
    
    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 sir_area_rooster = BuffType.create(0,0,false)
    call sir_area_rooster.setBuffIcon('@@1@@')
    call m.addModification(MOD_DMG_FROM_FIRE,0,0.001)
    call sir_area_rooster.setBuffModifier(m)
    call sir_area_rooster.addPeriodicEvent(sir_area_damage,0.5)
    call sir_area_rooster.setStackingGroup("sir_area_rooster")
    endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Buff buffyorno = Event.getTarget().getBuffOfGroup("sir_area_rooster")

    if buffyorno != 0 then 
        set tower.userInt = buffyorno.getLevel()+1
        set tower.userInt2 = IMaxBJ(buffyorno.getPower(),70)
    else
        set tower.userInt = 1
        set tower.userInt2 = 70
    endif
    
    call sir_area_rooster.applyAdvanced(tower,Event.getTarget(),tower.userInt,tower.userInt2,5+tower.getLevel()*0.05)
    
endfunction