Particle Accelerator v1
600
ID:
400
Family ID:
Author:
the_red_terror
Rarity:
rare
Element:
iron
Attack Type:
Energy
Attack Range:
900
Attack CD:
1
Damage:
426-426
Abil. Factor:
0.72
Status:
Approved

Description:

Gains speed and damage on each attack, while losing the bonus on kill.

Latest Upload Comment:

Restored from 1.10
Energy Acceleration
Every attack increases attack speed and damage by 2%. 

Level Bonus:
+0.1% attack speed and damage
Errant Tachyons
On kill, this tower is stunned for 2 seconds and the bonus from Energy Acceleration is lost.
Download

Toggle Triggers

Header

            globals
        MultiboardValues Red_Terror_Values
    endglobals
        


    
    //Do not remove or rename this function!
    //Put your initialization tasks here, this function will be called on map init

    //@export
        function redterror_energy_rotation takes Tower tower returns nothing
            call Effect(tower.userInt2).setAnimationSpeed(0.5+(tower.userReal/2))
        endfunction
    
    private function init takes nothing returns nothing
            set Red_Terror_Values = MultiboardValues.create(1)
            call Red_Terror_Values.setKey(0, "Acceleration")
    endfunction
        

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
            
local integer lvl = tower.getLevel()
        call tower.modifyProperty(MOD_DAMAGE_ADD_PERC,0.02+(lvl*0.001))
        call tower.modifyProperty(MOD_ATTACKSPEED,0.02+(lvl*0.001))
        set tower.userReal = tower.userReal+(0.02+(lvl*0.001))
            call redterror_energy_rotation(tower)
        
endfunction

On Kill

function onKill takes Tower tower returns nothing
            
local integer lvl = tower.getLevel()
            call  SFXAtUnit("Abilities\\Spells\\Orc\\FeralSpirit\\feralspiritdone.mdl",Event.getTarget().getUnit())
                call tower.modifyProperty(MOD_DAMAGE_ADD_PERC,-(tower.userReal))
                call tower.modifyProperty(MOD_ATTACKSPEED,-(tower.userReal))
                call cb_stun.applyOnlyTimed(tower,tower,2)
                set tower.userReal = 0
                    call redterror_energy_rotation(tower)
//different SFX?
        
endfunction

On Tower Creation

function onCreate takes Tower tower returns nothing
            
local Effect e = Effect.createAnimatedScaled("Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdl",tower.getX(), tower.getY(), 8.0, 0.0, 1.50)
    set tower.userInt2 = e
    set tower.userReal = 0
    call redterror_energy_rotation(tower)
        
endfunction

On Tower Destruction

function onDestruct takes Tower tower returns nothing
            
local Effect e = tower.userInt2
    call e.destroy()
        
endfunction

On Tower Details

goldcost: 0
function onTowerDetails takes Tower tower returns MultiboardValues
            
call Red_Terror_Values.setValue(0, R2SW((tower.userReal*100),1,1))
        return Red_Terror_Values
        
endfunction