Lost Soul v1
310
ID:
379
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
darkness
Attack Type:
Magic
Attack Range:
1200
Attack CD:
1
Damage:
117-178
Status:
Approved

Description:

A tricky tower that may weaken its target temporarily but also itself
Soul Scattering
10% chance on attack to reduce its own attackspeed by 60% and making its target receive 60% more spell damage. Both effects last 3 seconds.

Level Bonus:
+1% attackspeed 
+0.48% spell damage received
Shadowstrike
This tower has a 25% chance on attack to deal 310 spell damage. 

Level Bonus:
+15.5 bonusdamage 
+0.5% chance
Download

Toggle Triggers

Header

    globals
        //@import
        BuffType sir_cripple
        //@import
        BuffType sir_banish
    endglobals
    
    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 integer lvl = tower.getLevel()
    local Creep creep = Event.getTarget()
    if tower.calcChance(0.1) then
        call sir_banish.applyCustomTimed(tower,creep,R2I(60+0.48*lvl)*100,3)
        call sir_cripple.applyCustomTimed(tower,tower,lvl,3)
    endif
    if tower.calcChance(.25 + 0.005 * lvl) then
        call tower.doSpellDamage(creep,310+tower.getLevel()*15.5,tower.calcSpellCritNoBonus())
        call SFXOnUnit("Abilities\\Spells\\Undead\\DeathPact\\DeathPactTarget.mdl",creep.getUnit(),"origin")
    endif
endfunction

On Damage

ONDAMAGE_chance: 0.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing

endfunction
Flawed Sun Pillar v1
320
ID:
448
Family ID:
Author:
geX
Rarity:
common
Element:
astral
Attack Type:
Energy
Attack Range:
1200
Attack CD:
2
Damage:
370-414
Status:
Approved

Description:

Basic Tower with a weak bouncing attack and bonus damage to undead enemies.
Specials:
Bounce attack:
   3 targets
   -46% damage per bounce
+22% dmg to undead (+2.2%/lvl)
Download
Magic Ruin v1
325
ID:
13
Family ID:
Author:
drol
Rarity:
common
Element:
astral
Attack Type:
Elemental
Attack Range:
700
Attack CD:
1
Damage:
317-349
Status:
Approved

Description:

Some magic still sparkles inside these ruins.
Illuminate
Attacks debuff the target, making it grant 15% more experience once killed. This effect last 5 seconds.

Level Bonus:
+0.6% experience
+0.2 seconds
Download

Toggle Triggers

Header

    globals
    //@import
    BuffType drol_magicRuin
    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
call drol_magicRuin.applyCustomTimed(tower,Event.getTarget(),tower.getLevel()*3 + 50,5+tower.getLevel()*0.2)
endfunction
Fortified Lightning Generator v1
345
ID:
381
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
storm
Attack Type:
Magic
Attack Range:
980
Attack CD:
1.35
Damage:
1-1
Status:
Approved

Description:

Simple storm tower that will deal all of its damage through spells. Has a minor chance to cast a chainlightning on attack.
Chainlightning
This tower has a 19.5% chance on attack to release a chainlightning that does 560 damage and hits up to 3 units.

Level Bonus:
+11.2 damage
+0.25% chance
Force Attack
This tower deals 260 spell damage on attack.

Level Bonus:
+5.2 damage
Download

Toggle Triggers

Header

    globals
        Cast Chainlightning
    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
        set Chainlightning = Cast.create('@@0@@',"chainlightning",5.0)
    endfunction

On Attack

ONATTACK_chance: 0.195 ONATTACK_chanceLevelAdd: 0.0025
function onAttack takes Tower tower returns nothing
     call Chainlightning.targetCastFromCaster(tower,Event.getTarget(),1.0+tower.getLevel()*0.02,tower.calcSpellCritNoBonus())
endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Unit creep = Event.getTarget()
        call tower.doSpellDamage(creep,260*(1+tower.getLevel()*0.02),tower.calcSpellCritNoBonus())
        
endfunction
Small Serpent Ward v1
350
ID:
94
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
astral
Attack Type:
Elemental
Attack Range:
1050
Attack CD:
1.35
Damage:
374-374
Mana:
12
Mana regen:
1
Status:
Approved

Description:

Lesser astral tower that buffs a nearby tower, increasing its mana regeneration, maximum mana and spell damage dealt.
Snake Charm
Increases the target's maximum mana by 10%, its mana regeneration by 10% and its spell damage by 5%. The buff lasts 5 seconds. 

Level Bonus:
+0.6% mana regeneration 
+0.6% mana 
+0.3% spell damage 
+5 seconds duration at level 25

AC_TYPE_ALWAYS_BUFF
 10, 200 range, 5s cooldown
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 1 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 10 AUTOCAST_range: 200 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: false AUTOCAST_targetType: TARGET_TYPE_TOWERS target_art: AUTOCAST_autoRange: 200
private function onAutocast takes Tower tower returns nothing
if tower.getLevel()< 25 then
call sir_serpent_buff.applyAdvanced(tower,Event.getTarget(),1+tower.getLevel(),100+tower.getLevel()*6,5)
else
call sir_serpent_buff.applyAdvanced(tower,Event.getTarget(),1+tower.getLevel(),100+tower.getLevel()*6,10)
endif    
endfunction

Header

    globals
    //@export
    BuffType sir_serpent_buff
    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()
    call m.addModification(MOD_MANA_PERC,0.0,0.001)
    call m.addModification(MOD_MANA_REGEN_PERC,0.0,0.001)
    call m.addModification(MOD_SPELL_DAMAGE_DEALT,0.0,0.0005)
    set sir_serpent_buff = BuffType.create(0.0,0.0,true)
    call sir_serpent_buff.setBuffIcon('@@0@@')
    call sir_serpent_buff.setBuffModifier(m)
    call sir_serpent_buff.setStackingGroup("sir_serpent_buff")
    endfunction
Northern Stalker v1
350
ID:
103
Family ID:
Author:
drol
Rarity:
uncommon
Element:
ice
Attack Type:
Magic
Attack Range:
850
Attack CD:
1.3
Damage:
271-310
Mana:
12
Mana regen:
1
Status:
Approved

Description:

These giant creatures wander the dry tundras of the world.
Specials:
+4% mana regen/lvl
Ice Claw
Ravages a target creep in 850 range, causing it to suffer 100 spell damage per second and be slowed by 25%. Effect lasts 5 seconds.

Level Bonus:
+4 spell damage per second
+0.2 second duration

AC_TYPE_OFFENSIVE_UNIT
 10, 850 range, 2s cooldown
Frenzy
Each time Ice Claw is cast, attackspeed is increased by 0.5% permanently. This has a maximum of 112.5% attack speed increase.
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 2 AUTOCAST_numBuffsBeforeIdle: 1 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_manacost: 10 AUTOCAST_range: 850 AUTOCAST_buffType: drol_tundraStalker AUTOCAST_targetSelf: false AUTOCAST_targetType: TARGET_TYPE_CREEPS target_art: AUTOCAST_autoRange: 850
private function onAutocast takes Tower tower returns nothing
    if tower.userReal < 1.125 then
        set tower.userReal = tower.userReal + 0.005
        call tower.modifyProperty(MOD_ATTACKSPEED, 0.005)
    endif
    
    call SFXAtUnit("Abilities\\Spells\\Other\\FrostBolt\\FrostBoltMissile.mdl", Event.getTarget().getUnit())
    call SetUnitVertexColor( Event.getTarget().getUnit(), 100, 100, 255, 255 )
    set drol_tundraStalker.applyCustomTimed(tower, Event.getTarget(), 1, 5. + 0.2 * tower.getLevel()).userReal = 100. + 4. * tower.getLevel()
endfunction

Header

    globals
        //@import
        BuffType drol_tundraStalker
        //@import
        MultiboardValues drol_tundraStalkerValues
    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
    local Tower preceding = Event.getPrecedingTower()  

    if preceding.getFamily() == tower.getFamily() then  
        set tower.userReal = preceding.userReal  
        call tower.modifyProperty(MOD_ATTACKSPEED, preceding.userReal )  
    else  
        set tower.userReal = 0.
    endif
endfunction

On Tower Details

goldcost: 0
function onTowerDetails takes Tower tower returns MultiboardValues
    call drol_tundraStalkerValues.setValue(0, I2S(R2I(tower.userReal * 100)) + "%")
    return drol_tundraStalkerValues
endfunction
Small Brazier v1
350
ID:
279
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
fire
Attack Type:
Elemental
Attack Range:
865
Attack CD:
0.7
Damage:
149-169
Status:
Approved

Description:

Basic tower with high attackspeed and a multicritchance.
Specials:
15% crit chance (+1.5%/lvl)
x1.7 crit damage (+x0.03/lvl)
2 x multicrit
Download