Fiery Dog v1
70
ID:
70
Family ID:
Author:
cedi
Rarity:
uncommon
Element:
fire
Attack Type:
Decay
Attack Range:
800
Attack CD:
1.2
Damage:
78-86
Abil. Factor:
0.90
Status:
Approved

Description:

The hounds of war are howling again.

Latest Upload Comment:

Restored from 1.10
Roar
Whenever this tower damages a unit it has 30% chance to release a battle cry. The cry increases the attack damage of all towers in 420 range by 5% for 5 seconds. If a tower has allready the roar buff the attack damage is increased by 0.3% and the duration is refreshed. Stacks up to 100 times.

Level Bonus:
+0.3% attack damage
Download

Toggle Triggers

Header

    globals
        //@export
        BuffType cedi_helldog
    endglobals
    
    //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 mod = Modifier.create()
        call mod.addModification( MOD_DAMAGE_ADD_PERC, 0.05, 0.0005 ) //*6 was 0.003 before
        
        set cedi_helldog = BuffType.create( 5.0, 0.0, true )
        call cedi_helldog.setBuffIcon( '@@0@@' )
        call cedi_helldog.setBuffModifier( mod )
    endfunction

On Damage

ONDAMAGE_chance: 0.3 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    local Iterate I = Iterate.overUnitsInRangeOfCaster( tower, TARGET_TYPE_TOWERS, 420.0 )
    local Unit U 
    local Buff B
    call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl", tower.getUnit(), "origin" ) )
    loop
        set U = I.next()
        exitwhen U == 0
        set B = U.getBuffOfType( cedi_helldog )
        if B != 0 then
            if B.userInt < 100 then
                call cedi_helldog.apply( tower, U, B.getLevel() + 6 )
                set B.userInt = B.userInt + 1
            else
                call B.refreshDuration()
            endif
        else
            set B = cedi_helldog.apply( tower, U, tower.getLevel() * 6 )
            set B.userInt = 0
        endif
    endloop
endfunction