Tundra Stalker v1
175
ID:
98
Family ID:
Author:
drol
Rarity:
uncommon
Element:
ice
Attack Type:
Magic
Attack Range:
850
Attack CD:
1.3
Damage:
136-155
Abil. Factor:
0.6
Status:
Approved

Description:

These giant creatures wander the dry tundras of the world.

Latest Upload Comment:

Restored from 1.10
Specials:
+4% mana regen/lvl
Ice Claw
Ravages a target creep in 850 range, causing it to suffer 50 spell damage per second and be slowed by 20%. Effect lasts 5 seconds.

Level Bonus:
+2 spell damage per second
+0.2 second duration
Frenzy
Each time Ice Claw is cast, attackspeed is increased by 0.5% permanently. This has a maximum of 100% 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. 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(), 0, 5. + 0.2 * tower.getLevel()).userReal = 50. + 2. * tower.getLevel()
endfunction

Header

    globals
        //@export
        BuffType drol_tundraStalker
        //@export
        MultiboardValues drol_tundraStalkerValues
    endglobals
    
    //Debuff damage function
    function drol_f_tundraStalker takes Buff b returns nothing
        call b.getCaster().doSpellDamage(b.getBuffedUnit(), b.userReal, b.getCaster().calcSpellCritNoBonus())
    endfunction 
    
    //Color fade function
    function drol_fade_tundraStalker takes Buff b returns nothing
        call SetUnitVertexColor(b.getBuffedUnit().getUnit(), 255, 255, 255, 255)
    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()
        call m.addModification(MOD_MOVESPEED, -0.2, -0.05 )
        
        set drol_tundraStalker = BuffType.create( 5., 0.2, false )
        call drol_tundraStalker.setBuffModifier(m)
        
        call drol_tundraStalker.setBuffIcon('@@0@@')
        call drol_tundraStalker.addPeriodicEvent( drol_f_tundraStalker, 1.)
        call drol_tundraStalker.addEventOnCleanup( drol_fade_tundraStalker )
        
        set drol_tundraStalkerValues = MultiboardValues.create(1)
        call drol_tundraStalkerValues.setKey(0, "Speed Bonus")
    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