Young Northern Troll v1
900
|
ID: 249
Family ID:
Author: DaveMatthews
Rarity: rare
Element: ice
Attack Type: Elemental
Attack Range: 800
Attack CD: 2
Damage: 1933-1933
Abil. Factor: 0.85
Status: Approved
|
Specials:
+10% dmg to orcs (+0.2%/lvl) +10% dmg to humanoids (+0.2%/lvl)
Ice Smashing Axe
On attack this tower has a 15% chance to throw a giant axe. The axe shatters all the buffs from its target and deals 20% of the tower's attack damage as elemental damage for each buff purged. If more than 5 buffs are removed the enemy is also stunned for 1.5 seconds (0.75 on bosses). The axe is so heavy that its wielder's attack speed is slowed by 30% for 3 seconds after throwing it. Level Bonus: +0.4% damage per buff -0.4% attack speed reduction
Ice Coated Axes
This tower deals 0.6% bonus damage for every 1% movement speed the target is missing. Level Bonus: +0.02% damage |
Download
Toggle Triggers Header globals
//@export
BuffType dave_fatigue
//@export
ProjectileType dave_axe
endglobals
function axeHit takes Projectile p, Unit creep returns nothing
local Tower tower = p.getCaster()
local integer level= tower.getLevel()
local integer buffs = 0
local real damage = tower.getCurrentAttackDamageWithBonus()
loop
exitwhen not (creep.purgeBuff(true) or creep.purgeBuff(false))
set buffs = buffs + 1
endloop
if buffs != 0 then
call tower.doAttackDamage(creep,damage*(p.userReal*buffs),tower.calcAttackMulticrit(0,0,0))
if buffs > 5 then
if creep.getSize() != SIZE_BOSS then
call cb_stun.applyOnlyTimed(tower,creep,1.5)
else
call cb_stun.applyOnlyTimed(tower,creep,0.75)
endif
endif
endif
call SFXAtUnit("Abilities\\Weapons\\FrostWyrmMissile\\FrostWyrmMissile.mdl",creep.getUnit())
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 dave_fatigue = BuffType.create(3.0,0.0,false)
call dave_fatigue.setBuffModifier(m)
call dave_fatigue.setBuffIcon( '@@0@@' )
call m.addModification(MOD_ATTACKSPEED,-0.3,0.004)
set dave_axe = ProjectileType.create("Abilities\\Weapons\\RexxarMissile\\RexxarMissile.mdl",4,900)
call dave_axe.setEventOnInterpolationFinished(ProjectileTargetEvent.axeHit)
endfunction
On Attack
ONATTACK_chance: 0.15
ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
local Projectile p
local Unit creep = Event.getTarget()
local integer level = tower.getLevel()
set p = Projectile.createLinearInterpolationFromUnitToUnit(dave_axe, tower,1,1, tower, creep, 0.2, true)
set p.userReal = 0.2+0.004*level
call p.setScale(1.5)
call dave_fatigue.apply(tower,tower,level)
endfunction
On Damage
ONDAMAGE_chance: 1.0
ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
local Creep creep = Event.getTarget()
local integer level= tower.getLevel()
local real speed = creep.getBaseMovespeed()
local real currentSpeed = creep.getCurrentMovespeed()
local real slow
local real damage
if currentSpeed < speed then
set slow = (speed - currentSpeed) / speed
set damage = Event.damage*slow*(0.6+0.02*level)
set Event.damage = Event.damage+damage
call tower.getOwner().displaySmallFloatingText("+"+I2S(R2I(damage)),creep,100,100,255,0)
endif
endfunction
|
Description:
Latest Upload Comment: