Library of Alexandria v1
1500
ID:
480
Family ID:
Author:
Boekie
Rarity:
unique
Element:
astral
Mana:
40
Mana regen:
2
Status:
Approved

Description:

This ancient library uses its knowledge to increase experience gain.
Specials:
+4% mana regen/lvl
Divine Teachings
Adds a buff to the targeted tower which lasts 10 seconds. The buff increases the amount of experience the tower gains by 100%. This tower gains 2 experience every time it casts this buff. 

Level Bonus:
+0.2 seconds duration 
+2% experience gain.

AC_TYPE_ALWAYS_BUFF
 30, 500 range, 5s cooldown
Divine Knowledge
Every 5 seconds this tower grants 2 experience to a random tower in 500 range.

Level Bonus:
+0.2 experience
Divine Research - Aura
Increases the experience gain from creeps in 900 range by 30%. 

Level Bonus:
+1% experience
Download

Toggle Triggers

Autocast

caster_art: Abilities\Spells\Items\AIim\AIimTarget.mdl AUTOCAST_cooldown: 5 AUTOCAST_numBuffsBeforeIdle: 0 AUTOCAST_isExtended: false AUTOCAST_autocastType: AC_TYPE_ALWAYS_BUFF AUTOCAST_manacost: 30 AUTOCAST_range: 500 AUTOCAST_buffType: boekie_divine2Buff AUTOCAST_targetSelf: false AUTOCAST_targetType: TARGET_TYPE_TOWERS target_art: Abilities\Spells\Other\Charm\CharmTarget.mdl AUTOCAST_autoRange: 500
private function onAutocast takes Tower tower returns nothing
    call tower.addExp(2)
    call boekie_divine2Buff.apply(tower,Event.getTarget(),tower.getLevel()) //if there is anything inside this function, the buff has to be applied manually
endfunction

Header

    globals
        BuffType boekie_divine_aura
        BuffType boekie_divine2Buff
    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 m = Modifier.create()
        set boekie_divine_aura = BuffType.createAuraEffectType(true)
        call m.addModification(MOD_EXP_GRANTED,0.30,0.01)
        call boekie_divine_aura.setBuffModifier(m)
        call boekie_divine_aura.setBuffIcon('@@0@@')
        
        set m = Modifier.create()
        set boekie_divine2Buff = BuffType.create(10.00, 0.2, true)  
        call m.addModification(MOD_EXP_RECEIVED, 1.00, 0.02)  
        call boekie_divine2Buff.setBuffModifier(m)
        call boekie_divine2Buff.setBuffIcon('@@1@@')
    endfunction

Periodic

PERIODIC_period: 5
function periodic takes Tower tower returns nothing
    local Iterate inRange = Iterate.overUnitsInRangeOfCaster(tower,TARGET_TOWERS,500) 
    local integer numResults = 0
    local Unit result = 0
    local Unit next
    local integer lvl = tower.getLevel()
    local unit u
    
    set result = inRange.nextRandom()

    if result != 0 then
        call result.addExp(2 + lvl * 0.2)
        set u = result.getUnit()
        call SFXAtUnit("Abilities\\Spells\\Human\\Invisibility\\InvisibilityTarget.mdl", u)
        set u = null
        call inRange.destroy()
    endif 
endfunction

Tower Aura

AURA_auraEffect: boekie_divine_aura AURA_power: 0 AURA_level: 0 AURA_auraRange: 900 AURA_targetType: TARGET_TYPE_CREEPS AURA_levelAdd: 1 AURA_powerAdd: 1 AURA_targetSelf: false