Glacier Tongue v1
1300
ID:
686
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
ice
Attack Type:
Energy
Attack Range:
760
Attack CD:
2.3
Damage:
2698-2698
Status:
Approved

Description:

Iced formation radiating blistering cold.
Glacial Wrath
Attacks of this tower slow the attacked creep by 13% for 3 seconds. Each attack has a 4% to deal 1300 spelldamage and stun the target for 1.0 seconds. The chance to stun the target is increased by 4% per attack and resets after a target is stunned.

Level Bonus:
+26.0 spelldamage 
+0.65% slow
Download

Toggle Triggers

Header

    globals
    //@import
    BuffType sir_frost_glacier
    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 Creep creep = Event.getTarget()
            
    call sir_frost_glacier.applyCustomTimed(tower,creep,130*(1+tower.getLevel()/20),3)
    call tower.getOwner().displayFloatingTextX(I2S(R2I(tower.userInt))+"% Chance",tower,50,150,255,255,0.05,2,3) 
   
    
        if tower.calcChance(tower.userInt*0.01) == true and not Event.getTarget().isImmune() then
            call cb_stun.applyOnlyTimed(tower,Event.getTarget(),1.0)
            call tower.doSpellDamage(creep,1300*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
            set tower.userInt = 4
        else 
            set tower.userInt = tower.userInt +4
        endif        
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
set tower.userInt = 4
endfunction
Cirrus Warrior v1
1312
ID:
275
Family ID:
Author:
i_mOck_death
Rarity:
uncommon
Element:
storm
Attack Type:
Energy
Attack Range:
840
Attack CD:
2.1
Damage:
1076-2387
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 1875 Energy damage.

Level Bonus:
+93.75 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,1875+(93.75*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
Blooming Cactus v1
1350
ID:
44
Family ID:
Author:
Lapsus
Rarity:
common
Element:
nature
Attack Type:
Essence
Attack Range:
820
Attack CD:
2.5
Damage:
2496-2496
Status:
Approved

Description:

A troublesome desert plant with a high AoE. Efficient against mass creeps and humans.
Specials:
Splash attack:
   320 AoE: 50% damage
+23% dmg to masses (+1.4%/lvl)
+23% dmg to humanoids (+1.4%/lvl)
Download
Teenage Tuskar v1
1350
ID:
143
Family ID:
Author:
Palandu
Rarity:
uncommon
Element:
ice
Attack Type:
Elemental
Attack Range:
900
Attack CD:
1.9
Damage:
2403-2403
Status:
Approved

Description:

Even more of a menace than the child.
Specials:
+10% dmg to champions (+0.7%/lvl)
+12.5% dmg to bosses (+1.2%/lvl)
-20% dmg to air
Vicious Snow Ball
Throws a fast snowball on attack at the target's head when it's not facing this tower. But the snowball only has a 20% chance to hit, where it hits is decided by the angle of attack.

Temple Crusher : If it hits side-on, does 120% of its attack damage as spell damage and a 0.8 second stun.

Knockdown : If it hits the back of the head, does 40% of its attack damage as spell damage and a 0.6 second stun.

Level Bonus:
+1.25% chance to hit.
Download

Toggle Triggers

Header

    globals
        //@import
        ProjectileType billy_SnowBall
    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 Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
        local Unit u = Event.getTarget()
        local real facingDelta
        local real unitToTowerVector = Atan2(tower.getY() - u.getY(), tower.getX() - u.getX())*bj_RADTODEG
        local Projectile p
        
        if (unitToTowerVector < 0) then
           set unitToTowerVector = unitToTowerVector + 360
        endif
        
        set facingDelta = unitToTowerVector - GetUnitFacing(u.getUnit()) 
        
        if (facingDelta < 0) then               
            set facingDelta = facingDelta + 360
        endif
        
        if (facingDelta > 180) then
            set facingDelta = 360 - facingDelta
        endif
        
        if facingDelta >=80 then   //launch
            set p = Projectile.createFromUnitToUnit(billy_SnowBall, tower, 100, 0, tower, Event.getTarget(), true, false, true)
            call p.setScale(1.3)
            if facingDelta <=100 then   //temple shot
                set p.userInt2=1
                set p.userReal=tower.getCurrentAttackDamageWithBonus()*1.2
                set p.userReal2=0.8
            else                        //back of the head
                set p.userInt2=2
                set p.userReal=tower.getCurrentAttackDamageWithBonus()*0.4
                set p.userReal2=0.6
            endif
            
            //decide hit/miss
            if tower.calcChance(0.2+I2R(tower.getLevel())/80) then
                set p.userInt = 1 //hit
            else
                set p.userInt = 0 //miss
            endif
        endif
endfunction
Harpy Witch v1
1350
ID:
145
Family ID:
Author:
drol
Rarity:
rare
Element:
storm
Attack Type:
Energy
Attack Range:
1000
Attack CD:
2.4
Damage:
1832-1994
Mana:
30
Mana regen:
2
Status:
Approved

Description:

Summoner of storms and rain. Harpies are known for their brutality and mercilessness.
Specials:
Bounce attack:
   2 targets
   -25% damage per bounce
Sparks
Increases the spell damage for a tower in 500 range by 15% and it's spell critical strike chance by 10%. Lasts 7.5 seconds.

Level Bonus:
+0.2% spell damage
+0.1% spell critical strike chance
+0.3 seconds duration

AC_TYPE_OFFENSIVE_BUFF
 22, 500 range, 2s cooldown
Twister
Attacks have a 8% chance to summon 2 tornados towards two random creeps in attack range of the harpy. Upon hit each tornado deals this tower's attack damage to the target and makes it suffer 10% additional damage from Storm towers for 5 seconds.

Level Bonus:
+0.3% chance
+0.4% additional damage taken
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 2 AUTOCAST_autoRange: 500 AUTOCAST_manacost: 22 AUTOCAST_range: 500 AUTOCAST_targetType: TARGET_TYPE_TOWERS AUTOCAST_numBuffsBeforeIdle: 1 caster_art: target_art: Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF AUTOCAST_buffType: drol_harpy AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    call drol_harpy.apply(tower, Event.getTarget(), tower.getLevel())
endfunction

Header

    globals
    
        //@export
        BuffType drol_harpy
        //@export
        BuffType drol_harpyDebuff
        //@export
        ProjectileType drol_harpyMissile 
    
    endglobals
    
    //On Hit function
    private function drol_harpyHit takes Projectile p, Unit creep returns nothing  
        local Tower tower = p.getCaster()
        call tower.doAttackDamage(creep,tower.getCurrentAttackDamageWithBonus(), tower.calcAttackMulticrit(0,0,0))  
        call drol_harpyDebuff.apply(tower, creep, tower.userInt)
    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 n = Modifier.create()
        
        set drol_harpy = BuffType.create(7.5, 0.3, true)
        set drol_harpyDebuff = BuffType.create(5., 0., false)
        
        call m.addModification(MOD_SPELL_CRIT_CHANCE, 0.1, 0.001)
        call m.addModification(MOD_SPELL_DAMAGE_DEALT, 0.15, 0.002)
        call n.addModification(MOD_DMG_FROM_STORM, 0.10, 0.001)
        
        call drol_harpy.setBuffModifier(m)
        call drol_harpyDebuff.setBuffModifier(n)
        call drol_harpy.setBuffIcon('@@0@@')
        call drol_harpyDebuff.setBuffIcon('@@1@@')
        
        set drol_harpyMissile = ProjectileType.create("Abilities\\Spells\\Other\\Tornado\\TornadoElementalSmall.mdl",4,1000)  
        call drol_harpyMissile.enableHoming(ProjectileTargetEvent.drol_harpyHit, 0)  
    
    endfunction

On Attack

ONATTACK_chance: 0.08 ONATTACK_chanceLevelAdd: 0.003
function onAttack takes Tower tower returns nothing
    local Iterate i = Iterate.overUnitsInRangeOfCaster(tower, TARGET_CREEPS, 1000)  
    local integer k = 2
    local Unit u
    local Projectile p
    
    set tower.userInt = tower.getLevel() * 4
    
    loop
        set u = i.next()
        exitwhen u == 0 or k == 0
        set p = Projectile.createFromUnitToUnit(drol_harpyMissile, tower, 1, 0, tower, u, true, false, false) 
        call p.setScale(0.70)
        set k = k - 1
    endloop
    if u != 0 then
        call i.destroy()
    endif
    set i = 0
        
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 0
endfunction
Haunted Silo v1
1350
ID:
269
Family ID:
Author:
Velex
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
2
Damage:
2433-2434
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 16% (10.67% for bosses) chance to slow it by  24% for 5 seconds.

Level Bonus:
+0.16% (0.11% 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((.16+tower.getLevel()*0.0016)*2/3)
        else
            set calc=tower.calcChance(.16+tower.getLevel()*0.0016)
        endif
        if(calc==true) then
                call velex_slow.applyCustomTimed(tower,Event.getTarget(),R2I(0.24*1000),5)
        endif
        
    
endfunction
Greater Wolves Den v1
1350
ID:
472
Family ID:
Author:
ColdRocker
Rarity:
rare
Element:
nature
Attack Type:
Physical
Attack Range:
700
Attack CD:
1.6
Damage:
1485-1485
Status:
Approved

Description:

A supporting tower that increases nearby towers attack speeds.
Wolven Tenacity - Aura
The strong physical presence of the wolves encourages nearby towers within a 250 radius, to increase their attack speed by 15%.

Level Bonus:
+0.75% attack speed
Download

Toggle Triggers

Header

    globals
      //@import
      BuffType speed_aura
    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

Tower Aura

AURA_auraEffect: speed_aura AURA_power: 1500 AURA_level: 1500 AURA_auraRange: 250 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 75 AURA_powerAdd: 75 AURA_targetSelf: true