Glacier v1
2150
ID:
330
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
ice
Attack Type:
Energy
Attack Range:
760
Attack CD:
2.3
Damage:
4144-4144
Status:
Approved

Description:

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

Level Bonus:
+43 spelldamage 
+0.8% 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,160*(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 then
            call cb_stun.applyOnlyTimed(tower,Event.getTarget(),1.1)
            call tower.doSpellDamage(creep,2150*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
            set tower.userInt = 5
        else
            set tower.userInt = tower.userInt +5
        endif        
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
set tower.userInt = 5
endfunction
Flourishing Chasm v1
2150
ID:
679
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
nature
Attack Type:
Essence
Attack Range:
950
Attack CD:
1.4
Damage:
2258-2258
Status:
Approved

Description:

Basic tower that has a small chance to root creeps it attacks.
Entangle
Has a 12.5% chance to entangle the attacked target for 3.75 seconds. Entangled targets are immobile and suffer 4300 damage per second. Cannot entangle air or boss units. 

Level Bonus:
+0.2% chance to entangle
+215 damage per second
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType chasm_entangle
    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.125 ONDAMAGE_chanceLevelAdd: 0.002
function onDamage takes Tower tower returns nothing
    local Creep target = Event.getTarget()
    if target.getSize() < SIZE_BOSS and target.getSize() != SIZE_AIR then
        call chasm_entangle.apply(tower, target, 3)
        call target.reorder()
    endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 4300 //base entagle dps
endfunction
Ball Lightning Accelerator v1
2200
ID:
123
Family ID:
Author:
cedi
Rarity:
unique
Element:
iron
Attack Type:
Magic
Attack Range:
1000
Attack CD:
0.8
Damage:
1-1
Mana:
1000
Mana regen:
8
Status:
Approved

Description:

This deadly thing was invented by the dwarves to aid them in the long war against the orcs. However they never ended up using it, as it consumes far too much energy.
Specials:
+50 mana/lvl
+1 mana regen/lvl
Energy Absorb
Decreases the attackspeed of all towers in 1000 range by 10%. Increases the mana regeneration of the Accelerator by 2 mana per second for each weakened tower. Both effects last 8 seconds

Level Bonus:
-0.1% attackspeed weakening
+0.04 mana per second

AC_TYPE_OFFENSIVE_IMMEDIATE
 0, 1000.0 range, 40.00s cooldown
Energetic Weapon
The Accelerator attacks with energetic missiles, which deal 500 plus 3 times the current mana as spell damage to all units in 250 range of the missile. Additionally, the missile slows all units by 1% for each 4000 damage it deals to a creep for 1.5 seconds. Cannot slow by more than 20%. Each attack consumes 20% of this tower's current mana.

Level Bonus:
+25 spell damage
+5% mana converted to damage
+0.04 seconds slow duration
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 40.00 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_manacost: 0 AUTOCAST_range: 1000.0 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: false AUTOCAST_targetType: 0 target_art: AUTOCAST_autoRange: 1000.0
private function onAutocast takes Tower tower returns nothing
    local integer numTowers = 0
    local integer lvl = tower.getLevel() 
    local Unit u
    local Iterate it = Iterate.overUnitsInRangeOfCaster(tower, TARGET_TOWERS, 1000.0)
    loop
        set u = it.next()
        exitwhen u == 0
        if u != tower then
            set numTowers = numTowers + 1
            call tomy_EnergyAbsorptionTargetBT.apply(tower, u, lvl)
        endif
    endloop
    if numTowers > 0 then
        call tomy_EnergyAbsorptionCasterBT.apply(tower, tower, (50 + lvl) * numTowers)
    endif
endfunction

Header

    globals
        //@export
        ProjectileType tomy_EnergeticWeaponPT
        //@export
        BuffType tomy_EnergyAbsorptionTargetBT
        //@export
        BuffType tomy_EnergyAbsorptionCasterBT
        //@export
        BuffType tomy_SlowBT
    endglobals
    
    function EnergeticWeaponCollision takes Projectile p, Unit target returns nothing
        local Unit caster = p.getCaster()
        local real slow = ( p.userReal / 4000.00)
        local unit u = target.getUnit()
        local lightning lightningEffect = AddLightningEx("FORK", false, p.x + 50.0 * Cos(p.direction* bj_DEGTORAD), p.y + 50.0 * Sin(p.direction* bj_DEGTORAD), p.z + 60.0, GetUnitX(u), GetUnitY(u), GetUnitFlyHeight(u))
        if (slow > 20) then
            set slow = 20
        endif
        call p.doSpellDamage(target, p.userReal)
        call tomy_SlowBT.applyCustomTimed( caster, target, R2I(slow * 10), 1.50 + 0.04 * caster.getLevel() )
        call SFXAtUnit("Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl", u)
        call TriggerSleepAction(0.20)
        call DestroyLightning(lightningEffect)
        set u = null
        set lightningEffect = null
    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()
        // ======= Energy Absorption Target =======
        call m.addModification( MOD_ATTACKSPEED, -0.1, 0.001 )
        set tomy_EnergyAbsorptionTargetBT = BuffType.create(8.00, 0.00, false)
        call tomy_EnergyAbsorptionTargetBT.setBuffModifier( m )
        call tomy_EnergyAbsorptionTargetBT.setBuffIcon( '@@0@@' )
        // ======= Energy Absorption Caster =======
        set m = Modifier.create()
        call m.addModification(MOD_MANA_REGEN, 0.00, 0.04)
        set tomy_EnergyAbsorptionCasterBT = BuffType.create(8.00, 0.00, true)
        call tomy_EnergyAbsorptionCasterBT.setBuffModifier( m )
        call tomy_EnergyAbsorptionCasterBT.setBuffIcon( '@@2@@' )
        // ======= Energetic Weapon =======
        set tomy_EnergeticWeaponPT = ProjectileType.createRanged("Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdl", 1000.0, 650.0) 
        call tomy_EnergeticWeaponPT.enableCollision( EnergeticWeaponCollision, 250.00, TARGET_CREEPS, false )
        // ======= Slow =======
        set m = Modifier.create()
        call m.addModification( MOD_MOVESPEED, -0.00, -0.001 )
        set tomy_SlowBT = BuffType.create( 1.5, 0.04, false )
        call tomy_SlowBT.setBuffIcon( '@@1@@' )
        call tomy_SlowBT.setBuffModifier( m )
    endfunction

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    local unit u = tower.getUnit()
    local unit t = Event.getTarget().getUnit()
    local Projectile p
    local real angle = Atan2(GetUnitY( t ) - GetUnitY( u ), GetUnitX( t ) - GetUnitX( u ))
    local real mana = GetUnitState(u, UNIT_STATE_MANA)
    
    set p = Projectile.create(tomy_EnergeticWeaponPT, tower, 1.00, tower.calcSpellCritNoBonus(), GetUnitX( u ) + Cos( angle ) * 110.00, GetUnitY( u ) + Sin( angle ) * 110.00, 40.00, angle * bj_RADTODEG )
    set p.userReal = 500.00 * (1.00 + tower.getLevel() * 0.05) + mana * (3.00 + tower.getLevel() * 0.05 )
    set p.z = 10.0
    call p.setScale( 2.00 )
    call SetUnitState( u, UNIT_STATE_MANA, mana * 0.80 )
    
    set u = null
    set t = null
endfunction
Undeathly Crypt v1
2200
ID:
172
Family ID:
Author:
eMoo
Rarity:
rare
Element:
darkness
Attack Type:
Decay
Attack Range:
1000
Attack CD:
1.95
Damage:
2413-2413
Status:
Approved

Description:

A combination of decaying body parts and the presence of an unfathomable evil create a pillar of darkness within this crypt to form a reliable attack and the ability to explode corpses.
Corpse Explosion
Explodes a corpse within 1000 range of the tower, causing enemies in 300 range of the corpse to take 13% more damage from darkness towers and move 13% slower for 8 seconds. 5 second cooldown. Doesn't affect Air.

Level Bonus:
+0.4% slow and damage taken
+0.25 seconds duration
Critical Mass
Has a 30% chance on attack to shoot an extra projectile. For each projectile shot after the initial one, there is a 36% chance to shoot an extra projectile. There is a maximum of 14 projectiles fired per attack.

Level Bonus:
 +0.3% initial chance
 +0.6% extra chance
Download

Toggle Triggers

Header

    globals
    //@import
    EventTypeList Top_Corpse_explode
    endglobals
    
    //@import
    function burstFire takes Tower tower, real chance, Creep target, real z returns nothing
    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
    endfunction

On Attack

ONATTACK_chance: 0.3 ONATTACK_chanceLevelAdd: 0.003
function onAttack takes Tower tower returns nothing
    call burstFire(tower, 0.36+tower.getLevel()*0.006,Event.getTarget(),200)
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
call tower.addEventList(Top_Corpse_explode)
set tower.userInt = 130 //This will be the base+level damage.
set tower.userInt2 = 130 //Base damage.
set tower.userInt3 = 4 //Level up damage.
endfunction
Haunted Soul Mill v1
2200
ID:
268
Family ID:
Author:
Velex
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
2
Damage:
3966-3967
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 18% (12% for bosses) chance to slow it by  27% for 5 seconds.

Level Bonus:
+0.18% (0.12% 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((.18+tower.getLevel()*0.0018)*2/3)
        else
            set calc=tower.calcChance(.18+tower.getLevel()*0.0018)
        endif
        if(calc==true) then
                call velex_slow.applyCustomTimed(tower,Event.getTarget(),R2I(0.27*1000),5)
        endif
        
    
endfunction
Snowy Peak v1
2200
ID:
457
Family ID:
Author:
geX
Rarity:
common
Element:
ice
Attack Type:
Elemental
Attack Range:
800
Attack CD:
0.9
Damage:
1471-1671
Status:
Approved

Description:

Basic tower with a high AoE splash attack with low splash damage. Deals bonus damage to mass creeps.
Specials:
Splash attack:
   600 AoE: 10% damage
+45% dmg to masses (+1.5%/lvl)
Download
Precious Treasure Heap v2
2200
ID:
465
Family ID:
Author:
geX
Rarity:
common
Element:
iron
Attack Type:
Physical
Attack Range:
1000
Attack CD:
2.5
Damage:
5216-6016
Status:
Approved

Description:

Basic Tower with an increased chance to find items and some bonus damage against bosses.
Specials:
+10% dmg to bosses (+0.6%/lvl)
+20% item chance (+1%/lvl)
-20% item quality (-1%/lvl)
Download