Necromantic Altar v1
300
|
ID: 4
Family ID:
Author: Boekie
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 875
Attack CD: 1.6
Damage: 287-287
Mana: 30
Mana regen: 2
Status: Approved
|
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 200 spelldamage, the second one suffers 400 spelldamage and the third one suffers 600 spelldamage. Level Bonus: +12/24/36 spelldamage AC_TYPE_OFFENSIVE_IMMEDIATE 20, 875 range, 1s cooldown |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 1
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_manacost: 20
AUTOCAST_range: 875
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: false
AUTOCAST_targetType: 0
target_art: Abilities\Spells\Undead\Curse\CurseTarget.mdl
AUTOCAST_autoRange: 875
private function onAutocast takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,875) //Can set this at the start.
local Unit next //Used as next during the iterate and the unit to affect during the other loop.
local integer indexCounter = 0
local integer loopCounter = 3
local integer counter = 1
loop
set next=inRange.next()
exitwhen next==0
set resultArray[indexCounter] = next
set indexCounter = indexCounter+1
endloop
if(indexCounter > 0) then //Commented lines here are for setting the period to a low time when no creeps are around,
//remove them if you don't want this to happen. Also if these lines are used, the On Level
//Up code isn't needed.
loop
set loopCounter = loopCounter - 1
set next = resultArray[GetRandomInt(0,indexCounter-1)]
call tower.doSpellDamage(next,(200+lvl*12)*counter,tower.calcSpellCritNoBonus())
call SFXAtUnit("Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl",next.getUnit())
set counter = counter + 1
exitwhen loopCounter == 0
endloop
endif
endfunction
Header globals
Unit array resultArray //Instead of numResults, use a resultArray so you only have to iterate once.
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
|
Necromantic Statue v1
600
|
ID: 6
Family ID:
Author: Boekie
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 875
Attack CD: 1.6
Damage: 573-573
Mana: 30
Mana regen: 2
Status: Approved
|
Description: This statue is haunted by lost souls.
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 400 spelldamage, the second one suffers 800 spelldamage and the third one suffers 1200 spelldamage. Level Bonus: +24/48/72 spelldamage AC_TYPE_OFFENSIVE_IMMEDIATE 20, 875 range, 1s cooldown |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 1
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_manacost: 20
AUTOCAST_range: 875
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: false
AUTOCAST_targetType: 0
target_art: Abilities\Spells\Undead\Curse\CurseTarget.mdl
AUTOCAST_autoRange: 875
private function onAutocast takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,875) //Can set this at the start.
local Unit next //Used as next during the iterate and the unit to affect during the other loop.
local integer indexCounter = 0
local integer loopCounter = 3
local integer counter = 1
loop
set next=inRange.next()
exitwhen next==0
set resultArray[indexCounter] = next
set indexCounter = indexCounter+1
endloop
if(indexCounter > 0) then //Commented lines here are for setting the period to a low time when no creeps are around,
//remove them if you don't want this to happen. Also if these lines are used, the On Level
//Up code isn't needed.
loop
set loopCounter = loopCounter - 1
set next = resultArray[GetRandomInt(0,indexCounter-1)]
call tower.doSpellDamage(next,(400+lvl*24)*counter,tower.calcSpellCritNoBonus())
call SFXAtUnit("Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl",next.getUnit())
set counter = counter + 1
exitwhen loopCounter == 0
endloop
endif
endfunction
Header globals
Unit array resultArray //Instead of numResults, use a resultArray so you only have to iterate once.
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
|
Necromantic Shrine v1
1200
|
ID: 7
Family ID:
Author: Boekie
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 875
Attack CD: 1.6
Damage: 1146-1146
Mana: 30
Mana regen: 2
Status: Approved
|
Description: This shrine is haunted by lost souls.
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 800 spelldamage, the second one suffers 1600 spelldamage and the third one suffers 2400 spelldamage. Level Bonus: +48/96/192 spelldamage AC_TYPE_OFFENSIVE_IMMEDIATE 20, 875 range, 1s cooldown |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 1
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_manacost: 20
AUTOCAST_range: 875
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: false
AUTOCAST_targetType: 0
target_art: Abilities\Spells\Undead\Curse\CurseTarget.mdl
AUTOCAST_autoRange: 875
private function onAutocast takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,875) //Can set this at the start.
local Unit next //Used as next during the iterate and the unit to affect during the other loop.
local integer indexCounter = 0
local integer loopCounter = 3
local integer counter = 1
loop
set next=inRange.next()
exitwhen next==0
set resultArray[indexCounter] = next
set indexCounter = indexCounter+1
endloop
if(indexCounter > 0) then //Commented lines here are for setting the period to a low time when no creeps are around,
//remove them if you don't want this to happen. Also if these lines are used, the On Level
//Up code isn't needed.
loop
set loopCounter = loopCounter - 1
set next = resultArray[GetRandomInt(0,indexCounter-1)]
call tower.doSpellDamage(next,(800+lvl*48)*counter,tower.calcSpellCritNoBonus())
call SFXAtUnit("Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl",next.getUnit())
set counter = counter + 1
exitwhen loopCounter == 0
endloop
endif
endfunction
Header globals
Unit array resultArray //Instead of numResults, use a resultArray so you only have to iterate once.
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
|
Necromantic Monument v1
2600
|
ID: 8
Family ID:
Author: Boekie
Rarity: uncommon
Element: darkness
Attack Type: Decay
Attack Range: 875
Attack CD: 1.6
Damage: 2484-2484
Mana: 30
Mana regen: 2
Status: Approved
|
Description: This monument is haunted by lost souls.
Soul Revenge
Hits 3 random creeps in 875 range, the first one suffers 1700 spelldamage, the second one suffers 3400 spelldamage and the third one suffers 5100 spelldamage. Level Bonus: +100/200/300 spelldamage AC_TYPE_OFFENSIVE_IMMEDIATE 20, 875 range, 1s cooldown |
Download
Toggle Triggers Autocast
caster_art:
AUTOCAST_cooldown: 1
AUTOCAST_numBuffsBeforeIdle: 0
AUTOCAST_isExtended: false
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE
AUTOCAST_manacost: 20
AUTOCAST_range: 875
AUTOCAST_buffType: 0
AUTOCAST_targetSelf: false
AUTOCAST_targetType: 0
target_art: Abilities\Spells\Undead\Curse\CurseTarget.mdl
AUTOCAST_autoRange: 875
private function onAutocast takes Tower tower returns nothing
local integer lvl = tower.getLevel()
local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,875) //Can set this at the start.
local Unit next //Used as next during the iterate and the unit to affect during the other loop.
local integer indexCounter = 0
local integer loopCounter = 3
local integer counter = 1
loop
set next=inRange.next()
exitwhen next==0
set resultArray[indexCounter] = next
set indexCounter = indexCounter+1
endloop
if(indexCounter > 0) then //Commented lines here are for setting the period to a low time when no creeps are around,
//remove them if you don't want this to happen. Also if these lines are used, the On Level
//Up code isn't needed.
loop
set loopCounter = loopCounter - 1
set next = resultArray[GetRandomInt(0,indexCounter-1)]
call tower.doSpellDamage(next,(1700+lvl*100)*counter,tower.calcSpellCritNoBonus())
call SFXAtUnit("Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl",next.getUnit())
set counter = counter + 1
exitwhen loopCounter == 0
endloop
endif
endfunction
Header globals
Unit array resultArray //Instead of numResults, use a resultArray so you only have to iterate once.
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
|
Description: