The Conduit v1
4000
|
ID: 399
Family ID:
Author: Ashbringer
Rarity: unique
Element: storm
Attack Type: Magic
Attack Range: 1200
Attack CD: 2
Damage: 1-1
Abil. Factor: 0.0
Status: Approved
|
Specials:
5% spell crit chance (+0.5%/lvl) x1.5 spell crit damage (+x0.05/lvl)
Unleash
Unleashes built up energy, dealing [400 x wave] spell damage to a single enemy and increasing the spell crit damage of nearby towers within 350 range by x0.75 for 5 seconds. Level Bonus: +8 spell damage per wave +x0.03 spell crit damage
Conduit
Attack speed, trigger chances, spell damage, spell crit chance and spell crit damage bonuses on this tower are applied to Common and Uncommon Storm towers in 350 range at a rate of 50%. Level Bonus: +2% stats |
Download
Toggle Triggers Autocast
AUTOCAST_cooldown: 0.50
AUTOCAST_autoRange: 1200.00
AUTOCAST_manacost: 400
AUTOCAST_range: 1200.00
AUTOCAST_targetType: TARGET_TYPE_CREEPS
AUTOCAST_numBuffsBeforeIdle: 1
caster_art:
target_art:
AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_BUFF
AUTOCAST_buffType: 0
AUTOCAST_isExtended: false
AUTOCAST_targetSelf: false
private function onAutocast takes Tower tower returns nothing
local Iterate it = Iterate.overUnitsInRangeOfUnit(tower,TARGET_TOWERS,tower,350)
local Unit next
local real cast_damage = (400 + (tower.getLevel() * 8)) * tower.getOwner().getTeam().getLevel()
loop
set next = it.next()
call ashbringer_unleash_buff.apply(tower,next,tower.getLevel())
exitwhen next == 0
endloop
call ashbringer_unleash_cast.targetCastFromCaster(tower,Event.getTarget(),1.0+tower.getLevel()*0.02,tower.calcSpellCritNoBonus())
call tower.doSpellDamage(Event.getTarget(), cast_damage, tower.calcSpellCritNoBonus())
endfunction
Header globals
BuffType ashbringer_conduit_aura
Cast ashbringer_unleash_cast
BuffType ashbringer_unleash_buff
endglobals
function ashbringer_conduit_update takes Buff b returns nothing
local Tower tower = b.getBuffedUnit()
local Tower caster = b.getCaster()
local real tower_level = caster.getLevel()
local real caster_level_factor = 0.5 + (tower_level * 0.02)
call tower.modifyProperty(MOD_SPELL_DAMAGE_DEALT, -b.userReal)
call tower.modifyProperty(MOD_SPELL_CRIT_CHANCE, -b.userReal2)
call tower.modifyProperty(MOD_SPELL_CRIT_DAMAGE, -b.userReal3)
call tower.modifyProperty(MOD_ATTACKSPEED, -(b.userInt/1000.0))
call tower.modifyProperty(MOD_TRIGGER_CHANCES, -(b.userInt2/1000.0))
set b.userReal = (caster.getProp_SpellDmgDealt() - 1.0)*caster_level_factor
set b.userReal2 = (caster.getProp_SpellCritChance() - (0.05 + (tower_level * 0.005)))*caster_level_factor
set b.userReal3 = (caster.getProp_SpellCritDamage() - (1.5 + (tower_level * 0.05)))*caster_level_factor
set b.userInt = R2I((caster.getProp_Attackspeed() - (0.00 + (tower_level * 0.012)))*caster_level_factor*1000.0)
set b.userInt2 = R2I((caster.getProp_TriggerChances()- 1.0)*caster_level_factor*1000.0)
call tower.modifyProperty(MOD_SPELL_DAMAGE_DEALT, b.userReal)
call tower.modifyProperty(MOD_SPELL_CRIT_CHANCE, b.userReal2)
call tower.modifyProperty(MOD_SPELL_CRIT_DAMAGE, b.userReal3)
call tower.modifyProperty(MOD_ATTACKSPEED, (b.userInt/1000.0))
call tower.modifyProperty(MOD_TRIGGER_CHANCES, (b.userInt2/1000.0))
endfunction
function ashbringer_conduit_create takes Buff b returns nothing
set b.userReal = 0
set b.userReal2 = 0
set b.userReal3 = 0
set b.userInt = 0
set b.userInt2 = 0
call ashbringer_conduit_update(b)
endfunction
function ashbringer_conduit_cleanup takes Buff b returns nothing
local Tower tower = b.getBuffedUnit()
call tower.modifyProperty(MOD_SPELL_DAMAGE_DEALT, -b.userReal)
call tower.modifyProperty(MOD_SPELL_CRIT_CHANCE, -b.userReal2)
call tower.modifyProperty(MOD_SPELL_CRIT_DAMAGE, -b.userReal3)
call tower.modifyProperty(MOD_ATTACKSPEED, -b.userInt/1000.0)
call tower.modifyProperty(MOD_TRIGGER_CHANCES, -b.userInt2/1000.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
local Modifier m = Modifier.create()
set ashbringer_conduit_aura = BuffType.createAuraEffectType(true)
set ashbringer_unleash_cast = Cast.create('@@1@@',"chainlightning",1.0)
set ashbringer_unleash_buff=BuffType.create(3,0,false)
call ashbringer_conduit_aura.setBuffIcon('@@2@@')
call ashbringer_conduit_aura.addEventOnCreate(ashbringer_conduit_create)
call ashbringer_conduit_aura.addEventOnCleanup(ashbringer_conduit_cleanup)
call ashbringer_conduit_aura.addPeriodicEvent(ashbringer_conduit_update, 5)
call m.addModification(MOD_SPELL_CRIT_DAMAGE, 0.75, 0.03)
call ashbringer_unleash_buff.setBuffIcon('@@3@@')
call ashbringer_unleash_buff.setBuffModifier(m)
call ashbringer_unleash_cast.setSourceHeight(220.0)
endfunction
On Damage
ONDAMAGE_chance: 0.1
ONDAMAGE_chanceLevelAdd: 0.002
function onDamage takes Tower tower returns nothing
local real mana = 50.0 + (1.0 * tower.getLevel())
set Event.damage = 0
call tower.addMana(mana)
call Event.getTarget().subtractMana(mana, true)
call Lightning.createFromUnitToPoint("BLUE", Event.getTarget(), tower.getX(), tower.getY(), 180.00).setLifetime(0.5)
endfunction
Tower Aura
AURA_powerAdd: 0
AURA_auraEffect: ashbringer_conduit_aura
AURA_levelAdd: 0
AURA_power: 1
AURA_targetType: TARGET_TYPE_TOWERS + TARGET_TYPE_ELEMENT_STORM + TARGET_TYPE_RARITY_UNCOMMON + TARGET_TYPE_RARITY_COMMON
AURA_targetSelf: false
AURA_level: 1
AURA_auraRange: 350
|
Description:
Latest Upload Comment: