Firestorm Cell v1
200
|
ID: 421
Family ID:
Author: Ashbringer
Rarity: uncommon
Element: fire
Attack Type: Magic
Attack Range: 900
Attack CD: 1.3
Damage: 106-106
Status: Approved
|
Firestorm
Attacks have a 12% chance to apply 3 charges of Firestorm to the target. Each second, a charge will be spent, dealing 100 spell damage to enemies in 300 range. If the target already has charges, the charges will accumulate and a charge will be consumed instantly. On death all remaining firestorm charges get consumed at once. Level Bonus: +0.4% chance +3 damage |
Download
Toggle Triggers Header globals
BuffType ashbringer_firestorm_buff
endglobals
function ashbringer_firestorm_damage takes Tower tower, Unit creep returns nothing
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.4).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, 100 + (3 * tower.getLevel()), tower.calcSpellCritNoBonus(), 0.0)
endfunction
function ashbringer_firestorm_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = b.getBuffedUnit()
set b.userInt = b.userInt - 1
if b.userInt <= 0 then
call b.removeBuff() //need to do it in this order, because the damage can kill the buff carrier, and removing buff after the carrier is dead causes double free
endif
call ashbringer_firestorm_damage(tower, target)
endfunction
function ashbringer_firestorm_setint takes Buff b returns nothing
set b.userInt = b.getPower()
endfunction
function firestorm takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep creep = b.getBuffedUnit()
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.6).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, b.getPower()* (100 + (3 * tower.getLevel())), tower.calcSpellCritNoBonus(), 0.0)
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
set ashbringer_firestorm_buff = BuffType.create(1000,0,false)
call ashbringer_firestorm_buff.setBuffIcon('@@0@@')
call ashbringer_firestorm_buff.addEventOnCreate(EventHandler.ashbringer_firestorm_setint)
call ashbringer_firestorm_buff.addPeriodicEvent(EventHandler.ashbringer_firestorm_periodic,1)
call ashbringer_firestorm_buff.addEventOnDeath(EventHandler.firestorm)
endfunction
On Attack
ONATTACK_chance: 0.12
ONATTACK_chanceLevelAdd: 0.004
function onAttack takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local Buff b
local integer i
set b = creep.getBuffOfType(ashbringer_firestorm_buff)
if ( b != 0 ) then
call ashbringer_firestorm_damage(tower, creep)
set i = b.getPower() + 2
call b.setPower(i)
set b.userInt = i
else
set i = 3
call ashbringer_firestorm_buff.applyCustomPower(tower, creep, i, i)
endif
endfunction
|
Firestorm Core v1
600
|
ID: 424
Family ID:
Author: Ashbringer
Rarity: uncommon
Element: fire
Attack Type: Magic
Attack Range: 900
Attack CD: 1.3
Damage: 319-319
Status: Approved
|
Description: A device created to unleash fiery explosions.
Firestorm
Attacks have a 16% chance to apply 3 charges of Firestorm to the target. Each second, a charge will be spent, dealing 300 spell damage to enemies in 300 range. If the target already has charges, the charges will accumulate and a charge will be consumed instantly. On death all remaining firestorm charges get consumed at once. Level Bonus: +0.5% chance +10 damage |
Download
Toggle Triggers Header globals
BuffType ashbringer_firestorm_buff
endglobals
function ashbringer_firestorm_damage takes Tower tower, Unit creep returns nothing
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.4).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, 300 + (10 * tower.getLevel()), tower.calcSpellCritNoBonus(), 0.0)
endfunction
function ashbringer_firestorm_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = b.getBuffedUnit()
set b.userInt = b.userInt - 1
if b.userInt <= 0 then
call b.removeBuff() //need to do it in this order, because the damage can kill the buff carrier, and removing buff after the carrier is dead causes double free
endif
call ashbringer_firestorm_damage(tower, target)
endfunction
function ashbringer_firestorm_setint takes Buff b returns nothing
set b.userInt = b.getPower()
endfunction
function firestorm takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep creep = b.getBuffedUnit()
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.8).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, b.getPower()* (300 + (10 * tower.getLevel())), tower.calcSpellCritNoBonus(), 0.0)
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
set ashbringer_firestorm_buff = BuffType.create(1000,0,false)
call ashbringer_firestorm_buff.setBuffIcon('@@0@@')
call ashbringer_firestorm_buff.addEventOnCreate(EventHandler.ashbringer_firestorm_setint)
call ashbringer_firestorm_buff.addPeriodicEvent(EventHandler.ashbringer_firestorm_periodic,1)
call ashbringer_firestorm_buff.addEventOnDeath(EventHandler.firestorm)
endfunction
On Attack
ONATTACK_chance: 0.16
ONATTACK_chanceLevelAdd: 0.005
function onAttack takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local Buff b
local integer i
set b = creep.getBuffOfType(ashbringer_firestorm_buff)
if ( b != 0 ) then
call ashbringer_firestorm_damage(tower, creep)
set i = b.getPower() + 2
call b.setPower(i)
set b.userInt = i
else
set i = 3
call ashbringer_firestorm_buff.applyCustomPower(tower, creep, i, i)
endif
endfunction
|
Firestorm Generator v1
1600
|
ID: 422
Family ID:
Author: Ashbringer
Rarity: uncommon
Element: fire
Attack Type: Magic
Attack Range: 900
Attack CD: 1.3
Damage: 850-850
Status: Approved
|
Description: A device created to unleash fiery explosions.
Firestorm
Attacks have a 20% chance to apply 3 charges of Firestorm to the target. Each second, a charge will be spent, dealing 800 spell damage to enemies in 300 range. If the target already has charges, the charges will accumulate and a charge will be consumed instantly. On death all remaining firestorm charges get consumed at once. Level Bonus: +0.6% chance +35 damage |
Download
Toggle Triggers Header globals
BuffType ashbringer_firestorm_buff
endglobals
function ashbringer_firestorm_damage takes Tower tower, Unit creep returns nothing
call tower.doSpellDamageAoEUnit(creep, 300, 800 + (35 * tower.getLevel()), tower.calcSpellCritNoBonus(), 0.0)
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.4).destroy()
endfunction
function ashbringer_firestorm_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = b.getBuffedUnit()
set b.userInt = b.userInt - 1
if b.userInt <= 0 then
call b.removeBuff() //need to do it in this order, because the damage can kill the buff carrier, and removing buff after the carrier is dead causes double free
endif
call ashbringer_firestorm_damage(tower, target)
endfunction
function ashbringer_firestorm_setint takes Buff b returns nothing
set b.userInt = b.getPower()
endfunction
function firestorm takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep creep = b.getBuffedUnit()
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 1.0).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, b.getPower()* (800 + (35 * tower.getLevel())), tower.calcSpellCritNoBonus(), 0.0)
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
set ashbringer_firestorm_buff = BuffType.create(1000,0,false)
call ashbringer_firestorm_buff.setBuffIcon('@@0@@')
call ashbringer_firestorm_buff.addEventOnCreate(EventHandler.ashbringer_firestorm_setint)
call ashbringer_firestorm_buff.addPeriodicEvent(EventHandler.ashbringer_firestorm_periodic,1)
call ashbringer_firestorm_buff.addEventOnDeath(EventHandler.firestorm)
endfunction
On Attack
ONATTACK_chance: 0.2
ONATTACK_chanceLevelAdd: 0.006
function onAttack takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local Buff b
local integer i
set b = creep.getBuffOfType(ashbringer_firestorm_buff)
if ( b != 0 ) then
call ashbringer_firestorm_damage(tower, creep)
set i = b.getPower() + 2
call b.setPower(i)
set b.userInt = i
else
set i = 3
call ashbringer_firestorm_buff.applyCustomPower(tower, creep, i, i)
endif
endfunction
|
Firestorm Reactor v1
2800
|
ID: 423
Family ID:
Author: Ashbringer
Rarity: uncommon
Element: fire
Attack Type: Magic
Attack Range: 900
Attack CD: 1.3
Damage: 1487-1487
Status: Approved
|
Description: A device created to unleash fiery explosions.
Firestorm
Attacks have a 24% chance to apply 3 charges of Firestorm to the target. Each second, a charge will be spent, dealing 1400 spell damage to enemies in 300 range. If the target already has charges, the charges will accumulate and a charge will be consumed instantly. On death all remaining firestorm charges get consumed at once. Level Bonus: +0.7% chance +65 damage |
Download
Toggle Triggers Header globals
BuffType ashbringer_firestorm_buff
endglobals
function ashbringer_firestorm_damage takes Tower tower, Unit creep returns nothing
call tower.doSpellDamageAoEUnit(creep, 300, 1400 + (65 * tower.getLevel()), tower.calcSpellCritNoBonus(), 0.0)
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 0.4).destroy()
endfunction
function ashbringer_firestorm_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = b.getBuffedUnit()
set b.userInt = b.userInt - 1
if b.userInt <= 0 then
call b.removeBuff() //need to do it in this order, because the damage can kill the buff carrier, and removing buff after the carrier is dead causes double free
endif
call ashbringer_firestorm_damage(tower, target)
endfunction
function ashbringer_firestorm_setint takes Buff b returns nothing
set b.userInt = b.getPower()
endfunction
function firestorm takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep creep = b.getBuffedUnit()
call Effect.createScaled("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl", creep.getX(), creep.getY(), 0, 0, 1.2).destroy()
call tower.doSpellDamageAoEUnit(creep, 300, b.getPower()* (1400 + (65 * tower.getLevel())), tower.calcSpellCritNoBonus(), 0.0)
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
set ashbringer_firestorm_buff = BuffType.create(1000,0,false)
call ashbringer_firestorm_buff.setBuffIcon('@@0@@')
call ashbringer_firestorm_buff.addEventOnCreate(EventHandler.ashbringer_firestorm_setint)
call ashbringer_firestorm_buff.addPeriodicEvent(EventHandler.ashbringer_firestorm_periodic,1)
call ashbringer_firestorm_buff.addEventOnDeath(EventHandler.firestorm)
endfunction
On Attack
ONATTACK_chance: 0.24
ONATTACK_chanceLevelAdd: 0.007
function onAttack takes Tower tower returns nothing
local Unit creep = Event.getTarget()
local Buff b
local integer i
set b = creep.getBuffOfType(ashbringer_firestorm_buff)
if ( b != 0 ) then
call ashbringer_firestorm_damage(tower, creep)
set i = b.getPower() + 2
call b.setPower(i)
set b.userInt = i
else
set i = 3
call ashbringer_firestorm_buff.applyCustomPower(tower, creep, i, i)
endif
endfunction
|
Description: