Array
(
[scriptVersion] => 8
[oeValues] => Array
(
[Ubertip] => Leave nothing but ashes in your wake.
[Art] => ReplaceableTextures\CommandButtons\BTNOrbOfFire.blp
[abilList] => Array
(
)
[Name] => Orb of Ash
)
[settings] => Array
(
[balanceTip] => |n|cffFFFF80Specials:|r|n|cffFFFF00+50% |rdamage
[goldcost] => 2500
[author] => Ashbringer
[authorDisplay] => |cffFF6600Ashbringer|r
[version] => 1.0
[rarity] => unique
)
[dmgTable] => Array
(
[0] => Array
(
[id] => MOD_DAMAGE_ADD_PERC
[base] => 0.5
[add] => 0
)
)
[triggers] => Array
(
[0] => Array
(
[name] => Header
[code] => globals
BuffType ashbringer_orbofash
endglobals
function ashbringer_orbofash_periodic takes Buff b returns nothing
local Tower tower = b.getCaster()
local Creep target = b.getBuffedUnit()
local real base_damage
local real damage
if b.userInt > 0 and b.userReal > 0 then
set base_damage = (b.userReal / b.userInt)
set damage = base_damage / target.getCurrentArmorDamageReduction()
if damage < base_damage then
set damage = base_damage
endif
set b.userInt = b.userInt - 1
set b.userReal = b.userReal - damage
if b.userInt == 0 then
call b.removeBuff()
endif
call tower.doCustomAttackDamage(target, damage, 1.0, AttackType.ELEMENTAL)
else
call b.removeBuff()
endif
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_orbofash = BuffType.create(-1, 0.0, false)
call ashbringer_orbofash.setBuffIcon('@@0@@')
call ashbringer_orbofash.addPeriodicEvent(ashbringer_orbofash_periodic, 1.0)
endfunction
[values] => Array
(
[explain] =>
[visible] => false
[goldcost] => 0
[name] =>
)
)
[1] => Array
(
[name] => On Damage
[code] => local Tower tower = itm.getCarrier()
local Creep target = Event.getTarget()
local Buff b = target.getBuffOfType(ashbringer_orbofash)
local real damage = tower.getCurrentAttackDamageWithBonus() * Event.getCriticalMultiplier() * 0.5
if b != 0 then
set b.userReal = b.userReal + damage
set b.userInt = 10
else
set b = ashbringer_orbofash.apply(tower, target, 1)
set b.userReal = damage
set b.userInt = 10
endif
[values] => Array
(
[explain] => Attacks deal an additional |cffFFFF8050%|r of damage dealt as additional |cffFF8000Elemental|r damage over |cffFFFF8010|r seconds. This damage can accumulate and ignores armor, but cannot crit.
[ONDAMAGE_chance] => 1.0
[visible] => true
[goldcost] => 712
[name] => Wake of Ash
[ONDAMAGE_chanceLevelAdd] => 0.0
)
)
)
[abilities] => Array
(
)
[buffs] => Array
(
[0] => Array
(
[id] => @@0@@
[derivedFrom] => Binf
[oeValues] => Array
(
[Targetattach] => chest
[Buffubertip] => Taking |cffFF8000Elemental|r damage over time.
[TargetArt] => Abilities\Spells\Other\ImmolationRed\ImmolationRedDamage.mdl
[Bufftip] => Orb of Ash
[Buffart] => ReplaceableTextures\CommandButtons\BTNOrbOfFire.blp
)
)
)
[units] => Array
(
)
[references] => Array
(
)
)