Scroll of Strength v1
500
lvl: 18

ID:

272

Author:

Boekie

Rarity:

rare

Status:

Approved

Description:


Latest Upload Comment:

Restored from 1.10
Strength Boost
Upon activation, towers in 350 range receive 10% bonus base damage for 4 seconds. Costs 1 charge.
Recharge
Regenerates 3 charges every 40 seconds up to a maximum of 10 charges.
Download

Toggle Triggers

Autocast

AUTOCAST_cooldown: 4 AUTOCAST_autoRange: 1000 AUTOCAST_manacost: 0 goldcost: 500 AUTOCAST_range: 0 AUTOCAST_targetType: 0 AUTOCAST_numBuffsBeforeIdle: 0 caster_art: target_art: AUTOCAST_autocastType: AC_TYPE_OFFENSIVE_IMMEDIATE AUTOCAST_buffType: 0 AUTOCAST_isExtended: false AUTOCAST_targetSelf: true
local Tower tower=itm.getCarrier()
local integer lvl = tower.getLevel()
local Iterate it
local Unit next
if itm.userInt > 0  then
    set it = Iterate.overUnitsInRangeOfCaster(tower, TARGET_TOWERS, 350)
    loop
            set next = it.next()
            call boekie_scroll_damage.applyCustomTimed(tower,next,lvl*2,4.0)
            exitwhen next == 0
    endloop
    set itm.userInt=itm.userInt-1    
endif
    
    call itm.setCharges(itm.userInt)  
    call TriggerSleepAction(0.1)  
    call itm.setCharges(itm.userInt) 
    

Header

goldcost: 0
    globals
    BuffType boekie_scroll_damage
    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() 
    call m.addModification(MOD_DAMAGE_BASE_PERC,0.1,0) 
    set boekie_scroll_damage = BuffType.create(0.0,0.0,true) //0.0 time since I will apply it custom timed 
    call boekie_scroll_damage.setBuffModifier(m)  
    call boekie_scroll_damage.setBuffIcon('@@0@@')  
    endfunction

On Item Creation

goldcost: 0
function onCreate takes Item itm returns nothing
    call itm.setCharges(10)
    //The item will use the userInt for charges, cause charges are bugged.
    set itm.userInt=10
endfunction

Periodic

goldcost: 0 PERIODIC_period: 40
function periodic takes Item itm returns nothing
set itm.userInt = itm.userInt + 3
if itm.userInt >= 11 then
set itm.userInt = 10
endif   
   
call itm.setCharges(itm.userInt)  
call TriggerSleepAction(0.1)  
call itm.setCharges(itm.userInt) 
endfunction