Initiate Elementalist v1
150
|
ID: 59
Family ID:
Author: Kel-Thuzad
Rarity: uncommon
Element: astral
Attack Type: Magic
Attack Range: 900
Attack CD: 2
Damage: 25-25
Status: Approved
|
Elemental Chaos
Elementalist casts one of the following spells on attack: Fire Blast: 66% chance, 200 AoE, 190 damage Frost Nova: 33% chance, 250 AoE, 125 damage, 10% slow for 3 seconds Level Bonus: +7.6 damage (Fire Blast) +5 damage (Frost Nova) |
Download
Toggle Triggers Header globals
//@export
BuffType KelSlow
endglobals
//The init function
private function init takes nothing returns nothing
local Modifier slow=Modifier.create()
call slow.addModification(MOD_MOVESPEED,0,-0.001)
set KelSlow=BuffType.create(0,0,false) // apply custom timed
call KelSlow.setBuffIcon('@@0@@')
call KelSlow.setBuffModifier(slow)
endfunction
On Attack
ONATTACK_chance: 1.0
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local integer randomSpellID=GetRandomInt(1,3)
local Creep c = Event.getTarget()
local Unit u
local Iterate it
if randomSpellID<3 then
call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,200,190+tower.getLevel()*7.6,tower.calcSpellCritNoBonus(),0)
else
set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,250)
loop
set u = it.next()
exitwhen u == 0
call KelSlow.applyCustomTimed(tower,u,100,3)
endloop
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,250,125+tower.getLevel()*5,tower.calcSpellCritNoBonus(),0)
endif
endfunction
|
Adept Elementalist v1
500
|
ID: 62
Family ID:
Author: Kel-Thuzad
Rarity: uncommon
Element: astral
Attack Type: Magic
Attack Range: 900
Attack CD: 2
Damage: 83-83
Status: Approved
|
Description: Little more experienced mage of elements.
Elemental Chaos
Elementalist casts one of the following spells on attack: Fire Blast: 40% chance, 250 AoE, 500 damage Frost Nova: 20% chance, 250 AoE, 250 damage, 12% slow for 3 seconds Aftershock: 40% chance, 750 damage, 0.5 seconds stun Level Bonus: +10 damage (Fire Blast) +8 damage (Frost Nova) +0.01 seconds stun (Aftershock) |
Download
Toggle Triggers Header globals
//@import
BuffType KelSlow
endglobals
//The init function
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 randomSpellID=GetRandomInt(1,5)
local Creep c = Event.getTarget()
local Unit u
local Iterate it
if randomSpellID<3 then
call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,250,500+tower.getLevel()*10,tower.calcSpellCritNoBonus(),0)
elseif randomSpellID<5 then
call SFXAtUnit("Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl",c.getUnit())
call cb_stun.applyOnlyTimed(tower,c,0.5+tower.getLevel()*0.01)
call tower.doSpellDamage(c,750,tower.calcSpellCritNoBonus())
else
set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,250)
loop
set u = it.next() //Get the next unit
exitwhen u == 0 //Stop when there are no more units
call KelSlow.applyCustomTimed(tower,u,120,3)
endloop
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,250,50+tower.getLevel()*8,tower.calcSpellCritNoBonus(),0)
endif
endfunction
|
Master Elementalist v1
1250
|
ID: 61
Family ID:
Author: Kel-Thuzad
Rarity: uncommon
Element: astral
Attack Type: Magic
Attack Range: 900
Attack CD: 2
Damage: 209-209
Status: Approved
|
Description: Really experienced mage of elements.
Elemental Chaos
Elementalist casts one of the following spells on attack: Fire Blast: 30% chance, 250 AoE, 1650 damage Frost Nova: 20% chance, 250 AoE, 800 damage, 14% slow for 4 seconds Aftershock: 30% chance, 2000 damage, 0.5 seconds stun Lightning Burst: 20% chance, 1650 damage, affects 5 random targets in 900 range Level Bonus: +18 damage (Fire Blast) +10 damage (Frost Nova) +0.01 seconds stun (Aftershock) +30 damage (Lightning Burst) |
Download
Toggle Triggers Header globals
//@import
BuffType KelSlow
endglobals
//The init function
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 randomSpellID=GetRandomInt(1,10)
local Creep c = Event.getTarget()
local Unit u
local integer count = 0
local Iterate it
if randomSpellID<4 then
call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,250,1650+tower.getLevel()*18,tower.calcSpellCritNoBonus(),0)
elseif randomSpellID<7 then
call SFXAtUnit("Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl",c.getUnit())
call cb_stun.applyOnlyTimed(tower, c, 0.5+tower.getLevel()*0.01 )
call tower.doSpellDamageAoEUnit(c,10,2000,tower.calcSpellCritNoBonus(),0)
elseif randomSpellID<9 then
set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,250)
loop
set u = it.next() //Get the next unit
exitwhen u == 0 //Stop when there are no more units
call KelSlow.applyCustomTimed(tower,u,140,4)
endloop
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit())
call tower.doSpellDamageAoEUnit(c,250,800+tower.getLevel()*10,tower.calcSpellCritNoBonus(),0)
else
set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
loop
set u = it.next()
set count = count + 1
exitwhen count == 6 or u == 0
call SFXAtUnit("Abilities\\Weapons\\Bolt\\BoltImpact.mdl",u.getUnit())
call tower.doSpellDamage(u,1650+(tower.getLevel()*30),tower.calcSpellCritNoBonus())
call Lightning.createFromUnitToUnit("CLPB", tower, u).setLifetime(0.15)
endloop
if u != 0 then
call it.destroy()
endif
endif
endfunction
|
Divine Elementalist v1
2500
|
ID: 60
Family ID:
Author: Kel-Thuzad
Rarity: uncommon
Element: astral
Attack Type: Magic
Attack Range: 900
Attack CD: 2
Damage: 417-417
Status: Approved
|
Description: Let all who live in the world stand in awe of him.
Elemental Fury
Consecutive casts of the same spell will deal 50% more damage. Level Bonus: +1% damage
Elemental Chaos
Elementalist casts one of the following spells on attack: Fire Blast: 30% chance, 300 AoE, 3000 damage Frost Nova: 20% chance, 300 AoE, 2000 damage, 15% slow for 4 seconds Aftershock: 30% chance, 6000 damage, 0.7 seconds stun Lightning Burst: 20% chance, 3000 damage, affects 6 random targets in 900 range Level Bonus: +60 damage (Fire Blast) +80 damage (Frost Nova) +0.02 seconds stun (Aftershock) +60 damage (Lightning Burst) |
Download
Toggle Triggers Header globals
//@import
BuffType KelSlow
endglobals
//The init function
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 randomSpellID=GetRandomInt(1,10) //RandomSpell
local Creep c = Event.getTarget()
local Unit u
local integer count = 0 //counter for lightnings
local Iterate it
if randomSpellID<4 then //FireBlast
if tower.userInt2 == 1 then
set tower.userInt = tower.userInt + 1
else
set tower.userInt = 1
set tower.userInt2 = 1
endif
call SFXAtUnit("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",c.getUnit()) //BANG!!
call tower.doSpellDamageAoEUnit(c,300,(3000+tower.getLevel()*60)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus(),0)
elseif randomSpellID<7 then //Aftershock
if tower.userInt2 == 2 then
set tower.userInt = tower.userInt + 1
else
set tower.userInt = 1
set tower.userInt2 = 2
endif
call SFXAtUnit("Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl",c.getUnit()) //just a pretty SFX
call cb_stun.applyOnlyTimed(tower,c,0.7+tower.getLevel()*0.02 )
call tower.doSpellDamage(c,6000*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus())
elseif randomSpellID<9 then //FrostNova
if tower.userInt2 == 3 then
set tower.userInt = tower.userInt + 1
else
set tower.userInt = 1
set tower.userInt2 = 3
endif
set it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_CREEPS,c,300)
loop //slow
set u = it.next()
exitwhen u == 0
call KelSlow.applyCustomTimed(tower,u,150,4) //slow
endloop
call SFXAtUnit("Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl",c.getUnit()) //sfx
call SFXAtUnit("Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathMissile.mdl",c.getUnit()) //sfx
call tower.doSpellDamageAoEUnit(c,300,(2000+tower.getLevel()*80)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus(),0)
else //Lightning Burst
if tower.userInt2 == 4 then
set tower.userInt = tower.userInt + 1
else
set tower.userInt = 1
set tower.userInt2 = 4
endif
set it = Iterate.overUnitsInRangeOfCaster(tower,TARGET_CREEPS,900)
loop //SFX+lightnings
set u = it.next()
set count = count+1
exitwhen count == 7 or u == 0 //"count" is number of lightnings to create
call SFXAtUnit("Abilities\\Weapons\\Bolt\\BoltImpact.mdl",u.getUnit()) //SFX+sound on unit
call tower.doSpellDamage(u,(3000+tower.getLevel()*60)*(1+((0.5+tower.getLevel()*0.01)*(tower.userInt-1))),tower.calcSpellCritNoBonus()) //damage
call Lightning.createFromUnitToUnit("CLPB", tower, u).setLifetime(0.15) //lightning itself
endloop
if u != 0 then
call it.destroy()
endif
endif
endfunction
On Tower Creation function onCreate takes Tower tower returns nothing
set tower.userInt=0 //Stores how many consecutive times last spell was cast
set tower.userInt2=0 //Stores which spell was last cast
endfunction
|
Description: