Buried Soul v1
80
ID:
376
Family ID:
Author:
SirCoqaLot.
Rarity:
uncommon
Element:
darkness
Attack Type:
Magic
Attack Range:
1200
Attack CD:
1
Damage:
10-71
Abil. Factor:
0.63
Status:
Approved

Description:

A tricky tower that may weaken its target temporarily but also itself

Latest Upload Comment:

Restored from 1.10
Soul Scattering
10% chance on attack to reduce its own attackspeed by 60% and make the target receive 40% more spell damage. Both effects last 2.5 seconds.

Level Bonus:
+1% attackspeed 
+0.32% spell damage received
Shadowstrike
This tower has a 25% chance on attack to deal 80 spell damage. 

Level Bonus:
+4 spell damage 
+0.5% chance
Download

Toggle Triggers

Header

    globals
        //@export
        BuffType sir_cripple
        //@export
        BuffType sir_banish
        
    endglobals
    
    private function init takes nothing returns nothing
        
        local Modifier banish = Modifier.create()
        local Modifier cripple = Modifier.create()
        
        set sir_cripple=BuffType.create(0.0,0,false)
        set sir_banish=BuffType.create(0.0,0,false)
        call sir_cripple.setBuffIcon('@@1@@')
        call sir_cripple.setSpecialEffectSimple("Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl")
        call sir_banish.setBuffIcon('@@0@@')
        call banish.addModification(MOD_SPELL_DAMAGE_RECEIVED,0.0,0.0001)        
        call cripple.addModification(MOD_ATTACKSPEED,-0.6,0.01)
        call sir_cripple.setBuffModifier(cripple)
        call sir_banish.setBuffModifier(banish)
        
    endfunction

On Attack

ONATTACK_chance: 1.0 ONATTACK_chanceLevelAdd: 0.0
function onAttack takes Tower tower returns nothing
    local integer lvl = tower.getLevel()
    local Creep creep = Event.getTarget()
    if tower.calcChance(0.1) then
        call sir_banish.applyCustomTimed(tower,creep,R2I((40+0.32*lvl)*100),2.5)
        call sir_cripple.applyCustomTimed(tower,tower,lvl,2.5)
    endif
    if tower.calcChance(.25 + 0.005 * lvl) then
        call tower.doSpellDamage(creep,80+tower.getLevel()*4,tower.calcSpellCritNoBonus())
        call SFXOnUnit("Abilities\\Spells\\Undead\\DeathPact\\DeathPactTarget.mdl",creep.getUnit(),"origin")
    endif
endfunction

On Damage

ONDAMAGE_chance: 0.0 ONDAMAGE_chanceLevelAdd: 0.0
function onDamage takes Tower tower returns nothing

endfunction