Shadow v1
3330
|
ID: 266
Family ID:
Author: i_mOck_death
Rarity: unique
Element: darkness
Attack Type: Decay
Attack Range: 830
Attack CD: 1.6
Damage: 1023-8022
Status: Approved
|
Dark Orbs
Each attack has a 20% chance to spawn 3 orbs that travel outwards in all directions from Shadow. Orbs travel for 8 seconds, firing off dark rays at enemies within 450 range, which deal 15% of this tower's attack damage as spell damage per second. Level Bonus: +1 orb every 5 levels +0.6% damage per second
Soul Conversion
On kill a lesser orb is spawned where the creep died. Lesser orbs last for 3 seconds, firing off lesser dark rays at enemies within 450 range, which deal 9% of this tower's attack damage as spell damage per second. Level Bonus: +0.36% damage per second
Dark Shroud - Aura
Towers within 300 range have 10% of their damage output stolen by Shadow. This tower then deals that damage back at its original targets in the form of Decay damage. This damage cannot crit. Level Bonus: +0.5% damage dealt |
Download
Toggle Triggers Header globals
BuffType mOck_darkShroud
ProjectileType mOck_darkOrb
ProjectileType mOck_lesserDarkOrb
endglobals
function darkS takes Buff b returns nothing
local Tower tower = b.getCaster()
local Unit target = Event.getTarget()
local real dmg = Event.damage*(.1+.005*tower.getLevel())
set Event.damage = Event.damage*.9
call tower.doCustomAttackDamage(target, dmg, 1, AttackType.DECAY)
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 mOck_darkShroud = BuffType.createAuraEffectType(true)
call mOck_darkShroud.setBuffIcon('@@1@@')
call mOck_darkShroud.addEventOnDamage(darkS,1.0, 0.0)
set mOck_darkOrb = ProjectileType.create("Abilities\\Spells\\Items\\OrbDarkness\\OrbDarkness.mdl",8,200)
set mOck_lesserDarkOrb = ProjectileType.create("Abilities\\Spells\\Items\\OrbDarkness\\OrbDarkness.mdl",3,0)
endfunction
On Attack
ONATTACK_chance: .2
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local integer level = tower.getLevel()
local integer numProjectiles = 3 + level/5
local integer i = numProjectiles
local Projectile p
local real face = GetUnitFacing(tower.getUnit())
local real x = tower.getX()
local real y = tower.getY()
loop
set i = i - 1
set p = Projectile.create(mOck_darkOrb,tower,tower.getCurrentAttackDamageWithBonus()*(.05+level*0.002),tower.calcSpellCritNoBonus(),x,y,80.0,face+i*360.0/numProjectiles)
call p.setScale(1.75)
call p.addAbility('@@0@@')
exitwhen i < 1
endloop
endfunction
On Kill function onKill takes Tower tower returns nothing
local integer level = tower.getLevel()
local Projectile p
local Creep creep = Event.getTarget()
local real x = creep.getX()
local real y = creep.getY()
set p = Projectile.create(mOck_lesserDarkOrb,tower,tower.getCurrentAttackDamageWithBonus()*(.03+level*0.0012),tower.calcSpellCritNoBonus(),x,y,80.0,0)
call p.setScale(1.25)
call p.addAbility('@@0@@')
endfunction
Tower Aura
AURA_auraEffect: mOck_darkShroud
AURA_power: 0
AURA_level: 0
AURA_auraRange: 300
AURA_targetType: TARGET_TYPE_TOWERS
AURA_levelAdd: 1
AURA_powerAdd: 1
AURA_targetSelf: true
|
Description: