Everlasting Phantom v1
2250
ID:
90
Family ID:
Author:
drol
Rarity:
uncommon
Element:
storm
Attack Type:
Magic
Attack Range:
900
Attack CD:
1.5
Damage:
1951-1951
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 30% and gives it a 25% attackspeed adjusted chance to cast a chain of lightning which deals 1800 initial spelldamage and hits up to 3 targets dealing 25% less damage each bounce. Effect lasts for 5 seconds.

Level Bonus:
+1% attackspeed
+72 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() + 20, 5. + tower.getLevel()*0.1).userReal = tower.getLevel()*18 + 425
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
Consuming Dark Fire Pit v1
2250
ID:
182
Family ID:
Author:
i_mOck_death
Rarity:
common
Element:
darkness
Attack Type:
Decay
Attack Range:
850
Attack CD:
1.1
Damage:
1067-1067
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.6%/lvl)
+20% dmg to magical (+0.8%/lvl)
Multishot:
Attacks up to 4 targets at the same time.
Download
Crystal of Souls v1
2250
ID:
222
Family ID:
Author:
Der_kleine_Tomy
Rarity:
rare
Element:
darkness
Mana:
75
Mana regen:
4
Status:
Approved

Description:

This mystical crystal can link souls together.
Specials:
+2% buff duration/lvl
Soul Link
Links 3 enemies' souls together for 2.5 seconds. If a linked unit takes damage all other linked units will take 15% of this damage. This tower does not benefit from damage increasing items or oils.

Level Bonus:
+0.4% damage
+1 target at level 15 and 25

AC_TYPE_ALWAYS_BUFF
 50, 1000.0 range, 4.0s cooldown
Soul Consumption
Whenever a unit under the effect of Soul Link dies, the Crystal of Souls consumes its soul granting 1 experience to the tower.
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 4.0 AUTOCAST_numBuffsBeforeIdle: 1 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 50 AUTOCAST_range: 1000.0 AUTOCAST_buffType: tomy_SoulLink AUTOCAST_targetSelf: false AUTOCAST_targetType: TARGET_TYPE_CREEPS target_art: AUTOCAST_autoRange: 1000.0
private function onAutocast takes Tower tower returns nothing
    local Unit target = Event.getTarget()
    local integer level = tower.getLevel()
    local integer counter = 1
    local integer maxTargets = 3
    local Iterate iterator
    local Unit next
    local lightning array effects
    
    if level == 25 then
        set maxTargets = maxTargets + 2
    elseif level >= 15 then
        set maxTargets = maxTargets + 1
    endif
    
    set effects[0] = AddLightningEx("DRAL", false, tower.getX(), tower.getY(), tower.getZ(), target.getX(), target.getY(), target.getZ())
    if target.getBuffOfType(tomy_SoulLink) == 0 then
        call tomy_SoulLink.apply(tower, target, level)
    endif
    
    loop
        exitwhen counter == maxTargets
        set iterator = Iterate.overUnitsInRangeOfUnit(tower, TARGET_CREEPS, target, 700.0 )
        loop
            set next = iterator.next()
            exitwhen next == 0 or next.getBuffOfType(tomy_SoulLink) == 0
        endloop
        
        exitwhen next == 0
        
        if next != 0 then
            call iterator.destroy()
        endif
        
        call tomy_SoulLink.apply(tower, next, level)
        set effects[counter] = AddLightningEx("DRAL", false, GetUnitX(next.getUnit()), GetUnitY(next.getUnit()), GetUnitFlyHeight(next.getUnit()), GetUnitX(target.getUnit()), GetUnitY(target.getUnit()), GetUnitFlyHeight(target.getUnit()))
        set target = next
        set counter = counter + 1
    endloop
    
    call TriggerSleepAction(0.20)
    loop
        set counter = counter - 1
        exitwhen counter == -1
        call DestroyLightning(effects[counter])
        set effects[counter] = null // Not sure if this is needed
    endloop
    
endfunction

Header

    globals
        //@import
        BuffType tomy_SoulLink
    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 Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 0 // Linked List (points to the first buff)
    set tower.userReal = 0.15
    set tower.userReal2 = 0.004
endfunction
Inflamed Stone Spires v1
2250
ID:
301
Family ID:
Author:
SirCoqaLot.
Rarity:
rare
Element:
fire
Attack Type:
Magic
Attack Range:
850
Attack CD:
1
Damage:
1-382
Mana:
45
Mana regen:
6.25
Status:
Unapproved

Description:

Advanced tower that will critical strike if it is has enough mana.
Specials:
+2% mana regen/lvl
Spellfire
This tower treats all spell modifiers as attack bonuses, with an 90% bonus gain of stated effect. 

Level Bonus:
+3.6% bonus gain
Spellfire Projectiles
If this tower has at least 20 mana when it attacks, it will pay all its mana to proc a critical strike. 20 Mana is used to grant the critical strike and every further point of mana spent grants 9% more critical damage to that attack. 

Level Bonus:
-.25 Mana needed
Download

Toggle Triggers

Header

    globals
    //@import
    BuffType spellFlameDamage
    //@import
    BuffType spellFlameCritDamage 
    //@import 
    BuffType spellFlameCritChance
    endglobals
    

       //@import
    function addAttackStats takes Tower tower returns nothing
    endfunction

    //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 real mana = GetUnitState(tower.getUnit(),UNIT_STATE_MANA)
    call addAttackStats(tower)
    if mana >= (20 - 0.2*tower.getLevel()) then 
        call tower.subtractMana(mana, false) 
        call tower.addCustomAttackCrit((mana - (20 - 0.2*tower.getLevel())) *0.08+tower.getProp_AtkCritDamage())
        endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing

endfunction
Grand Wolves Lair v1
2250
ID:
473
Family ID:
Author:
ColdRocker
Rarity:
rare
Element:
nature
Attack Type:
Physical
Attack Range:
700
Attack CD:
1.6
Damage:
2474-2474
Status:
Approved

Description:

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

Level Bonus:
+1% 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: 2000 AURA_level: 2000 AURA_auraRange: 300 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 100 AURA_powerAdd: 100 AURA_targetSelf: true
Forest v1
2250
ID:
637
Family ID:
Author:
Monolith
Rarity:
common
Element:
nature
Attack Type:
Physical
Attack Range:
950
Attack CD:
0.8
Damage:
541-546
Status:
Approved

Description:

Mighty nature tower with the ability to attack multiple targets.
Multishot:
Attacks up to 5 targets at the same time.
Download
Timevault v1
2300
ID:
37
Family ID:
Author:
SirCoqa/TrinkaLot.
Rarity:
unique
Element:
astral
Attack Type:
Magic
Attack Range:
850
Attack CD:
6
Damage:
13589-13688
Status:
Approved

Description:

Unique Tower that is able to backtrack creeps in time and changes timelines to benefit other towers by increasing their triggerchances.
Time Travel
Damaged targets will be teleported 3 seconds back in time after 3 seconds delay. Has a 20% chance to teleport bosses, all others will be always teleported. 

Level Bonus:
 +0.5% chance for bosses
Timesurge - Aura
Increases triggerchance of towers in 600 range by 30%.

Level Bonus:
+0.6% chance
Download

Toggle Triggers

Header

    globals
         //@export
        BuffType sir_trigger_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
        local Modifier m = Modifier.create()
            set sir_trigger_aura = BuffType.createAuraEffectType(true)
            call m.addModification(MOD_TRIGGER_CHANCES,0.00,0.001)
            call sir_trigger_aura.setBuffModifier(m)
            call sir_trigger_aura.setBuffIcon('@@0@@')
    endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
 local Creep target = Event.getTarget()
 local real sirX
 local real sirY
 local integer sirId
 local unit creep
 local effect e
    if target.getSize() < SIZE_BOSS or tower.calcChance(0.20+tower.getLevel()*0.005) then
        set sirId = target.getUID()
        set creep = target.getUnit()
        set sirX = GetUnitX(creep)
        set sirY = GetUnitY(creep)
        set e = AddSpecialEffectTarget("Abilities\\Spells\\Other\\Drain\\ManaDrainTarget.mdl",creep,"origin")
        call TriggerSleepAction(3.0)
        call DestroyEffect(e)
        set e = null
        if target.getUID() == sirId then
            call SetUnitX(creep, sirX)
            call SetUnitY(creep, sirY)
            call SFXAtUnit("Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl",creep)
        endif
    endif
    set creep = null
endfunction

Tower Aura

AURA_auraEffect: sir_trigger_aura AURA_power: 300 AURA_level: 300 AURA_auraRange: 600 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 6 AURA_powerAdd: 6 AURA_targetSelf: false