Small Frost Fire v1
70
ID:
364
Family ID:
Author:
IamanEvilMan
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
0.9
Damage:
46-46
Mana:
25
Mana regen:
2
Status:
Approved

Description:

This tower uses mana to summon coldfire from the Frozen Heart of Hell for minor AoE damage and slowing effect. Stolen souls improve this ability with each tower level.
Specials:
-25% dmg to undead (+0.2%/lvl)
Soul Chill
Chills the souls of all creeps in 250 AoE of the target, dealing 50 spelldamage and slowing them by 5% for 4 seconds. 

Level Bonus:
+2 damage 
+0.2% slow 
+0.02 seconds duration

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 1 AUTOCAST_autoRange: 900 AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 2 caster_art: target_art: Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_buffType: soul_chill AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    local Unit targ = Event.getTarget()
    local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,targ,250)
    local Unit next

    local real calculated_slow = 50 + tower.getLevel() * 2
    local real duration = 4.0 + tower.getLevel() * 0.02
    local real spelldmg = 50 + tower.getLevel() * 2 
    
loop

    set next = it.next()
    exitwhen next == 0
    call soul_chill.applyCustomTimed(tower, next, R2I(calculated_slow), duration)
    call tower.doSpellDamage(next, spelldmg, tower.calcSpellCritNoBonus())

endloop

    call SFXAtUnit("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", targ.getUnit())
endfunction

Header

globals
    //@export
    BuffType soul_chill   
endglobals
    
private function init takes nothing returns nothing

    local Modifier slow=Modifier.create()
    call slow.addModification(MOD_MOVESPEED, 0, -0.001)
    set soul_chill=BuffType.create(0, 0, false)
    call soul_chill.setBuffIcon('@@0@@')
    call soul_chill.setBuffModifier(slow)
    
endfunction
Frost Fire v1
250
ID:
365
Family ID:
Author:
IamanEvilMan
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
0.9
Damage:
163-163
Mana:
30
Mana regen:
2
Status:
Approved

Description:

This tower uses mana to summon coldfire from the Frozen Heart of Hell for minor AoE damage and slowing effect. Stolen souls improve this ability with each tower level.
Specials:
-25% dmg to undead (+0.4%/lvl)
Soul Chill
Chills the souls of all creeps in 250 AoE of the target, dealing 200 spelldamage and slowing them by 6% for 4 seconds. 

Level Bonus:
+8 damage 
+0.4% slow 
+0.04 seconds duration

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 1 AUTOCAST_autoRange: 900 AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 2 caster_art: target_art: Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_buffType: soul_chill AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    local Unit targ = Event.getTarget()
    local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,targ,250)
    local Unit next

    local real calculated_slow = 60 + tower.getLevel() * 4
    local real duration = 4.0 + tower.getLevel() * 0.04
    local real spelldmg = 200 + tower.getLevel() * 8 
     
loop

    set next = it.next()
    exitwhen next == 0
    call soul_chill.applyCustomTimed(tower, next, R2I(calculated_slow), duration)
    call tower.doSpellDamage(next, spelldmg, tower.calcSpellCritNoBonus())

endloop

    call SFXAtUnit("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", targ.getUnit())
endfunction

Header

globals
    //@import        
    BuffType soul_chill
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
Hungry Frost Fire v1
700
ID:
366
Family ID:
Author:
IamanEvilMan
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
0.9
Damage:
456-456
Mana:
35
Mana regen:
2
Status:
Approved

Description:

This tower uses mana to summon coldfire from the Frozen Heart of Hell for minor AoE damage and slowing effect. Stolen souls improve this ability with each tower level.
Specials:
-25% dmg to undead (+0.6%/lvl)
Soul Chill
Chills the souls of all creeps in 250 AoE of the target, dealing 550 spelldamage and slowing them by 8% for 4 seconds. 

Level Bonus:
+24 damage 
+0.6% slow 
+0.06 seconds duration

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 1 AUTOCAST_autoRange: 900 AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 2 caster_art: target_art: Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_buffType: soul_chill AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    local Unit targ = Event.getTarget()
    local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,targ,250)
    local Unit next

    local real calculated_slow = 80 + tower.getLevel() * 6
    local real duration = 4.0 + tower.getLevel() * 0.06
    local real spelldmg = 550 + tower.getLevel() * 24 
     
loop

    set next = it.next()
    exitwhen next == 0
    call soul_chill.applyCustomTimed(tower, next, R2I(calculated_slow), duration)
    call tower.doSpellDamage(next, spelldmg, tower.calcSpellCritNoBonus())

endloop

    call SFXAtUnit("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", targ.getUnit())
endfunction

Header

globals
    //@import        
    BuffType soul_chill
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
Hungry Frozen Flame v1
1400
ID:
367
Family ID:
Author:
IamanEvilMan
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
0.9
Damage:
911-911
Mana:
40
Mana regen:
2
Status:
Approved

Description:

This tower uses mana to summon coldfire from the Frozen Heart of Hell for minor AoE damage and slowing effect. Stolen souls improve this ability with each tower level.
Specials:
-25% dmg to undead (+0.8%/lvl)
Soul Chill
Chills the souls of all creeps in 250 AoE of the target, 1000 spelldamage and slowing them by 10% for 4 seconds. 

Level Bonus:
+48 damage 
+0.8% slow 
+0.08 seconds duration

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 1 AUTOCAST_autoRange: 900 AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 2 caster_art: target_art: Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_buffType: soul_chill AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    local Unit targ = Event.getTarget()
    local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,targ,250)
    local Unit next

    local real calculated_slow = 100 + tower.getLevel() * 8
    local real duration = 4.0 + tower.getLevel() * 0.08
    local real spelldmg = 1000 + tower.getLevel() * 48 
     
loop

    set next = it.next()
    exitwhen next == 0
    call soul_chill.applyCustomTimed(tower, next, R2I(calculated_slow), duration)
    call tower.doSpellDamage(next, spelldmg, tower.calcSpellCritNoBonus())

endloop

    call SFXAtUnit("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", targ.getUnit())
endfunction

Header

globals
    //@import        
    BuffType soul_chill
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
Frozen Inferno v1
2500
ID:
368
Family ID:
Author:
IamanEvilMan
Rarity:
common
Element:
darkness
Attack Type:
Essence
Attack Range:
900
Attack CD:
0.9
Damage:
1627-1627
Mana:
45
Mana regen:
2
Status:
Approved

Description:

This tower uses mana to summon coldfire from the Frozen Heart of Hell for minor AoE damage and slowing effect. Stolen souls improve this ability with each tower level.
Specials:
-25% dmg to undead (+1%/lvl)
Soul Chill
Chills the souls of all creeps in 250 AoE of the target, dealing 1800 spelldamage and slowing them by 12% for 4 seconds. 

Level Bonus:
+96 damage 
+1% slow 
+0.1 seconds duration

AC_TYPE_OFFENSIVE_UNIT
 20, 900 range, 1s cooldown
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 1 AUTOCAST_autoRange: 900 AUTOCAST_manacost: 20 AUTOCAST_range: 900 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 2 caster_art: target_art: Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_UNIT AUTOCAST_buffType: soul_chill AUTOCAST_isExtended: false AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
    local Unit targ = Event.getTarget()
    local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,targ,250)
    local Unit next

    local real calculated_slow = 120 + tower.getLevel() * 10
    local real duration = 4.0 + tower.getLevel() * 0.1
    local real spelldmg = 1800 + tower.getLevel() * 96 
     
loop

    set next = it.next()
    exitwhen next == 0
    call soul_chill.applyCustomTimed(tower, next, R2I(calculated_slow), duration)
    call tower.doSpellDamage(next, spelldmg, tower.calcSpellCritNoBonus())

endloop

    call SFXAtUnit("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", targ.getUnit())
endfunction

Header

globals
    //@import        
    BuffType soul_chill
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