Mud Golem v1
3000
ID:
47
Family ID:
Author:
SirCoqaLot.
Rarity:
unique
Element:
nature
Attack Type:
Decay
Attack Range:
750
Attack CD:
2.2
Damage:
2327-2734
Abil. Factor:
0.20
Status:
Approved

Description:

Advanced nature tower that will deal damage in an AoE around itself and will slow damaged targets. Also gives nearby towers a chance to deal damage and slow targets in an AoE around iteself.

Latest Upload Comment:

Restored from 1.10
Specials:
Attacks GROUND only
Ground Smash
On damage this tower deals 4300 decay damage to all creeps in 750 range around it, slowing them by 60%  for 0.5 seconds.

Hint: The damage of this ability is improved by spell damage.

Level Bonus:
+230 damage 
+0.012 seconds slow duration 
+50 range at level 25.
Earthquake Aura
Towers in 150 range around the Mud Golem have a 3% attackspeed adjusted chance on attack to trigger Ground Smash.

Level Bonus:
+0.04% chance
Download

Toggle Triggers

Header

    globals
    BuffType sir_golem_slow
    BuffType sir_golem_aura
    endglobals
    
    
    function smash takes Tower tower returns nothing
    local integer level = tower.getLevel()
    local Iterate i
    local Creep u
    
     if level == 25 then
            set i = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,800)
        else
            set i = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TYPE_CREEPS,750)
      endif
   
        loop
            set u = i.next()
            exitwhen u == 0
            if u.getSize() != SIZE_AIR then
                call sir_golem_slow.applyCustomTimed(tower,u,600,0.5+level*0.012)
                call tower.doAttackDamage(u,(4300+level*230)*tower.getProp_SpellDmgDealt(),tower.calcSpellCritNoBonus())
            endif
        endloop
    
    endfunction
      
    private function aoeOnAtk takes Buff b returns nothing
    local Tower tower = b.getCaster()
    local Tower buffed = b.getBuffedUnit()
    
    if buffed.calcChance((0.03+0.0004*tower.getLevel())*buffed.getBaseAttackspeed()) then
        call smash(tower)
    endif
    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() 
    call m.addModification(MOD_MOVESPEED,0,-0.001) 
    set sir_golem_slow = BuffType.create(0,0,false) // apply custom timed  
    set sir_golem_aura = BuffType.createAuraEffectType(true)
    call sir_golem_slow.setBuffIcon('@@0@@')
    call sir_golem_aura.setBuffIcon('@@1@@')
    call sir_golem_slow.setBuffModifier(m) 
    call sir_golem_slow.setStackingGroup("sirGolemSlow")
    call sir_golem_aura.addEventOnAttack(EventHandler.aoeOnAtk,1,0)
    endfunction

On Damage

ONDAMAGE_chance: 1.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing
    call smash(tower)   
endfunction

Tower Aura

AURA_auraEffect: sir_golem_aura AURA_power: 0 AURA_level: 0 AURA_auraRange: 150 AURA_targetType: TARGET_TYPE_TOWERS AURA_levelAdd: 0 AURA_powerAdd: 0 AURA_targetSelf: true