Wild Kodo Beast v1
2700
ID:
170
Family ID:
Author:
SirCoqaLot.
Rarity:
unique
Element:
nature
Attack Type:
Decay
Attack Range:
800
Attack CD:
2
Damage:
1361-2361
Status:
Approved

Description:

A mighty Kodo beast that will sometimes devour units to strengthen nearby allies and lets fall some dung in a close area.
Devour
On attack the Kodo has a 6% chance to take a bite out of its target dealing 5000 spell damage and increasing the multiplier for bonuses granted by 'Kodo Dung' by 1 for 6 seconds. 

Level Bonus:
+0.1% chance 
+400 spell damage
Kodo Dung - Aura
The dung of this kodo grants towers in 400 range: 
 +10% damage 
 +10% attackspeed 
 +3% critical strike chance 
 +15% critical strike damage 

Level Bonus:
+0.2% damage
+0.2% attackspeed
+0.06% critical strike chance
+0.3% critical strike damage
Download

Toggle Triggers

Header

    globals
        BuffType sir_kodo_aura
        BuffType sir_kodo_devour
    endglobals
    
    private function kodoAuraOnRefresh takes Buff b returns nothing
        local Tower tower = b.getCaster()
        call b.setPower((100 + 2 * tower.getLevel()) * tower.userInt)
    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 sir_kodo_aura = BuffType.createAuraEffectType(true)
        call m.addModification(MOD_ATK_CRIT_CHANCE,0,0.0003)
        call m.addModification(MOD_ATK_CRIT_DAMAGE,0,0.0015)
        call m.addModification(MOD_ATTACKSPEED,0,0.001)
        call m.addModification(MOD_DAMAGE_ADD_PERC,0,0.001)
        call sir_kodo_aura.setBuffModifier(m)
        call sir_kodo_aura.setEventOnRefresh(kodoAuraOnRefresh)
        call sir_kodo_aura.setBuffIcon('@@0@@')
    endfunction

On Attack

ONATTACK_chance: 0.06 ONATTACK_chanceLevelAdd: 0.001
function onAttack takes Tower tower returns nothing
    local integer UID = tower.getUID()
    call tower.doSpellDamage(Event.getTarget(),5000+tower.getLevel()*400,tower.calcSpellCritNoBonus())
    call SFXAtUnit("Abilities\\Spells\\Orc\\Devour\\DevourEffectArt.mdl",Event.getTarget().getUnit())
    set tower.userInt = tower.userInt + 1
    call tower.refreshAuras()
    call TriggerSleepAction(6.0 * tower.getProp_BuffDuration())
    if tower.getUID() == UID then
        set tower.userInt = tower.userInt - 1
        call tower.refreshAuras()
    endif
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
    set tower.userInt = 1 //Kodo devour aura multiplier
endfunction

Tower Aura

AURA_auraEffect: sir_kodo_aura AURA_power: 100 AURA_level: 0 AURA_auraRange: 400 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 1 AURA_powerAdd: 2 AURA_targetSelf: true