Star Observer v1
1370
ID:
56
Family ID:
Author:
i_mOck_death
Rarity:
uncommon
Element:
astral
Attack Type:
Energy
Attack Range:
875
Attack CD:
1.55
Damage:
990-990
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:
 +3% 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+.03*tower.getLevel()),tower.calcSpellCritNoBonus())
    endif
endfunction
Custom Ray Blaster v1
2600
ID:
310
Family ID:
Author:
i_mOck_death
Rarity:
uncommon
Element:
iron
Attack Type:
Energy
Attack Range:
830
Attack CD:
1.4
Damage:
1377-1396
Status:
Approved

Description:

Uncommon iron tower that leaves a debuff on the enemy unit that increases item drop quality and chance of an item drop.
Phaze
Whenever this tower damages a creep it increases its item drop chance and item drop quality by 12% for 6 seconds. 

Level Bonus:
 +0.45% item drop quality 
 +0.45% item drop chance 
 +0.1 seconds
Download

Toggle Triggers

Header

            globals
        //@import
        BuffType mOck_rayBlaster
    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 mOck_rayBlaster.applyCustomTimed(tower,Event.getTarget(),1200 + 45 * tower.getLevel(),6+tower.getLevel()*0.1)
        
endfunction
Burning Rock v1
1400
ID:
2
Family ID:
Author:
geX
Rarity:
common
Element:
fire
Attack Type:
Elemental
Attack Range:
900
Attack CD:
1.2
Damage:
1343-1582
Status:
Approved

Description:

Basic tower with low splash damage
Specials:
Splash attack:
   190 AoE: 25% damage
Download
Polar Bear v1
1400
ID:
9
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
ice
Attack Type:
Elemental
Attack Range:
900
Attack CD:
1.35
Damage:
1108-1208
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 25%. 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
    //@import
    BuffType sir_frost_furbolg
    //@import
    BuffType sir_frost_furbolg2
    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 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*250,6.0)
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 0
endfunction
Bone Temple v1
1400
ID:
92
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
darkness
Attack Type:
Physical
Attack Range:
950
Attack CD:
1.9
Damage:
1975-1985
Status:
Approved

Description:

Lesser darkness tower that increases the damage of its target taken by darkness towers.
Empowering Darkness
On attack this tower increases the damage the target receives from other darkness towers by 4%. This effect stacks up to 10 times.

Level Bonus:
+0.08% damage increased
Download

Toggle Triggers

Header

    globals
    //@import
    BuffType sir_bone_debuff
    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 integer bufflevel = Event.getTarget().getBuffOfType(sir_bone_debuff).getLevel()
    if bufflevel < 10 then
        call Event.getTarget().modifyProperty(MOD_DMG_FROM_DARKNESS,0.04+tower.getLevel()*(0.0008))
        call sir_bone_debuff.applyAdvanced(tower,Event.getTarget(),bufflevel+1,0,1000)
    endif
endfunction
Enchanted Serpent Ward v1
1400
ID:
96
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
astral
Attack Type:
Elemental
Attack Range:
1050
Attack CD:
1.35
Damage:
1407-1407
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 30%, its mana regeneration by 30% and its spell damage by 15%. The buff lasts 5 seconds. 

Level Bonus:
+1.8% mana regeneration 
+1.8% mana 
+0.9% 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(),60+tower.getLevel(),300+tower.getLevel()*18,5)
else
    call sir_serpent_buff.applyAdvanced(tower,Event.getTarget(),60+tower.getLevel(),300+tower.getLevel()*18,10)
endif
endfunction

Header

    globals
    //@import
    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
   
    endfunction
Polar Stalker v1
1400
ID:
105
Family ID:
Author:
drol
Rarity:
uncommon
Element:
ice
Attack Type:
Magic
Attack Range:
850
Attack CD:
1.3
Damage:
1080-1239
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 400 spell damage per second and be slowed by 35%. Effect lasts 5 seconds.

Level Bonus:
+16 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 137.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.375 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(), 3, 5. + 0.2 * tower.getLevel()).userReal = 400. + 16. * 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