Cenarius v1
2800
ID:
253
Family ID:
Author:
cedi
Rarity:
unique
Element:
nature
Attack Type:
Decay
Attack Range:
950
Attack CD:
1.4
Damage:
1344-1344
Abil. Factor:
0.3
Status:
Approved

Description:

Damn, there are no trees.

Latest Upload Comment:

Restored from 1.10
Entangling Roots
Launches 3 rows of roots towards the target which will travel a distance of 1000, entangling creeps hit for 1.5 seconds, causing them to become immobilized and take 1100 spell damage per second.

Level Bonus:
+44 spell damage
+0.02 seconds
Leaf Storm
Each time this tower attacks it has a 15% chance to summon a 200 AoE leaf storm at the target's position, slowing enemy units inside by 30% for 1 second and dealing 2100 spell damage over time.

Level Bonus:
+0.6% chance
+90 spell damage
+0.6% slow
+0.04 seconds slow duration
Thorned!
When a unit comes in 950 range to this tower it recieves the thorned debuff. The debuff lasts 3 seconds and increases the damage taken from nature towers by 30%.

Level Bonus:
+0.06 seconds duration
+0.6% damage taken
Tranquility
Decreases the attackspeed of all towers in a 450 AoE by 20% and increases their attackdamage by 40%.

Level Bonus:
+0.4% attack damage
+0.4% attackspeed
Download

Toggle Triggers

Autocast

caster_art: AUTOCAST_cooldown: 10.00 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_manacost: 90 AUTOCAST_range: 950.00 AUTOCAST_buffType: 0 AUTOCAST_targetSelf: true AUTOCAST_targetType: 0 target_art: AUTOCAST_autoRange: 950.00
private function onAutocast takes Tower tower returns nothing
    local unit tow = tower.getUnit()
    local unit targ = Event.getTarget().getUnit()
    local real r = bj_RADTODEG * Atan2(GetUnitY( targ ) - GetUnitY( tow ), GetUnitX( targ ) - GetUnitX( tow ))
    call Projectile.createFromUnit( WW, tower, tower, r, 1.00, tower.calcSpellCritNoBonus() )
    call Projectile.createFromUnit( WW, tower, tower, r + 15.00, 1.00, tower.calcSpellCritNoBonus() )
    call Projectile.createFromUnit( WW, tower, tower, r - 15.00, 1.00, tower.calcSpellCritNoBonus() )
    set targ = null
    set tow = null
endfunction

Header

    globals
        BuffType Tranquility
        ProjectileType WW
        BuffType Entangle
        Cast LS
        BuffType LSSlow
        BuffType Thorned
    endglobals
    
    function EntangleDamage takes Buff B returns nothing
        call B.getCaster().doSpellDamage( B.getBuffedUnit(), 1100.0 + 44.0 * B.getCaster().getLevel(), B.getCaster().calcSpellCritNoBonus() )
    endfunction
    
    function WWPeriodic takes Projectile P returns nothing
        local Effect e = Effect.createScaled( "Abilities\\Spells\\NightElf\\EntanglingRoots\\EntanglingRootsTarget.mdl", P.x, P.y, 0.00, 0.00, 0.75 )
        call e.setLifetime( 2.0 )
    endfunction
    
    function WWHit takes Projectile P, Creep U returns nothing
        local Unit caster = P.getCaster()
        call Entangle.apply( caster, U, caster.getLevel() )
    endfunction
    
    function LSHit takes DummyUnit d returns nothing
        local Unit t = d.getCaster()
        call LSSlow.apply( t, Event.getTarget(), t.getLevel() )
    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()
        set Tranquility = BuffType.createAuraEffectType( true )
        call m.addModification( MOD_ATTACKSPEED, -0.2, 0.004 )
        call m.addModification( MOD_DAMAGE_ADD_PERC, 0.4, 0.004 )
        call Tranquility.setBuffIcon( '@@2@@' )
        call Tranquility.setBuffModifier( m )
        
        set Entangle = BuffType.createDuplicate( cb_stun, 1.5, 0.02, false )
        call Entangle.setBuffIcon( '@@4@@' )
        call Entangle.addPeriodicEvent( EntangleDamage, 1.0 )
        
        set WW = ProjectileType.createRanged( "", 1000.00, 600.00 )
        call WW.enableCollision( WWHit, 175.00, TARGET_TYPE_CREEPS, false )
        call WW.enablePeriodic( WWPeriodic, 0.2 )
        
        set LS = Cast.create( '@@0@@', "blizzard", 4.00 )
        call LS.setDamageEvent( LSHit )
        
        set m = Modifier.create()
        call m.addModification( MOD_MOVESPEED, -0.3, -0.006 )
        set LSSlow = BuffType.create( 1.00, 0.04, false )
        call LSSlow.setBuffIcon( '@@5@@' )
        call LSSlow.setBuffModifier( m )
        
        set m = Modifier.create()
        call m.addModification( MOD_DMG_FROM_NATURE, 0.3, 0.006 )
        set Thorned = BuffType.create( 3.00, 0.06, false )
        call Thorned.setBuffIcon( '@@7@@' )
        call Thorned.setBuffModifier( m )
    endfunction

On Damage

ONDAMAGE_chance: 0.15 ONDAMAGE_chanceLevelAdd: 0.006
function onDamage takes Tower tower returns nothing
    call LS.pointCastFromTargetOnTarget( tower, Event.getTarget(), 700.00 + 30.00 * tower.getLevel(), tower.calcSpellCritNoBonus() )
endfunction

On Unit Comes In Range

UNITINRANGE_targetType: TARGET_TYPE_CREEPS UNITINRANGE_range: 950
function onUnitInRange takes Tower tower returns nothing
    call Thorned.apply( tower, Event.getTarget(), tower.getLevel() )
endfunction

Tower Aura

AURA_auraEffect: Tranquility AURA_power: 0 AURA_level: 0 AURA_auraRange: 450.00 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 1 AURA_powerAdd: 1 AURA_targetSelf: true